数据的完整性约束
为了保证数据存储和处理的正确,在关系数据库中有三种完整性约束。
(1)实体完整性。实体完整性包括①每个关系应该有一个主键;②每个实体的主键值应是唯一的;③主键值不能为“空”;④主键可以由一个或多个属性组成。
(2)参照完整性。参照完整性是指两个关系之间存在属性引用时,要定义主键与外键的引用规则。以例3为例,职工关系中“班组号”引用了班组关系的主键“班组号”,职工关系中的“班组号”为外键。此例中,参照完整性的规则包括:①职工关系中“班组号”的值必须出现在班组关系的班组号值中;②外键值可以为“空”,即职工关系中“班组号”值可以为“空”;
③外键和主键可以同名,也可以不同名,本例中同名。
(3)用户定义完整性。用户定义完整性是指针对某一具体的关系数据库的约束条件,由用户定义。它反映了在数据库应用时所涉及的数据必须满足一定的函数关系,由数据库管理系统提供定义和检验这类完整性的机制,如规则、默认、值域约束等。如性别属性值只能为“男”或“女”,输人其他值系统不予接受。