数据库中实体之间的关系

时间:2011-01-21 08:18:45

标签: database-design foreign-keys primary-key entity-relationship foreign-key-relationship

当描述实体之间的关系时,如果在表中出现主键,我理解它是正确的,假设A在表B中确定它是否是一对一,一对多和等等?

如果表B具有带外键的属性,并且表B中的每一行都引用了行A中的同一个表,那么这是一对多的关系,对吗?

提前致谢

3 个答案:

答案 0 :(得分:0)

特定“表”之间的关系不在行之间。表永远不会有重复的主键,但可以有重复的外键。桌子之间的关系是你需要它的东西..一个Cardriver可以有多辆车,一辆车可以有多个Cardrivers,但只能有一个所有者。一辆车只能有一个车牌,一个车牌只能连接一辆特定的车..

有关更多信息..请查看以下链接..详细说明..

http://en.wikipedia.org/wiki/Entity-relationship_model

答案 1 :(得分:0)

你在问题​​中混合了表格和行,所以它试图解释一下。

如果表B有一个外键列,并且此列中的每一行都有一个引用表A中一行主键列的外键,那么这是一对一一个关系

然而(这就是你所说的),如果表B中的几个外键引用另一个表A中的一个行,那么这是一个一个 - 很多关系,因为有多个B指的是一个A.


实施例

为员工分配了一种计算机。

表员工:

ID    Name  Computer
==============
1     Mike   1
2     Tom    3
3     Joe    1
4     Emily  4

表计算机类型:

ID    Name
==============
1     HP
2     Macbook Pro
3     Dell
4     Alienware

然后这是一对多的关系告诉我们一个计算机类型可以分配给许多员工,即Joe和Mike正在使用HP计算机。< / p>

答案 2 :(得分:0)

关系数据库模型实体 - 关系建模(ER建模)是两种截然不同的数据建模范例。 ER建模倾向于将数据模型简化为一些非常简单的概念(例如,实体和它们之间的二元关系),而关系数据库模型原则上可以比这更丰富和更强大。在尝试使用ER建模术语描述关系数据库概念时,应牢记这种潜在的不匹配,这正是您要做的。

在关系数据库中,所有关系都以与所有其他信息相同的方式表示:作为关系中元组内的值(关系或关系变量是更熟悉的称为表)。但是,通常情况下,表中最重要或最明显的关系是那些也引用其他表(“外键”)的关系。这些是ER建模通常关注的关系。

对于简单的二元关系,无论是在单个表中还是在表之间,都要考虑属性A和B之间关系的规范示例。如果A只是所讨论的表中的候选键,那么之间的有效关系A和B是一对多(或一到零或多)。如果A B都是候选键,则关系是一对一(或一对一到零或一)。