`

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;
分享到:
评论

相关推荐

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

    小白必看!

    21天学通Oracle_学习笔记.docx

    Oracle 数据表对象是 Oracle 数据库的基本组件,包括表、索引、视图、序列、同义词等。 表是 Oracle 数据库的基本存储结构,索引是提高查询效率的数据结构,视图是虚拟的表结构,序列是自动增长的数字列,同义词是...

    oracle学习笔记(从入门到精通)

    06-同义词和序列学习笔记.txt 07-视图和索引学习笔记.txt 08-PLSQL和游标结合学习笔记.txt 09-游标学习笔记.txt 10-重要的函数的学习笔记.txt 11-存储过程学习笔记.txt 12-触发器学习笔记.txt 13-pl编码.txt

    Oracle数据库学习笔记 四

    本篇笔记主要探讨了Oracle数据库中的一些关键概念,包括数据定义语言(DDL)、锁机制、分区、同义词、序列、视图以及索引。 1. **数据定义语言 (DDL)**: DDL是SQL的一部分,用于创建和修改数据库对象,如表格、视图...

    oracle所有知识点笔记(全)

    这是我自己学习oracle的时候,写的代码案例和笔记,基本上每一个知识点都写的很清楚!大家可以作为参考!...运算符,多表联查,排序,组函数,序列,索引,同义词, 约束,创建和管理表,单行函数,过滤数据等等

    Oracle 10g 学习笔记

    ├─08 序列同义词 │ sequence.sql │ ├─09 用户管理 │ user.jpg │ user.sql │ ├─10 嵌套表 可变数组 │ createType.sql │ ├─11 PLSQLl语法 │ plsql.sql │ ├─12 索引 │ index.sql │ ├─13 ...

    Oracle数据库学习笔记

    Oracle数据库学习笔记,包括课程PPT(数据库基础,简单查询,单行多行函数,多表连接,子查询,高级子查询,集合运算,层次查询,DML与事务控制,数据库的网络连接,创建维护表,约束,视图,序列索引和同义词,用户...

    Oracle 超强学习笔记

    Oracle数据库包含多种对象,如表、视图、索引、序列、同义词、存储过程和触发器等。理解这些对象的创建、修改和删除操作是数据库管理的重要部分。 6. **数据库安全** Oracle提供了精细的权限和角色机制,通过...

    oracle随堂笔记

    4. **数据库对象**:Oracle支持多种数据库对象,如表、索引、视图、序列、同义词、存储过程、函数、触发器和包。每个对象都有其特定的作用和使用场景。 5. **数据类型**:Oracle提供了丰富的数据类型,如CHAR、...

    Oracle 笔记.docx

    - **同义词**:用于简化对象名或隐藏对象的实际位置。 - **索引**:加快数据检索速度。 - **网络配置**:设置监听器和网络服务名,以便远程访问数据库。 - **嵌套表与可变数组**:用于存储多值字段的数据结构。 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    oracle培训18天老师笔记

    5. **数据库对象**:包括视图、序列、同义词、存储过程、函数、触发器等,这些对象在数据库设计和管理中的作用和创建方法。 6. **数据库安全**:涉及用户管理、权限和角色的分配、权限的继承和撤销,以及审计功能。...

    韩顺平j2ee-玩转oracle10g学习笔记

    4. **数据库对象**:包括视图、序列、同义词、分区表等,这些都是数据库设计中的重要元素。 5. **数据控制**:权限和角色的管理,如何为用户授予权限,以及如何通过角色进行权限的集中管理。 6. **备份与恢复**:...

    oracle 详细讲解教程

    Oracle的详细介绍包括其软件体系结构、数据库基础、SQL语法、数据字典、数据类型、体系结构、数据操作语言(DDL)、数据操作语言(DML)、约束、视图、索引、序列、同义词、PL/SQL编程、游标、存储过程、触发器、事务...

    Oracle学习笔记

    - **同义词管理**:用于创建和管理同义词的对象,同义词可以作为另一个对象的别名。 - **序列管理**:用于管理和维护序列的命令,如`CREATE SEQUENCE`、`ALTER SEQUENCE`等。 - **视图管理**:包括创建、修改和...

    oracle最全学习笔记(个人总结)

    - **同义词**:数据库对象的别名。 - 方便访问数据库对象。 - 提供了一种对对象名称进行隐藏的方法。 - **触发器**:在特定事件发生时自动执行的一组SQL语句。 - 用于实现数据完整性约束。 - 支持更复杂的业务...

Global site tag (gtag.js) - Google Analytics