仅使用2个属性规范化表

时间:2017-03-27 08:34:35

标签: database normalization database-normalization

当我有一个仅包含2个属性且没有依赖性的表时。我可以拆分它们如下吗?它是在1NF吗?提前致谢!!!! 原表:

职员,技能
A,清洁
A,修复
A,着色
B,修复
B,清洁
B,抛光

分成:
[工作人员]
员工(PK)
A


[技巧]
技能(PK)
清洁
着色
修理
抛光

[Staff_Skill](桥梁)
工作人员(PK)(FK),技能(PK)(FK)
工作人员,技能
A,清洁
A,修复
A,着色
B,修复
B,清洁
B,抛光

修改版本 实际上我的表格如下。它们合乎逻辑吗?提前致谢!!!
Tables **编辑2 ** 我尽力解释清楚 Table Question 2

1 个答案:

答案 0 :(得分:1)

规范化替换了与其连接的其他关系。这是为了摆脱有问题的FD(功能依赖)和JD(连接依赖)。如果像这样的关系不受任何非平凡FD的影响那么它就在BCNF中,并且归一化理论不建议分解。这种关系也不受任何非平凡的JD的影响(除非该集合包含原始关系,否则它不是它的任何一组投影的连接),因此它在5NF中并且归一化理论不建议任何分解。另一方面,你可以将它分解为这三个组件/投影(按照某个简单的JD),因为它们总是连接回原始 - 无益,因为其中一个原作。既然你已经分解它(并没有区分“没有FD”和“没有普通的FD”,并且没有区分“应该”和“可以”分解,并且没有区分FD和JD,而没有澄清“规范化”,你不懂“1NF”),你需要从大学/大学的教科书/课程中学习规范化。

PS如果你想介绍员工&技能,以便您可以记录有工作人员或技能,无论是否有任何当前配对,然后这不是通过标准化建议,但你注意到你原来的1表设计不能记录你的一切对感兴趣。 (在这种情况下,两个新表并不总是原始的投影,因此它们不能通过规范化引入。)