2017-04-16 15 views
0

这种关系在3FD归一化中是否属实?我能做些什么(电话号码),它是确定所有行?请任何人帮助我将这种关系转换为3FD,并保持正确的关系。ERD和归一化3FD

enter image description

+1

只是说明:患者的主键= PID,医生= DID,咨询= CID –

+1

标准化基于功能依赖性和联接依赖性。你是什​​么?你用什么参考“标准化”? – philipxy

+0

请在您的问题中编辑澄清,评论是短暂的。请尽可能使用*文本*,而不要使用图像作为替换。 – philipxy

回答

0

电话号码不会是PATIENTS一个很好的决定,如果这是一个真实的例子。有些病人会分享电话号码,有些病人会有多个电话号码,有些病人(小孩,无家可归的人)可能根本没有电话号码。

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

+0

“每个表的每个非关键属性在功能上都完全依赖于所有主键。”只证明2NF。你的意思是“候选键”。 – philipxy

+0

你是什么意思(这在你的情况下是微不足道的,因为你已经为主键声明了代理键,并且你没有为任何候选键声明唯一的约束。)请问,我需要这些键? –

+0

@ OsamaAL-Atraqchi - 您不需要*这些额外的密钥,但是您可能拥有*它们,这取决于您的数据是什么样子。当为主键创建代理键(例如无意义的唯一编号)时,根据定义,每行将由该键确定。您的模型中不清楚的是,除了“* ID”列之外是否还有其他列,这些列也是表的唯一决定因素。如果没有其他_candidate keys_(并且没有传递函数依赖),那么你将会在3NF中。 –