oracle管理常用对象_第1页
oracle管理常用对象_第2页
oracle管理常用对象_第3页
oracle管理常用对象_第4页
oracle管理常用对象_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle开发-第七节课 管理常用对象课程目标完成本课程,你可以完成下列任务:学会管理普通表学会管理约束学会管理视图学会管理索引学会管理序列学会管理同义词管理表表是Oracle最基本的对象,是数据库数据存储的基本单元。建立表:CREATE TABLE schema.table_name(column_name datatype DEFAULT expr,);Schema用于指定用户名,DEFAULT 子句用于指定列的默认值。如果指定了默认值,在执行INSERT 语句时,如果不给定默认值的列赋值,则默认值的列将以默认值的方式填值。注:每张表最多可以定义1000个列。管理表使用子查询建立表:CR

2、EATE TABLE table_name (column,column AS subquery;例:CREATE TABLE emp01(name,salary,job,dno) ASSELECT ename,sal,job,deptno FROM emp ;管理表建立临时表:临时用于存放会话或事物的私有数据。临时表包括事务临时表和会话临时表两种:CREATE GLOBAL TEMPORARY TABLE命令建立临时表,ON COMMIT DELETE ROWS(默认选项)用于指定事务临时表ON COMMIT PRESERVE ROWS 选项用于指定会话临时表。例:CREATE GLOBAL

3、 TEMPORARY TABLE temp1(cola int)ON COMMIT DELETE ROWS;INSERT INTO temp1 VALUES(1);SELECT * FROM temp1; COLA- 1COMMIT;SELECT * FROM temp1;未选定行管理表修改表:1、增加列:ALTER TABLE table_name ADD(column datetype DEFAULT expr);2、修改定义列:ALTER TABLE table_name MODIFY(column datetype DEFAULT expr);3、删除列:ALTER TABLE tab

4、le_name DROP COLUMN coloum;4、修改列名:ALTER TABLE table_name RENAME COLUMN coloum_name TO new_name;5、修改表名:RENAME table_name TO new_name;管理表截断和删除表: 1、当表中的数据不再需要,但表结构需要保留时需要截断表: TRUNCATE TABLE table_name; 2、当表不再需要时,删除: DROP TABLE table_name CASCADE CONSTRAINTSPURGE; PURGE 用于指定彻底删除表。这是oracle10g以后的新特性。 3、恢复

5、删除(闪回): FLASHBACK TABLE table_name TO BEFORE DROP;管理表记住两张系统视图: 1、user_tables 存放当前用户所有表信息的视图。 2、user_objects 存放当前用户所数据库对象视图。约束约束的种类: 1、非空约束 NOT NULL:使表的列不能为空CREATE TABLE temp(tem int not null); 2、唯一约束 UNIQUE:约束列值不能重复,但可以为null。系统会自动建立索引。CREATE TABLE temp(tem int CONSTRAINT con_nameUNIQUE);ALTER TABLE

6、temp ADD CONSTRAINT con_name UNIQUE(colname); 3、主键约束 PRIMARY KEY:不能重复且不能为空。系统会自动建立索引。为了使数据库数据更好的满足业务逻辑规则,可以使用约束、触发器、过程、函数。而约束更便于实现和维护。主键约束定义: a、建列时定义 CREATE TABLE temp (tem int CONSTRAINT t_pk PRIMARY KEY); b、建表时定义 CREATE TABLE temp (tem int,CONSTRAINT con_tem_pk PRIMARY KEY(tem); c、建表后定义 CREATE TAB

7、LE temp(tem int); ALTER TABLE temp ADD CONSTRAINT con_tem_pk PRIMARY KEY(tem);注:一张表最多只能有一个主键约束约束约束4、外键约束: 外键约束要求:设定了外键约束的列,其值必须在主表主键的值中。 a、建立列时定义:CREATE TABLE temp(t int PRIMARY KEY);CREATE TABLE subTemp(s int PRIMARY KEY, t int CONSTRAINT s_fk_t REFERENCES temp(t); b、建立表时定义:CREATE TABLE empcon( emp

8、no Number primary key, ename Varchar2(20), deptno Number, CONSTRAINT empcon_deptno_fk FOREIGN KEY(deptno) REFERENCES deptcon(deptno) ); c、定义表后定义ALTER TABLE empcon ADD CONSTRAINT empcon_deptno_fk FOREIGN KEY(deptno) REFERENCES deptcon(deptno);约束5、检查约束:CHECK 用户表列数据必须要满足的条件。 a、建立列时定义:CREATE TABLE temp(

9、s int PRIMARY KEY, t int CHECK(t in (1,2,3); b、建立表时定义:CREATE TABLE temp(s int PRIMARY KEY, t int, CONSTRAINT t_Ck CHECK(t10); c、定义表后定义ALTER TABLE empcon ADD CONSTRAINT empcon_deptno_ck check(t20);维护约束1、增加约束:如果增加not null约束使用:ALTER TABLE tab MODIFY col NOT NULL;如果是增加UNIQUE、PRIMARY KEY、FOREIGN KEY、CHEC

10、K约束:ALTER TABLE tab ADD CONSTRAINT c_name CON_TYPE (column); a、ALTER TABLE temp MODIFY name not null; b、ALTER TABLE ADD CONSTRAINT t_Ck UNIQUE(name); c、ALTER TABLE empcon ADD PRIMARY KEY(name); d、ALTER TABLE empcon add name varchar2 REFERENCESdept(dname); e、ALTER TABLE empcon ADD CHECK(sal between 8

11、00 to5000);维护约束2、修改约束名: 约束是ORACLE中的对象,在同一个用户中是不允许相同的。 修改:ALTER TABLE tab RENAME CONSTRAINT old_cK TOnew_ck;3、删除约束: ALTER TABLE tab DROP CONSTRAINT c_name|PRIMARY KEYCASCADE4、禁止约束 ALTER TABLE tab DISABLE CONSTRAINT c_name CASCADE5、激活约束 ALTER TABLE tab ENABLE CONSTRAINT c_name; 查看约束1、查看指定表的约束: 当定义和增加约

12、束是,oracle 会将约束信息存放在数据字典中,通过 视图 USER_CONSTRAINTS 查看 select constraint_name,constraint_type from user_constraints where table_name=EMP;2、查看指定约束的表列: 当定义和增加约束时,oracle 会将约束信息存放在数据字典中,通过 视图 USER_CONS_COLUMNS 查看 select column_name from user_cons_columns where constraint_name=id_pk; 管理视图视图是一张或多张表的逻辑表示,它对应一条

13、select语句,他会随着物理数据的变化而变化。1、建立视图 CREATE VIEW v_name(col1,col2) AS (select ) WITH READ ONLY;2、修改视图 CREATE OR REPLACE VIEW v_name(col1,col2) AS(select ) 3、删除视图: DROP VIEW v_name;4、查看视图信息 USER_VIEWS select text from user_views where view_name=v_name管理索引索引用于加快数据定位的。通过索引,可以大大降低IO次数,提高效率。1、索引的自动建立: 当我们建立主键约

14、束(PRIMARY KEY)和唯一性约束(UNIQUE) 时,系统会给我们自动建立索引(唯一索引)。2、索引的分类: 单列索引和复合索引:单列索引就是索引列为一列,复合索引就是索 引列为多列。 唯一索引和非唯一索引:唯一索引是指索引列的值不重复。非唯一索 引则相反。3、建立索引: CREATE UNIQUE INDEX ind_name ON tab(col,col2);4、删除索引: DROP INDEX ind_name;5、显示索引信息: USER_INDEXES select index_name,uniqueness,status from user_indexeswhere table_name=EMP;管理序列是用来生成唯一数字的数据库对象。也成为序列生成器。1、建立序列: CREATE SEQUENCE no_id START WITH 100 -开始标号INCREMENT BY 1 -增量MAXVALUE 999 -最大值2、使用序列: insert into tab(tid) values(s_name.nextval);3、修改序列: ALTER SEQUENCE s_name INCREMENT BY nMAXV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论