理解关系属性和关联实体/表之间的差异

时间:2017-03-28 01:56:01

标签: mysql database-design

我有两张桌子

表A 有一个主键,X和属性A,B,C

表B 有一个主键,Y和属性D,E,F

还存在第三个联结表(让我们称之为表C ):这包含外键X,Y

联结表表C 是否可以访问A和B的实例特定属性,即它是否可以访问实例特定属性A,B,C,D,E,F?

此外,使用此联结表(也称为复合实体),复合实体/联结表与插入其中的2个外键的普通表之间有什么区别?为什么我们要做出这种区分?

1 个答案:

答案 0 :(得分:1)

表格无法访问其他表格。表不是彼此交互的机器。表只是包含一组行的变量。数据库的用户通过查询访问表。

表格中的常见域名(例如 X 表A 表C )允许您将它们加入匹配值,即您将能够使用合适的查询一起访问这些表。

我相信诸如"联合表"等术语。和"复合实体"来自旧的分层或网络数据模型。在实体 - 关系模型中,我们将表C 称为关系关系(与实体关系相反,如表A 表B ),在关系模型中,所有三个表都只是关系。

表C 不仅仅是两个外键。一列或两列应该是唯一键或主键的一部分。如果只有一个列,该域的值只能在表中出现一次,这意味着您具有一对多的关系(唯一受约束的域是多边的,因为每个值只能出现一次)只能与另一个值相关联一次)。如果两列都是唯一/主键的一部分,那么您就拥有了多对多关系,其中各个值可以多次出现,但每个值组合只能出现一次。