首页 > 解决方案 > 从模式创建 ERD?

问题描述

有人告诉我根据以下内容创建 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 ex。 Contains - programme_ Modules (pCode, mCode)

但是我的图表似乎与连接模块和学生评分不一致?

我对此很陌生,所以非常感谢一些指示

在此处输入图像描述

标签: relational-databaseerd

解决方案


第一件事是,“模式”不足以被称为模式。尽管密钥对您来说可能很明显,但它们并没有被识别。充其量,它只是一个描述,而且是一个不完整的描述。例如。如果它是一个模式,则 M::N 问题将得到解决,表将被命名,并且所有键都将被识别。

在 ERD 中,您没有显示必需的属性。接下来,您需要显示哪些属性是 Keys。

ERD

这是一个 ERD,使用了一些改进的符号,从您的描述中建立。

利亚默

注意关系键:

  • 它们是复合材料

  • 他们必须:

    • 防止重复行
    • 强制执行关系完整性,它是逻辑的(与引用完整性不同,它是物理的)
      例如,我们希望限制学生注册他注册的程序中的模块。

关系数据模型

显然,ERD 非常有限,它无法显示关系数据模型中所有可能的和期望的定义。此外,正如所证明的那样,它很快就会变得拥挤。

为关系数据库教授 ERD 是非常荒谬的。在现实世界中,我们不使用 ERD 对数据进行建模,我们使用IDEF1X,即自 1993 年以来的关系数据建模标准。这就是它的样子。

利亚姆塔

注意 • 符号

注 • 内容

  • 主键和备用键是显式的。

  • 里面明白了Level。里面不清楚Module。它可能与前者有关系,也可能没有关系。LevelProgramme

  • 谓词可以直接从模型中读取。如果您需要它们的文本形式,请询问。


推荐阅读