关系完整性约束
分为: 域完整性 实体完整性 参照完整性 用户定义完整性 域完整性是保证数据库字段取值的合理性。 属性值 应是域中的值,这是 关系模式 规定了的。除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。 包括检查(CHECK)、 默认值 (DEFAULT)、不为空(NOT NULL)、外键(FOREIGN KEY)等约束。 实体完整性(Entity integrity)是指关系的主关键字不能重复也不能取“空值"。 现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟一性标识。在 关系模式 中,以主关键字作为唯一性标识 参照完整性(Referential Integrity)是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。 在学生管理数据库中,如果将选课表作为参照关系,学生表作为被参照关系,以“学号\"作为两个关系进行关联的属性,则“学号\"是学生关系的主关键字,是选课关系的外部关键字。选课关系通过外部关键字“学号’’参照学生关系。 用户定义完整性(user defined integrity)则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由 关系模型 提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。 辨析:将年龄字段值限制在12