Database design 数据库中实体之间的关系

Database design 数据库中实体之间的关系,database-design,foreign-keys,primary-key,entity-relationship,foreign-key-relationship,Database Design,Foreign Keys,Primary Key,Entity Relationship,Foreign Key Relationship,在描述实体之间的关系时,如果表中出现一个主键,我是否理解它是正确的,假设表B中有一个主键,确定它是否是一对一、一对多等等 如果表B有一个带有外键的属性,并且表B中的每一行都引用了a行中的同一个表,那么这是一个一对多关系,对吗 提前感谢关系是特定表之间的关系,而不是行之间的关系。。表不能有重复的主键,但可以有重复的外键。表之间的关系是您需要的。。一辆Cardriver可以有多辆车,一辆车可以有多辆Cardriver,但只能有一个车主。一辆车只能有一个牌照,一个牌照只能链接到一辆特定的车 有关更多信

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

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


提前感谢

关系是特定表之间的关系,而不是行之间的关系。。表不能有重复的主键,但可以有重复的外键。表之间的关系是您需要的。。一辆Cardriver可以有多辆车,一辆车可以有多辆Cardriver,但只能有一个车主。一辆车只能有一个牌照,一个牌照只能链接到一辆特定的车

有关更多信息。。请看下面的链接。。这里有详细的描述


在你的问题中,你把表格和行弄混了,所以我试着解释一下

如果表B有一列外键,并且该列中的每一行都有一个外键,该外键引用表a中某一行的主键列,则这是一对一关系

然而,这就是您所说的,如果表B中的几行外键引用另一个表A中的一行,那么这是一个一对多关系,因为有多个B引用一个A

实例 为员工分配了一种类型的计算机

表1员工:

表计算机类型:

这是一对多关系,告诉我们一种计算机类型可以分配给许多员工,即Joe和Mike使用HP计算机。

关系数据库模型和实体关系建模ER建模是两种完全不同的数据建模范式。ER建模倾向于将数据模型简化为几个非常简单的概念,例如实体和它们之间的二进制关系,而关系数据库模型原则上可以更丰富、更强大。在尝试使用ER建模术语描述关系数据库概念时,应该记住这种潜在的不匹配,这正是您要做的

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


对于简单的二进制关系,无论是在一个表中还是在表之间,考虑属性A和B之间的关系的典型例子。如果只在所讨论的表中是一个候选关键字,那么A和B之间的有效关系是一对多或一对零或多。如果A和B都是候选键,那么关系是一对一或一对零或一。

我不太同意这两个模型有很大不同。当然,它们是不同的。但是,Chen打算创建一个与关系模型近似的模型,而不预先假定数据库是按关系设计的。我在分析阶段使用ER模型进行概念建模,然后在设计阶段使用关系模型。从一个模型切换到另一个模型非常容易,尽管您不一定要利用关系模型的所有功能。
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