【发布时间】:2018-05-25 00:06:44
【问题描述】:
大家好,我正在尝试使用 mysql 实现数据库模型。 当我尝试将 E/R 数据库模型转换为关系数据库模型时,有一件事让我印象深刻。那么问题来了。
*请记住,ERDB 的“关系”和 RDB 的“关系”是不同的。
据我所知,以下是ER实体集和关系转RDB关系的标准。
Entity Sets
: Simply use all the attributes as columns (key attributes become the primary key).
Relationships (Many-Many)
: Use key attributes (from both entity sets) as table columns.
所以这意味着当我尝试为任何关系创建表时,我必须从现有表中获取键(键)(如外键)。
但是当我查看时,几乎每个人都告诉我我不应该使用引用的外键作为该表的主键(因为外键应该允许非唯一值)。这没有意义,因为各种关系都必须引用实体集(关系)中的键。
我很困惑,请有人帮帮我!
【问题讨论】:
-
ER 到底是什么意思? True Chen ER 具有明确的关系类型,所有参与实体类型。 (可能是关联的,即关系类型的具体化)。即(非关联)实体关系/表中没有外键。而其他(伪)ER 方法将多:1 关系关系/表推入多方关系/表。在真正的 ER 术语中,这将实体转换为关系并将所有关系具体化为关联实体。但真正的 ER 是一种不必要的限制性方法,无论如何都不能正确使用关系模型。
标签: database-design entity-relationship rdbms