text: 什么是数据库表的完整性
  实体完整性:主要指表中哪些字段的取值不能为空,比如用来做主键的字段的取值不能为空;
  参照完整性:主要是指设置为外键的这类字段,这类字段的取值必须参照其它表中主键字段的取值而存在，就是说如果被参照的字段不存在的值被插入到这类字段中，这个操作是不被允许的;
  用户自定义完整性:主要指用户为字段定义的取值范围，比如年龄的字段取值必须是大于0的整数
  一、实体完整性(entity integrity) 规则2.1 实体完整性规则 若属性a是基本关系r的主属性，则属性a不能取空值。
  例如在关系“sap(supervisor，speciality，postgraduate)”中，“研究生姓名postgraduate”属性为主码(假设研究生不会重名)，则“研究生姓名”不能取空值。
  例如学生选课关系“选修(学号，课程号，成绩)”中，“学号、课程号”为主码，则“学号”和“课程号”两个属性都不能取空值。
  对于实体完整性规则说明如下: (1)实体完整性规则是针对基本关系而言的。
  如果主属性取空值，就说明存在某个不可标识的实体，即存在不可区分的实体，这与第(2)点相矛盾，因此这个规则称为实体完整性。
  二、参照完整性(referential integrity) 现实世界中的实体之间往往存在某种联系，在关系模型中实体及实体间的联系都是用关系来描述的。
  先来看三个例子。
  三、用户定义的完整性(user-defined integrity) 任何关系数据库系统都应该支持实体完整性和参照完整性。
  例如某个属性必须取唯一值、某些属性值之间应满足一定的函数关系、某个属性的取值范围在 0~100之间等。