繁体   English   中英

为何邮政编码值不能以Boyce Codd正常格式放置?

[英]Why should zipcode values not be placed in Boyce Codd Normal Form?

有人可以向我解释为什么邮编不应该以博伊斯·科德普通格式放置吗? 除了邮递区号在任何可预见的时间点不太可能改变之外,真的还有其他功能吗?

如果要基于邮政编码查找其他信息(例如语言环境),则只能将邮政编码放入3NF或BCNF中。 在这种情况下,邮政编码成为“自然钥匙”。

在这种情况下,似乎没有太多意义。 在大多数应用程序中,邮政编码仅被视为少量文本,否则没有任何上下文含义。

邮政编码是一个属性,而BCNF是一个关系或一组关系满足的属性。 通常,除非您有充分的理由偏离,否则至少要保持在BCNF中。 在此基础上,我建议与邮政编码属性的关系应该在BCNF中。 是什么让您另想呢?

假设您所谈论的是2NF,而不是3NF与BCNF之间的细微差别(因为邮政编码似乎与BCNF无关),那么:
是的,而且它不必要地变得很钝,它仅节省了一个字节的存储空间(邮政编码为5个字符,可以存储为5个字节,整数外键为4个字节),并且需要额外的联接来检索值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM