在RDBMS管理的任何数据库中,基本数据表中的数据保持一致是非常重要的。如果数据的一致性遭到破坏,则数据就不能再使用。为了满足这一需求,数据库领域的的先驱们制定了两条完整性规则:
1、实体完整性(entity intergrity):主键中的列不能是空(null)。主键提供了可以惟一地识别一行或者一个实体的方法。空值意味着不知道、不能键入、没有定义或不能应用的一个值。零或空格不能认为是空值。如果一行的主键值是空值,我们就无法获得这一行的足够信息来惟一地对这一行加以识别。RDBMS软件严格地遵循实体完整性规则,不允许用户输入主键列的值不惟一的行;
2、引用完整性(referential integrity):外键值或者是空值,或者必须作为引用表的主键值而存在。