access参照完整性是什么?

access参照完整性是什么?,第1张

access参照完整性是:

实体完整性;

参照完整性;

用户定义的完整性

参照完整性是关系模型的完整约束之一,属于数据完整性的一种,其余还有:实体完整性、用户自定义完整性。

参照完整性规则:若属性或属性组F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:

(1)空值,F的每个属性值均为空值。

(2)S中某个元组中的主键值(主码值)。

即参照的关系中的属性值必须能够在被参照关系找到或者取空值,否则不符合数据库的语义。在实际 *** 作时如更新、删除、插入一个表中的数据,通过参照引用相互关联的另一个表中的数据,来检查对表的数据 *** 作是否正确,不正确则拒绝 *** 作。

参照完整性规则包括:更新规则、删除规则、插入规则。

1、更新规则:

只能为设置为 "文本" 或 "数字" 数据类型的主键字段启用级联更新。 不能对设置为 "自动编号" 数据类型的字段使用级联更新。

2、删除规则:

从查阅列表中删除数据需要额外的步骤,这些步骤取决于查阅列表的查询是从表还是从其他查询获取其数据。

3、插入规则:

主表无关键字的值,子表禁止插入。

扩展资料

参照完整性规则这条规则要求“不引用不存在的实体”,其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值,这条规则的实质是“不允许引用不存在的实体”。

对于此规则有三点需要注意:

1、外键和相应的主键可以不同名,但要定义在相同的值域上。

2、当R1和R2是同一个关系模式时,表示同一个关系中不同元组之间的联系。

3、外键值是否允许为空,应视具体问题而定。若外键是模式主键中的成分,则外键值不允许为空,否则允许为空。

参照完整性是一个规则系统,Microsoft Access 使用这个系统用来确保相关表中记录之间关系的有效性,并且不会意外地删除或更改相关数据。

使用参照完整性时要遵循下列规则:

不能在相关表的外键字段中输入不存在于主表的主键中的值。

如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“订单”表中有订单分配给某一雇员,就不能在“雇员”表中删除此雇员的记录。

如果某个记录有相关的记录,则不能在主表中更改主键值。例如,如果在“订单”表中有订单分配给某个雇员时,不能在“雇员”表中更改这位雇员的雇员ID。

你目前的情况看来是成绩表的学号出问题了,你看看这个是不是主表的主键里面没有。

list和product 是多对一, 你改动product, list会变化, 而不是反过来
另外, access的关系方式已经过时了, 用更灵活强大的联合查询方式代替它
如果是考试内容那就没办法了, 国内的考试都是些过时的用不上的东西

初始界面:工具-----关系------单击工具栏 显示表 -----然后就有你要创建的课程和成绩 ------直接拖动能够联系在一起的字段到另一个表中对应字段,会跳出一个提示框,勾选实施参照完整性就ok啦

在符合下列所有条件时,可以设置参照完整性:来自于主表的匹配字段是主键或具有唯一索引。相关的字段都有相同的数据类型。但是有两种例外情况:“自动编号”字段可以与“字段大小”属性设置为“长整型”的“数字”字段相关;“字段大小”属性设置为“同步复制 ID”的“自动编号”字段可以与一个“字段大小”属性设置为“同步复制 ID”的“数字”字段相关。两个表都属于同一个 Microsoft Access 数据库。如果表是链接的表,它们必须是 Microsoft Access 格式的表,并且必须打开存储此表的数据库以设置参照完整性。不能对数据库中的其他格式的链接表实施参照完整性。使用参照完整性时要遵循下列规则:不能在相关表的外键字段中输入不存在于主表的主键中的值。但是,可以在外键中输入一个 Null 值来指定这些记录之间并没有关系。例如,不能为不存在的客户指定订单,但通过在“客户ID”字段中输入一个 Null 值,则可以有一个不指派给任何客户的订单。如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“订单”表中有订单分配给某一雇员,就不能在“雇员”表中删除此雇员的记录。如果某个记录有相关的记录,则不能在主表中更改主键值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13076681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存