关系建模辅助 - 规范化

时间:2016-01-23 16:47:48

标签: normalization erd

我需要为医院创建ER图和关系模型。我对3个实体保持简单。请有人看看并告诉我,我是否正确规范了这个?

我不确定信任与患者之间应该存在关系吗?是否有人认为第一个实体是一个单位,在这种情况下 a 医院与x有关系....

图2: ER Diagram & Relational Schema

1 个答案:

答案 0 :(得分:1)

您的规范化不正确。首先,您没有列出功能依赖项。没有它,任何规范化的尝试都只是猜测。

现在,我可以做出合理的猜测,但即便如此,你也会遇到一些问题。 {1}}和Hires关系未反映在您的1NF / 2NF / 3NF表格中。在您的2NF中,您引入的Cares for关系大概来自1NF中的Shift,但Doctor并未出现在后者中,除非它实际上是什么Shift列适用于,但重命名字段不是规范化的一部分。另外,2NF中Patient_ID发生了什么?它重新出现在3NF中,但是Hospital属性来自哪里?此外,您没有指明Location的主键,假设所有4个字段的组合构成候选键是否正确?明确你的钥匙是一种很好的做法。

  

实体可以没有属性吗?

您的Shift关系确实有一个属性 - Hospital,表示身份关系。请记住,属性是二元关系,Hospital_ID符合条件。

  

我不确定是否应该存在:信任与患者之间的关系?

什么是Hospital_ID -> Hospital_ID?它根本没有在图表中显示。

  

一个人是否认为第一个实体是一个单位,在这种情况下,医院与x有关系....

多对多关系被分解为两个或多个一对多关系,在阅读基数指标时,我们倾向于将单数实体放在首位,但这不是一个规则或安全假设。明确基数。