1实体完整性检查1在STUDENT表中插入一条学生记录其中插入的学号值为表中已存在的一个学号值执行语句查看结果。2在SC表中插入一条学生选课记录学号值为空或课程号值为空执行语句查看结果。2参照完整性检查1在SC表中插入一条学生选课记录插入的学号值为STUDENT表中没有的一个学号或插入的课程号的值为COURSE表中没有的一个课程号。2修改STUDENT表中某一学生的学号值该学生在SC表中有选课记录
1.实体完整性检查: (1)执行语句:INSERT INTO STUDENT VALUES('001','张三', '男', '1999-01-01', '计算机科学与技术'); 结果:插入失败,提示错误信息:违反了 PRIMARY KEY 约束 'PK__STUDENT__3213E83F5F7E3A5B'。不能在对象 'dbo.STUDENT' 中插入重复键。重复键值为 (001)。 说明:该表的主键为学号,插入重复的学号会违反主键约束,插入失败。
(2)执行语句:INSERT INTO SC VALUES('001', 'C001', NULL); 结果:插入失败,提示错误信息:违反了 NOT NULL 约束 'FK__SC__COURSENO__3C69FB99'。不能将 NULL 值插入列 'COURSENO',表 'dbo.SC',列不允许有空值。INSERT 失败。 说明:该表的课程号列不允许为空,插入空值会违反 NOT NULL 约束,插入失败。
2.参照完整性检查: (1)执行语句:INSERT INTO SC VALUES('005', 'C001', 80); 结果:插入失败,提示错误信息:违反了 FOREIGN KEY 约束 'FK__SC__SNO__398D8EEE'。无法在表 "dbo.SC" 中插入重复键。该键值为 (005)。 说明:该表的学号列是参照 STUDENT 表的主键,插入不存在的学号会违反外键约束,插入失败。
(2)执行语句:UPDATE STUDENT SET SNO='002' WHERE SNO='001'; 结果:修改失败,提示错误信息:违反了 FOREIGN KEY 约束 'FK__SC__SNO__398D8EEE'。无法在表 "dbo.SC" 中更新或删除外键约束 "FK__SC__SNO__398D8EEE",因为它所引用的参考键值尚未存在或尚未定义完整性。 说明:该表的学号列是参照 SC 表的外键,修改学号会导致外键约束失效,修改失败。
3.用户自定义完整性检查: (1)执行语句:INSERT INTO STUDENT VALUES('002','李四', '男', '1970-01-01', '计算机科学与技术', 50); 结果:插入失败,提示错误信息:自定义完整性检查约束 'CK_STUDENT_AGE',插入失败。 说明:该表的年龄值不能大于等于40,插入大于等于40的值会违反自定义完整性检查约束,插入失败。
(2)执行语句:INSERT INTO SC VALUES('002', 'C001', 120); 结果:插入失败,提示错误信息:自定义完整性检查约束 'CK_SC_GRADE',插入失败。 说明:该表的成绩值不能大于100,插入大于100的值会违反自定义完整性检查约束,插入失败
原文地址: https://www.cveoy.top/t/topic/dcJC 著作权归作者所有。请勿转载和采集!