3.1.5 数据库设计的完整性
使用数据库约束就是保证数据库完整性的方法。数据库设计的完整性实际上就是为了保证数据的正确性。为了保证数据的正确性,在Oracle 11g中涉及的完整性主要有3个,即实体完整性、区域完整性、参照完整性。
1.实体完整性
实体完整性要求表中的主键字段都不能为空或者重复的值。例如,在学校里每个学生的学号是唯一的,银行卡的卡号也是唯一的,每个人的身份证号码都是唯一的等。
2.区域完整性
区域完整性是保证输入到数据库中的数据是在有效范围内的,可以使用3.1.4小节中讲的检查约束来设置。例如,输入邮箱的字段要求要有@,输入身份证号码要有15位或18位,输入年龄只能是数字,输入姓名不能有字母等。
3.参照完整性
参照完整性可以保证数据库中相关联的表里面数据的正确性,使用用3.1.4小节讲的外键约束就可以保证参照完整性。确保数据表的参照完整性,就可以避免误删和错加数据。例如,学生选课,如果学生已经选修了某门课程,但是管理员错误地把学生选的课程删除了,那么就会造成学生选修了课程但是无法上课,使用参照完整性设计数据表就会避免类似问题的发生。