3.1.5 数据库设计的完整性

使用数据库约束就是保证数据库完整性的方法。数据库设计的完整性实际上就是为了保证数据的正确性。为了保证数据的正确性,在Oracle 11g中涉及的完整性主要有3个,即实体完整性、区域完整性、参照完整性。

1.实体完整性

实体完整性要求表中的主键字段都不能为空或者重复的值。例如,在学校里每个学生的学号是唯一的,银行卡的卡号也是唯一的,每个人的身份证号码都是唯一的等。

2.区域完整性

区域完整性是保证输入到数据库中的数据是在有效范围内的,可以使用3.1.4小节中讲的检查约束来设置。例如,输入邮箱的字段要求要有@,输入身份证号码要有15位或18位,输入年龄只能是数字,输入姓名不能有字母等。

3.参照完整性

参照完整性可以保证数据库中相关联的表里面数据的正确性,使用用3.1.4小节讲的外键约束就可以保证参照完整性。确保数据表的参照完整性,就可以避免误删和错加数据。例如,学生选课,如果学生已经选修了某门课程,但是管理员错误地把学生选的课程删除了,那么就会造成学生选修了课程但是无法上课,使用参照完整性设计数据表就会避免类似问题的发生。