关系模型完整性约束包括实体完整性、参照完整性、用户定义的完整性。
在关系模型中,关系完整性主要是指以下三方面:
1、实体完整性。
所谓的实体完整性指的是确保每个记录的主键列(或称“实体标识符”列)都具有唯一性的规则。 实体完整性确保数据库表中不存在重复的记录,从而防止数据冗余和不一致。
2、参照完整性。
是指参照关系中每个元素的外码要么为空(NULL),要么等于被参照关系中某个元素的主码;比如大学新生刚来报道,在学生表里有的学生可能还没来得及分配具体的班,所以这些还未来得及分班的学生在学生表里的班级属性取空值NULL(空值代表“不确定”)。
3、用户定义的完整性。
指对关系中每个属性的取值作一个限制(或称为约束)的具体定义。比如性别属性只能取”男“或”女“,再就是年龄告埋的取值范围,可以取值0-130,但不能取负数,因为年龄不可能是负数。
关系模型的基本术语:
关系:一个关系对应着一个二维表,二维表就是关系名;属性和值域:在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;属性值的取值范围为值域;关系模式:在二维表中的行定义,即对关系的描述称为关系模式。
元组:在二维表中的一行,称为一个元组;分量:元组中的一个属性值;键或者码:如果在一个关系中存在这样的一个属性,使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同,即这些属性的值都能够用来唯一标识该关系的元组。
超键或者超码:如果在关系的一个键中移去某个属性,它仍然是这个关系的键,则称这样的键为关系的超键或者超码;候选键或者候选码:如果在关系的一个键中不能移去任何一个属性,否则它就不是这个关系的键,则称这个被指定的候选键为该关系的候选键或者候选码。