《数据库技术》课件第10章 表及约束3.0.pptx
《《数据库技术》课件第10章 表及约束3.0.pptx》由会员分享,可在线阅读,更多相关《《数据库技术》课件第10章 表及约束3.0.pptx(37页珍藏版)》请在三一文库上搜索。
1、10表及约束表及约束创建简单的表创建简单的表 create table t(a int,b char(15);create table t(a int,b char(15)tablespace tbs 普通用户创建表,并未分配空间 添加记录时,才对表分配空间2015-813-2Oracle数据库系统原理数据库系统原理-第第13章章 位图索引位图索引约束约束 主键(primary key)列值不能为空也不能重复。唯一(unique)外键(foreign key)列值要匹配于其指向的主表的相应列值。检查(check)列值的限制条件。非空(not null)默认(default)添加记录时,若未指定
2、列值,则取默认约束中的值。2015-810-3Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束附加约束的位置附加约束的位置 列级约束 表级约束2015-810-4Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束附加约束的各种语法形式附加约束的各种语法形式 列级约束,未指定名称SQL create table t1 2 (3 a int primary key,4 b int 5 )6 /列级约束,指定名称SQL create table t2 2 (3 a int constraint pk_test primary key,4 b int 5
3、)6 /2015-810-5Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束附加约束的各种语法形式附加约束的各种语法形式 表级约束,未指定名称SQL create table t3 2 (3 a int,4 b int,5 primary key(a)6 )7 /表级约束,指定名称SQL create table t4 2 (3 a int,4 b int,5 constraint pk_test primary key(a)6 )7 /2015-810-6Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束几点主意几点主意 多列复合主键或多列唯一约
4、束只能使用表级约束。列级检查约束不能出现其他列名,表级检查约束可以引用表中任何列。非空约束只能附加在列级而不能附加在表级。2015-810-7Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束Check约束示例约束示例SQL create table t6 2 (3 a int primary key,4 b int,5 constraint ck_test check(b10)6 )7 /2015-810-8Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束外键约束示例外键约束示例 创建主表p,a列为主键SQL create table p(a i
5、nt primary key,b int);对c表的y列附加表级外键约束SQL create table c3 2 (3 x int,4 y int,5 constraint fk_c foreign key(y)references p(a)6 )7 /2015-810-9Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束外键的约束作用外键的约束作用 c表中的y列的值要匹配于p表中a列的值。p表中被引用到的记录不能删除,被引用的a列的值也不能修改。2015-810-10Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束附加外键时的附加外键时的on
6、delete子句子句 on delete cascade 子表中的对应记录会被级联删除。on delete set null 把外键值设置为null。Oracle不支持on update子句2015-810-11Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束附加附加on delete子句子句SQL create table c5 2 (3 x int primary key,4 y int,5 foreign key(y)references p(b)6 on delete cascade -或set null 7 )8 /2015-810-12Oracle数据库系统
7、原理数据库系统原理-第第10章章 表及约束表及约束对表增加约束对表增加约束 表级形式 alter table table_name add constraint constraint_name costraintt_clause 列级形式 alter table table_name modify column_name constraint constraint_name constraint_clause2015-810-13Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束对表增加约束示例对表增加约束示例 emp表的sal列增加检查约束 alter table em
8、p add constraint ck_sal check(sal alter table emp modify sal null;2015-810-15Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束禁用和启用约束禁用和启用约束 禁用约束alter table emp disable constraint fk_deptno;启用约束alter table emp enable constraint fk_deptno;启用时不检查原数据alter table emp enable novalidate constraint fk_deptno;启用时检查原数据(默认
9、)alter table emp enable validate constraint fk_deptno;2015-810-16Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束查询约束信息查询约束信息 查看用户自己的约束 user_constraints user_cons_columns system用户查看数据库中的任何约束 dba_constraints dba_cons_columns 注意:两者的区别是xxx_constraints不包含列的信息2015-810-17Oracle数据库系统原理数据库系统原理-第第10章章 表及约束表及约束修改表的结构修改表的
10、结构 修改表名 alter table dept rename to department;rename department to dept;修改列名 alter table dept rename column loc to location;添加列 alter table dept add phone_number char(12)删除列 alter table dept drop column phone_number 修改列类型 alter table dept modify(deptno number(3),loc varchar2(20);2015-810-18Oracle数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 数据库技术课件第10章 表及约束3.0 课件 10 约束 3.0
链接地址:https://www.31doc.com/p-21713267.html