其实,你直接查书就行了。
数据库的完整性约束分三种:实体完整性约束,参照完整性约束,用户定义完整性约束。
实体完整性:如果属性M是关系R的主属性,则M不能取空值。
(大致意思就是,表中主键的值不能为空)·
参照完整性:如果属性M是关系R的外码,则M取值,要么为空,要么等于所参照表主码值。(大致的意思是,表中外键的值要和所连接的表的主键的值保持一致,不能保持一致的时候,要把外键值设为空)
用户定义完整性:用户针对某一具体关系自定义的完整性约束条件。分三种情况,列值非空(not null),列值唯一(unique),检查列值是否满足一个布尔表达式(check)
create table student(
sno int primary key, --主码,实体完整性,主码不为空
courseno int foreign key references course, --外码,参照完整性
coursename nvarchar(50) not null,--用户定义完整性,课程名不为空
sname nvarchar(50) unique,--用户定义完整性,学生名唯一
sage int,
check(sage>0 and sage<100)--用户定义完整性,检查学生年龄是否在正常范围内(0-100)
)
数据库完整性约束的主要作用就是保证数据的正确性和相容性。
比如,你的数据库中如果有年龄项,你要保证它不为负,有性别项,你要保证它只能是'男'或'女'等等,总之要保证数据数据符合语义,正确。