access表间关系中的参照完整性什么意思

access表间关系中的参照完整性什么意思,第1张

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

select t5xh,t5数学,t5语文,t6cj as 英语 from (

  select t3xh ,t3数学,t4cj as 语文 from (

      SELECT T1XH,T2cj AS 数学 from tab1 as t1 left join (select xh,km,cj from tab2 where KM='数学') as t2 on t2xh = t1xh

  ) as t3 left join (select xh,km,cj from tab2 where KM='语文') as t4 on t3xh = t4xh

) as t5 left join (select xh,km,cj from tab2 where KM='英语') as t6 on t5xh = t6xh

不停的左关联或右关联查询,,

结果如下图

access参照完整性是:

实体完整性;

参照完整性;

用户定义的完整性

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

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

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

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

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存