`

Oracle创建表、约束、视图、索引、序列、同义词、表空间

阅读更多
1、建表
    create table userInfo (
       id number(6),
       name varchar2(20),
       sex number(1),
       age number(3),
       birthday date,
       address varchar2(50),
       email varchar2(25),
       tel number(11)
    );

2、创建约束
    不带约束名称的:
    create table userInfo (
       id number(6) primary key,--主键
       name varchar2(20) not null,--非空
       sex number(1),
       age number(3) default 18,
       birthday date,
       address varchar2(50),
       email varchar2(25) unique,--唯一
       tel number(11),
       deptno number(2) references dept(deptno)—外键
    );
  
    带约束名称:
    create table userInfo (
           id number(6) constraint id_pk primary key,
           name varchar2(20) constraint name_nn not null,
           sex number(1),
           age number(3) default 18,
           birthday date,
           address varchar2(50),
           email varchar2(25) constraint email_uqe unique,
           tel number(11),
           deptno number(2) constraint dept_deptno_ref references dept(deptno)
    );

    列模式:
    create table userInfo (
           id number(6),
           name varchar2(20),
           sex number(1),
           age number(3) default 18,
           birthday date,
           address varchar2(50),
           email varchar2(25),
           tel number(11),
           deptno number(2),
           constraint id_pk primary key (id),--也可以两个以上,联合主键
           constraint dept_deptno_ref foreign key (deptno) references dept(deptno),
           constraint emial_name_uqe unique (email, name)
    );
    Alter模式:
        alter table userInfo add(msn varchar2(20));
        alter table userInfo modify(msn varchar2(25));
        alter table userInfo drop(msn);
       
        alter table userInfo drop constraint id_pk;
        alter table userInfo add constraint id_pk primary key (id);

3、创建视图
    create table v$_dept_view
    as
    select deptno, dname from dept;
   
    --重新编译视图
    alter view v$_dept_view compile;
    提示:视图一般是一个表或多个表的查询或子查询,这样可以减少代码量,但同时增加了对数据库视图的维护程度,如:某个表字段被删除或是修改,视图也要重新创建或修改,同时占用了数据库的一部分空间;视图就是一个虚拟的表格;

4、创建索引
    普通索引:create index idx_dpt_dname on dept(dname);
    联合索引:create index idx_dept_dname_deptno on dept(dname, deptno);
    --唯一索引
    create unique index idx_emp_ename on scott.emp(ename);
    --反向键索引
    create index idx_emp_rev_no on scott.emp(empno) reverse;
    --位图索引
    create bitmap index idx_emp_name on scott.emp(dname);
    --索引组织表,一定要有主键
    create table tab (
        id int primary key,
        name varchar2(20)
    )    organization index;
    --索引组织表的insert效率非常低
   
    --分区表索引
    create index idx_name on table(col) local/global;
    --索引分区
    提示:当给表创建主键或唯一键约束时,系统也会创建一个约束给该字段;同样创建索引也会占用数据库空间;索引在访问、查询的时候效率有提高,但是在修改表的时候效率就会降低;

5、创建序列
    create sequence seq;
    select seq.nextval from dual;
    insert into tab values(sql.nextval, ‘music’);

    create sequence seqtab
    start with 2 –从2开始
    increment by 3—每次加3
    nomaxvalue—没有最大值
    minvalue 1—最小值1
    nocycle—不循环
    nocache;--不缓存
   
    --修改序列 ,不能修改起始值
    alter sequence seqtab
    maxvalue 1000;

6、创建同义词
    同义词,顾名思义就是说别名、或是另一个名字。
    create synonym scott_emp for scott.emp;
    create public synonym scott_dept for scott.dept;
   
    select * from scott_emp;
    select * from scott_dept;

7、创建表空间
    create tablespace HooMS
    datafile 'E:\HooMS.dbf'
    size 5M
    autoextend on next 2M maxsize 10M;
   
    --创建用户、分配可以操作表空间
    create user hoo
    identified by hoo
    default tablespace  HooMS
    temporary tablespace temp;
   
    --创建表空间
    create tablespace myMS
    datafile 'c:\myMS.dbf'
    size 1M
    autoextend on;
   
    --扩展表空间--修改表空间大小
    alter database
    datafile 'c:\myMS.dbf'
    resize 2M;
   
    --扩展表空间--添加数据文件
    alter tablespace myMS
    add datafile 'c:\myMS_2.dbf'
    size 1M;
   
    --设置dbf文件自动增长
    alter database
    datafile 'c:\myMS_2.dbf'
    autoextend on next 2M maxsize 4M;
   
    --表空间重命名
    alter tablespace myMS
    rename to hooMS;
   
    --分离表空间(脱机)
    alter tablespace hooMS
    offline temporary;
   
    --归档模式下脱机
    alter tablespace hooMS
    offline immediate;
   
    --使表空间联机
    alter tablespace hooMS online;
   
    --删除无数据的表空间
    drop tablespace hooMS;
   
    --删除带数据的表空间
    drop tablespace hooMS
    including contents;
分享到:
评论

相关推荐

    oracle实验9-10-索引与视图-序列和同义词的创建.doc

    Oracle 实验报告 - 索引、视图、序列和同义词的创建 本实验报告旨在介绍 Oracle 中的索引、视图、序列和同义词的概念和应用。通过实验,掌握创建索引、视图、序列和同义词的命令,并理解它们在数据库中的作用。 一...

    Oracle实验3:视图、序列、同义词和索引.docx

    在Oracle数据库管理中,实验3涉及到了几个关键的数据库对象:视图、序列、同义词和索引。这些元素是构建和管理高效数据库系统的重要组成部分。以下是它们的详细解释和示例: 1. **视图(View)**: 视图是从一个或...

    oracle第13讲使用视图、索引、序列和同义词[定义].pdf

    在第13讲中,我们重点关注了四个核心概念:视图、索引、序列和同义词,这些都是数据库管理和优化的重要工具。 1. 视图(View) 视图是数据库中的一个虚拟表,它是由SQL SELECT语句定义的,基于一个或多个实际表(或...

    oracle 同义词和序列

    本文将详细探讨四个关键概念:索引、视图、同义词和序列。 首先,索引是提升查询性能的关键工具。它们为表的特定列提供额外的数据结构,允许数据库更快地定位和检索数据。创建索引分为两种主要方式:企业管理器和...

    orcle索引_视图序列同义词实验

    ### Oracle索引、视图、序列与同义词实验知识点详解 #### 一、Oracle索引的创建与管理 **1.1 创建普通索引** - **实验目标**:掌握如何在Oracle数据库中为特定列创建索引。 - **实验步骤**:在SCOTT模式下,为`...

    视图同义词序列索引1

    在Oracle数据库中,视图、同义词和序列都是重要的数据管理工具,它们各自有特定的功能和使用场景。 首先,让我们来深入理解视图。视图是基于一个或多个表的虚拟表,它是由SQL查询结果所形成的逻辑表。创建视图的...

    索引序列同义词数据字典PPT学习教案.pptx

    【索引序列同义词数据字典】是一个与数据库管理和优化相关的学习课件,主要讲解了Oracle数据库中的一些关键概念和技术,包括临时表、视图、以及索引的使用。 首先,临时表在Oracle数据库中分为两种类型:事务临时表...

    Sql_Lab4视图、序列、同义词和索引[借鉴].pdf

    **同义词**是Oracle数据库中的一种对象别名,可以指向表、视图、程序、函数等。同义词提供了一种隐藏真实对象名称的方法,方便对象的重命名或修改,而不需要更新所有引用该对象的代码。创建同义词的语法是`CREATE ...

    Sql_Lab4视图、序列、同义词和索引[收集].pdf

    在SQL中,视图、序列、同义词和索引是数据库管理中常见的概念,它们分别用于不同的目的,以提高数据管理和使用的效率。 视图(View)是虚拟表,它根据用户的需求,通过查询实际存在的表来构建。视图中的数据并非...

    ORACLE主要的系统表和系统视图

    - **DBA_OBJECTS/ALL_OBJECTS/USER_OBJECTS**:提供关于数据库中所有对象的信息,包括表、视图、序列、同义词等。 8. **用户和角色** - **DBA_USERS**:提供关于数据库用户的详细信息,包括用户名、默认表空间、...

    数据库开发 Oracle数据库 SQL开发教程 第16章 序列、索引、同义词(共34页).pdf

    Oracle数据库的SQL开发教程涵盖了广泛的主题,其中包括序列、索引和同义词这些重要的数据库对象。在本章中,我们将深入探讨这些概念及其在数据库管理中的应用。 **序列(SEQUENCE)**是Oracle数据库中用于生成唯一...

    Oracle创建视图(View)

    视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。 视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。 视图的优点: 1.对数据库的...

    ORACLE数据字典与视图

    数据字典驻留在 SYSTEM 表空间中,包含了数据库的所有对象的信息,包括表、视图、序列、同义词、索引、约束、触发器等。 视图 ORACLE 视图是一种虚拟表,它基于一个或多个基本表派生而来。视图可以用来简化复杂的...

    视图与查询oracle

    本文将详细讲解Oracle中的几个关键概念:视图、索引、同义词和序列,以及它们在查询优化和数据管理中的作用。 首先,我们来谈谈索引。索引是一种特殊的数据库结构,它能够显著提升查询速度。Oracle支持多种类型的...

    6索引视图序列同义词锁数据字典动态视图笔记.sql

    小白必看!

    Oracle系统表汇总.docx

    数据库对象是Oracle数据库中的一种基本单元,包括表、索引、视图、序列、同义词、触发器等。数据库对象管理是Oracle数据库管理系统的重要组件,用于管理数据库对象的创建、修改、删除等操作。通过dba_objects视图,...

    Oracle数据库用户、表、表空间之间关系.doc

    模式对象是Oracle数据库中用户创建的各种应用对象,如表、索引、视图、序列、同义词、存储过程等。每个模式对象都在某个表空间内占用一定的存储空间,这可以理解为文件夹中的文件,而文件夹代表数据文件,抽屉代表表...

    Oracle_系统表大全.docx

    Oracle 系统表大全提供了 Oracle 数据库管理系统中所有的系统表信息,可以帮助数据库管理员更好地管理数据库对象、用户、表空间、表、索引、视图、序列、聚簇、快照、同义词、数据库链和触发器等。

Global site tag (gtag.js) - Google Analytics