oracle 数据完整性

前端之家收集整理的这篇文章主要介绍了oracle 数据完整性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

24173756-80f83471d57e432fb984ce39e1290d6

@H_301_6@


@H_301_6@

数据完整性分类@H_301_6@

1. 域完整性@H_301_6@

域完整性又称为列完整性,指定一个数据集对某一个列是否有效和确定是否允许空值。@H_301_6@

2. 实体完整性@H_301_6@

实体完整性也可称为行完整性,要求表中每一行有一个唯一的标识符,即primary key。
@H_301_6@

3. 参照完整性@H_301_6@

又称之为引用完整性。
@H_301_6@


@H_301_6@

主键和唯一键的主要区别:@H_301_6@

(1) 一个数据表只能创建一个主键约束,但可以创建若干个唯一键。@H_301_6@

(2)主键字段值不允许为空,而唯一键可以。@H_301_6@

相同点:@H_301_6@@H_301_6@

两者均不允许表中的对应字段存在重复值,在创建主键和唯一键约束时会自动产生索引。@H_301_6@

列级定义:@H_301_6@

列级定义指在定义列的同时定义约束@H_301_6@。

表级定义:@H_301_6@

指在定义完所有列之后定义约束。@H_301_6@

创建表时添加主键:@H_301_6@

1
sql> create table table_name(field_name char (8) primary key );

@H_301_6@创建表时添加外键:@H_301_6@

references table_name2(field_name2));

其中 table_name2是要引用的表名,field_name2是table_name2中对应的主键,且 field_name 与field_name2数据类型必须完全一样。@H_301_6@

如果在建表时忘记添加约束,则可以用alter table命令为表添加约束。但是要注意,增加NOT NULL时用modify选项,增加primary key、unique、foregin key、check时用add选项。@H_301_6@

增加NOT NULL:@H_301_6@

alter table_name modify field_name not null ;

@H_301_6@增加unique:@H_301_6@

add constraint constraint_name unique (field_name);

或者:@H_301_6@

@H_301_6@

增加primary key:@H_301_6@

( 增加foreign key:@H_301_6@

1
2
foreign (field_name1)
table_name2(field_name2);

(field_name1) references

删除约束:@H_301_6@

drop constraint_name;

或者:@H_301_6@

(field_name);

删除主键约束时,可能产生错误,这是因为两张表存在主从关系,那么在删除主键约束时,必须加上cascade。@H_301_6@

key cascade ;
原文链接:https://www.f2er.com/oracle/209794.html

猜你在找的Oracle相关文章