根据模式创建ERD吗?

问题描述 投票:0回答:1

被告知要根据以下内容创建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)

但是我的图表似乎与连接的模块和学生评分有关?

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

enter image description here

relational-database erd
1个回答
0
投票

首先是,“模式”的定义不够明确,无法称为模式。尽管这些密钥对您来说可能很明显,但它们并未被识别。充其量只是一种描述,而并不完整。例如。如果是模式,则M :: N问题将得到解决,表将被命名,并且所有键都将被标识。

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

ERD

这里是从您的描述中竖立的ERD,使用了一些经过改进的符号。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly93d3cuc29mdHdhcmVnZW1zLmNvbS5hdS9Eb2N1bWVudHMvU3R1ZGVudCUyMFJlc29sdXRpb25zL0” =“

注意关系键:

  • 它们是复合材料

  • 他们必须:

    • 防止重复的行
    • enforce Relational Integrity
    • ”,这是逻辑上的(与物理上的“ Referative Integrity”不同)例如,我们要constrain一个学生注册他所注册的程序中的模块。

    关系数据模型

显然,ERD非常有限,它没有能力显示关系数据模型中所有可能和需要的定义。此外,如所证明的,它很快变得拥挤。

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

注意•表示法

  • 我的所有数据模型都在IDEF1X

    ]中进行渲染
  • 我的IDEF1X Introduction对于初学者来说是必不可少的读物

  • 注意•内容
    • 主键以及备用键都是显式的。

  • 可以理解Level中的ModuleLevel中的Programme不清晰。它可能与前者没有关系。

  • Predicates

  • 可以直接从模型中进行read。如果您需要文本形式的内容,请询问。
© www.soinside.com 2019 - 2024. All rights reserved.