我被告知要创建一个ERD图,如下所示
The college keeps track of each student’s name, student number, social security
number, address, phone, date-of-birth, and gender.
– Each programme is described by a programme code, name, description, duration
(number of years), level, and the cost.
– Each module has a module code, name, description, duration (number of weeks),
level (introductory, intermediate, advance).
– Grade stores student number, module code, and a letter grade (A, B, C, D, E, F).
Each program enrolls students. Students then register modules. At the end of the
study duration of a module students receive their grades.我为每个实体创建了属性
Student
(sNmber, SSN, sName, address, phone, DOB, gender)
Programme
(pCode, name, description, duration, level, cost)
Module
(mCode, name, description, duration, level)
Grade
(sNumber, mCode, grade)我的最后一个图表和实体关系一样,我知道我必须将M:N关系分解成两个1:M。Contains - programme_ Modules (pCode, mCode)
但我的图表似乎脱离了连接模块和学生的年级?
我对此非常陌生,所以非常感谢你的指点。

发布于 2019-11-14 22:40:46
第一件事是,“模式”还不足以被称为模式。虽然钥匙对你来说是显而易见的,但它们还没有被识别出来。充其量,这是一种描述,也是一种不完整的描述。例如:如果它是一个模式,M::N问题将被解决,表将被命名,所有的键都将被识别。
在ERD中,您没有显示所需的属性。接下来,您需要显示哪些属性是键。
ERD
这是一个ERD,使用了一些改进的符号,建立在您的描述。

请注意关系键:
- **prevent duplicate rows**
- enforce **Relational Integrity**, which is logical (as distinct from Referential Integrity, which is physical),例如,我们希望约束学生注册一个模块,该模块在他注册的程序中。
关系数据模型
显然,ERD是非常有限的,它没有能力在关系数据模型中显示所有可能的和需要的定义。而且,正如所证明的那样,它很快就会变得拥挤。
教授关系数据库的ERD是相当荒谬的。在现实世界中,我们不使用ERD来建模数据,而是使用自1993年以来的关系数据建模标准IDEF1X。这就是看起来的样子。

注·记法
注·内容
Level in Module是可以理解的。Level in Programme并不清楚。它可能与前者有某种关系,也可能没有。https://stackoverflow.com/questions/58754489
复制相似问题