Oracle-主键约束、唯一约束与外键约束
2013-04-10 19:35
239 查看
1.主键约束: 一个表只能有一个主键约束。主键可以是单个字段,也可以是多个字段。无论是哪种情况,其所有字段都是NOT NULL。
2.Unique约束:一个表可以有多个Unique约束,Unique的字段可以为NULL。
3.主键与Unique:不同点在于一个表只能有一个主键约束,但是可以有多个Unique约束;主键所有字段都是not null,unique可以是null。相同点在于都能保证唯一性。
4.主键、Unique与索引:主键约束与Unique约束默认会成为索引。当主键和Unique有多个字段时,有索引前缀性问题,即where语句中的条件必须有主键或者unique的第一个字段,否则不会使用索引。
5. 外键与主键、Unique:外键必须为另外一张表(父表)的主键或者唯一索引。如果要添加记录,而父表中没有则报错。反之,如果要删除父表中的记录,而子表中有记录,也会报错。但是如果在创建外键约束时,如果使用on delete cascade,则删除父表中数据时,不报错而直接把子表关联的数据删除。如果要删除父表,则需要加上cascade constraints,此时子表的foreign key被去除,表中记录保持不变。
2.Unique约束:一个表可以有多个Unique约束,Unique的字段可以为NULL。
3.主键与Unique:不同点在于一个表只能有一个主键约束,但是可以有多个Unique约束;主键所有字段都是not null,unique可以是null。相同点在于都能保证唯一性。
4.主键、Unique与索引:主键约束与Unique约束默认会成为索引。当主键和Unique有多个字段时,有索引前缀性问题,即where语句中的条件必须有主键或者unique的第一个字段,否则不会使用索引。
5. 外键与主键、Unique:外键必须为另外一张表(父表)的主键或者唯一索引。如果要添加记录,而父表中没有则报错。反之,如果要删除父表中的记录,而子表中有记录,也会报错。但是如果在创建外键约束时,如果使用on delete cascade,则删除父表中数据时,不报错而直接把子表关联的数据删除。如果要删除父表,则需要加上cascade constraints,此时子表的foreign key被去除,表中记录保持不变。
相关文章推荐
- Oracle的主键约束、唯一约束与外键约束
- Oracle-主键约束、唯一约束与外键约束
- Oracle-主键约束、唯一约束与外键约束
- ORACLE约束:主键,外键,非空,唯一,条件
- sql-约束constraint(非空,唯一,主键,外键,检查)自学笔记
- 数据库六大约束用法:主键(primary key)、外键(foreign key)、非空(not null)、默认(default)、检查(check)、唯一(unique)
- 5.oracle建表的时候同时创建主键,外键,注释,约束,索引
- sql-约束constraint(非空,唯一,主键,外键,检查)自学笔记
- ORACLE: 查询(看)表的主键、外键、唯一性约束和索引
- ORACLE中主键约束跟唯一索引之间的关联关系
- oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息
- oracle 建立外键 此列列表的唯一关键字或主键不匹配 解决办法
- Oracle中主键、外键、索引、序列、唯一性约束的创建
- Oracle中主键、外键、索引、序列、唯一性约束的创建
- oracle常用命令--创建表之create命令(包含主键约束,外键约束)
- MySQL--修改数据表5:删除主键约束,唯一约束,外键约束
- oracle 主键 唯一约束 索引
- 数据库-Oracle主键约束和唯一索引的黑与白
- Oracle中主键、外键、索引、序列、唯一性约束的创建
- ORACLE中主键约束跟唯一索引的区别