【问题标题】:ERD and normalization 3FDERD 和归一化 3FD
【发布时间】:2017-09-12 02:01:54
【问题描述】:

这种关系在 3FD 归一化中是否成立?我可以用(电话号码)做什么,它是确定所有行?请任何人帮助我将此关系转换为 3FD 并保持正确关系。

【问题讨论】:

  • 请注意:患者主键=PID,Doctors=DID,consultation=CID
  • 规范化基于函数依赖和连接依赖。你的是什么?您使用什么参考来进行“标准化”?
  • 请编辑澄清您的问题,cmets 是短暂的。请尽可能使用文本,而不是图片作为替代品。
  • “我可以用(电话号码)做什么,它是确定所有行?”难以理解。

标签: normalization database-normalization erd


【解决方案1】:

如果这是一个真实的例子,电话号码将不是PATIENTS 的一个很好的决定因素。有些患者会共享电话号码,有些患者会有多个电话号码,而有些患者(幼儿、无家可归者)可能根本没有电话号码。

您的模型名义上已经处于 3NF 状态。每个表的每个非键属性在功能上都完全依赖于每个候选键(仅此而已)。这在您的情况下是微不足道的,因为您已经为您的主键声明了代理键,并且您还没有为任何备用候选键声明唯一约束。

【讨论】:

  • "每个表的每个非键属性在功能上完全依赖于所有主键。"仅证明 2NF。你的意思是“候选键”。
  • 你的意思是什么(这在你的情况下是微不足道的,因为你已经为你的主键声明了代理键并且你没有为任何备用候选键声明唯一的约束。)拜托,做什么我需要这些钥匙吗?
  • @OsamaAL-Atraqchi - 您并不需要这些额外的密钥,但您可能拥有它们,这取决于您的数据是什么样的。当您为主键创建代理键(例如无意义的唯一编号)时,根据定义,每一行都将由该键确定。您的模型中不清楚的是,除了“*ID”列之外是否还有其他列也将是您的表的唯一决定因素。如果没有其他 候选键(并且没有传递函数依赖),那么您将处于 3NF 中。
  • 非常感谢大哥,思路清晰了,谢谢大哥...
猜你喜欢
  • 2023-03-30
  • 2016-08-18
  • 1970-01-01
  • 2014-01-20
  • 2016-03-19
  • 2015-07-02
  • 2013-12-22
  • 2020-10-23
  • 2012-07-24
相关资源
最近更新 更多