0

我为大学数据库设计了一个关系模型,如下所示。现在我被要求制作这个数据库的 ER 图。我只想知道是否有任何工具可以用来从关系模式生成 ER 图。如果不是,从关系模型制作 ER 图的步骤是什么? 在此处输入图像描述

4

1 回答 1

2

我不知道有任何工具可以从关系模型生成正确的 ER 图。此类工具的一个困难是并非所有关系模型都可以解释为 ER 模型。虽然关系模型可以表达任何有限的事实集(因为它等同于一阶逻辑),但实体关系模型更受限制。

要将关系模型转换为 ER 图,我建议执行以下步骤:

  1. 对 ER 模型的良好理解将是有价值的。研究陈的论文The Entity-Relationship Model - Toward a Unified View of Data

  2. 对于每一列,确定它是代表一个实体集还是一个值集。实体键通常是一个表中的主键和其他表中的外键。值集通常表示标签和测量值,并且位于相关列中。

    • 例如, inteacherT_IDdept_name实体键,而namepassword表示值集。
  3. 识别关系。关系由同一张表中的两个或多个实体键表示,其中至少一个是主键的一部分。

    • 例如,在 中teacher,该对表示由和(T_ID, dept_name)标识的实体集之间的关系。我们可以将这些实体集称为和,但不要将它们与具有相同名称的表混淆。另一个例子是。T_IDdept_nameteacherdepartmentadvisor (T_ID, S_ID)
  4. 识别属性。属性是从实体集或关系到值集的映射。表的主键将确定实体或关系集(原子或复合 PK),与相关列(值集)相关联,形成属性。

    • 例如,inteacherT_ID -> name一个属性,并且T_ID -> password是另一个。
  5. 做一个图表。用矩形表示每个实体集,用菱形表示每个关系集。将关系连接到相关的实体集。将键和属性绘制为附加到确定实体或关系集的椭圆。我们不为关系绘制键 - 它们由关联实体集的键确定。

这只是一个基本的起点——这个过程实际上更复杂,因为我们需要注意弱键、弱实体集、识别关系、关联实体集、全部或部分参与以及关系基数。

再次,我强烈建议你仔细研究 Chen 的论文。

PS。我相信您的主键(以及andsection中的相应外键)不正确。我怀疑主键应该是 only ,但由于我不确定您的模型实际代表什么(除了我自己对表和列名的解释),我不能肯定地说。teachestakessec_id

于 2017-04-21T20:14:41.283 回答