列级完整性约束条件与表级完整性约束条件有什么不同?
1个回答
展开全部
建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由DBMS自动检查该操作是否违背这些完整性约束条件。如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。
例1 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。
CREATE TABLE Student
(Sno CHAR(5)NOT NULL UNIQUE, /*列级完整性约束条件,Sno取值唯一,
Sname CHAR(20)UNIQUE, 不许取空值*/
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
常用完整性约束:
主码约束: PRIMARY KEY
唯一性约束:UNIQUE
非空值约束:NOT NULL
参照完整性约束
例1 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。
CREATE TABLE Student
(Sno CHAR(5)NOT NULL UNIQUE, /*列级完整性约束条件,Sno取值唯一,
Sname CHAR(20)UNIQUE, 不许取空值*/
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
常用完整性约束:
主码约束: PRIMARY KEY
唯一性约束:UNIQUE
非空值约束:NOT NULL
参照完整性约束
参考资料: http://hi.baidu.com/%D2%BB%B8%F6%CE%DE%D6%AA%B5%C4%C3%CE/blog/item/125b8197380fe3057bf48086.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询