我正在研究所有正常形式之间的差异,直到我发现以下内容,来自A Simple Guide to Five Normal Forms in Relational Database Theory
我们不会尝试全面阐述第五种常规形式,而是用一个常用的例子说明中心概念,即涉及代理商,公司和产品。如果代理商代表公司,公司制造产品,代理商销售产品,那么我们可能希望记录哪个代理商销售哪个公司的产品。此信息可以保存在一个记录类型中,包含三个字段:
-----------------------------
| AGENT | COMPANY | PRODUCT |
|-------+---------+---------|
| Smith | Ford | car |
| Smith | GM | truck |
-----------------------------
这种形式在一般情况下是必要的。例如,虽然代理商史密斯销售福特制造的汽车和通用汽车制造的卡车,但他并不销售福特卡车或通用汽车。因此,我们需要三个字段的组合来知道哪些组合是有效的,哪些组合不是。
基本上,这个表是4NF,因为它在3NF(所有属性都依赖于候选键,在这种情况下都是3),并且该表并不暗示多值依赖。但是这个表现在也在5NF,尽管事实上它没有被分解(因为它不能因为信息丢失而无法进一步分解)?
答案 0 :(得分:1)
它在5NF。
你的短语“它没有被分解”和“它不能再被分解”并不意味着同样的事情。您应该仔细阅读Kent Beck的文章中引用的段落和示例。