一. 数据完整性分为四类:
实体完整性
:规定表的每一行在表中是惟一的实体。域完整性
:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。参照完整性
:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。用户定义的完整性
:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。
二. 完整性约束的类型:
可分为三种类型:与表有关的约束、域(Domain)约束、断言(Assertion)
与表有关的约束
:是表中定义的一种约束。可在列定义时定义该约束,此时称为列约束,也可以在表定义时定义约束,此时称为表约束。域约束
:在域定义中被定义的一种约束,它与在特定域中定义的任何列都有关系。断言
:在断言定义时定义的一种约束,它可以与一个或多个表进行关联。
1. 与表有关的约束:
包括 列约束(表约束+NOT NULL)和
表约束(PRIMARY KEY、foreign key、check、UNIQUE)
(1) not null(非空)约束: 只用于定义列约束。
语法如下: Colunm_name datatype | domain not null
实例: create table Employee(emp_id int not null,emp_name varchar(10) not null)
(2) unique(惟一)约束&#x