假设关系Appliance(model, year, price, manufacturer, color)
将{model, year}
作为关键字并跟随FD:
model -> manufacturer
model, year -> price
manufacturer -> color
查找2NF和3NF。
我的解决方案是:
由于model -> manufacturer
因部分依赖而违反2NF,因此我按以下方式分解了设备:
R1(model, manufacturer)
R2(model, year, price)
R3(manufacturer, color)
同样,由于传递依赖性,model -> manufacturer
和manufacturer -> color
违反了3NF,因此我按以下方式分解了设备:
R1(model, manufacturer)
R2(model, year, price)
R3(model, color)
我的问题是我的规范化出了什么问题?
答案 0 :(得分:1)
您对2NF的标准化是正确的。您可能想要更加思考关系是否违反2NF或3NF,或功能依赖是否违反2NF或3NF。你说两个。
在2NF分解中,R1,R2和R3为5NF。 (因此,根据定义,它们也是3NF和2NF。)
对于3NF,您丢失了FD manufacturer -> color
。这是错的。
在现实世界中,将“设备”之类的关系规范化可能会导致多个5NF分解。