access参照完整性是:
实体完整性;
参照完整性;
用户定义的完整性
参照完整性是关系模型的完整约束之一,属于数据完整性的一种,其余还有:实体完整性、用户自定义完整性。
参照完整性规则:若属性或属性组F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:
(1)空值,F的每个属性值均为空值。
(2)S中某个元组中的主键值(主码值)。
即参照的关系中的属性值必须能够在被参照关系找到或者取空值,否则不符合数据库的语义。在实际 *** 作时如更新、删除、插入一个表中的数据,通过参照引用相互关联的另一个表中的数据,来检查对表的数据 *** 作是否正确,不正确则拒绝 *** 作。
参照完整性是一个规则系统,Microsoft Access 使用这个系统用来确保相关表中记录之间关系的有效性,并且不会意外地删除或更改相关数据。在符合下列所有条件时,可以设置参照完整性:来自于主表的匹配字段是主键或具有唯一索引。
相关的字段都有相同的数据类型。但是有两种例外情况:“自动编号”字段可以与“字段大小”属性设置为“长整型”的“数字”字段相关;“字段大小”属性设置为“同步复制 ID”的“自动编号”字段可以与一个“字段大小”属性设置为“同步复制 ID”的“数字”字段相关。
两个表都属于同一个 Microsoft Access 数据库。如果表是链接的表,它们必须是 Microsoft Access 格式的表,并且必须打开存储此表的数据库以设置参照完整性。不能对数据库中的其他格式的链接表实施参照完整性。
使用参照完整性时要遵循下列规则:
不能在相关表的外键字段中输入不存在于主表的主键中的值。但是,可以在外键中输入一个 Null 值来指定这些记录之间并没有关系。例如,不能为不存在的客户指定订单,但通过在“客户ID”字段中输入一个 Null 值,则可以有一个不指派给任何客户的订单。
如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“订单”表中有订单分配给某一雇员,就不能在“雇员”表中删除此雇员的记录。
如果某个记录有相关的记录,则不能在主表中更改主键值。例如,如果在“订单”表中有订单分配给某个雇员时,不能在“雇员”表中更改这位雇员的雇员ID。
参照完整性规则包括:更新规则、删除规则、插入规则。
1、更新规则:
只能为设置为 "文本" 或 "数字" 数据类型的主键字段启用级联更新。 不能对设置为 "自动编号" 数据类型的字段使用级联更新。
2、删除规则:
从查阅列表中删除数据需要额外的步骤,这些步骤取决于查阅列表的查询是从表还是从其他查询获取其数据。
3、插入规则:
主表无关键字的值,子表禁止插入。
扩展资料
参照完整性规则这条规则要求“不引用不存在的实体”,其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值,这条规则的实质是“不允许引用不存在的实体”。
对于此规则有三点需要注意:
1、外键和相应的主键可以不同名,但要定义在相同的值域上。
2、当R1和R2是同一个关系模式时,表示同一个关系中不同元组之间的联系。
3、外键值是否允许为空,应视具体问题而定。若外键是模式主键中的成分,则外键值不允许为空,否则允许为空。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)