有人可以向我解释为什么邮政编码不应该放在 Boyce Codd 范式中吗?除了邮政编码在任何可预见的时间点都不太可能发生变化之外,真的还有更多吗?
问问题
703 次
3 回答
3
邮政编码是一个属性,而 BCNF 是一个关系或一组关系所满足的属性。作为一般规则,目标至少是 BCNF,除非并且直到你有充分的理由偏离它。在此基础上,我建议与邮政编码属性的关系应该在 BCNF 中。是什么让你不这么认为?
于 2013-09-05T17:11:14.287 回答
3
如果您打算基于它们查找其他信息(例如区域设置),则应仅将邮政编码放在 3NF 或 BCNF 中。在这种情况下,邮政编码成为“自然钥匙”。
没有这种背景,似乎没有多大意义。在大多数应用程序中,邮政编码仅被视为一段文本,否则没有任何上下文含义。
于 2013-09-05T16:24:11.763 回答
-1
假设您在谈论 2NF,而不是 3NF 和 BCNF 之间的细微差别,(因为邮政编码似乎与 BCNF 无关),那么:
是的,而且它不必要地钝,只节省一个字节存储,(邮政编码是五个字符,可以存储在 5 个字节中,整数外键是 4 个字节),并且需要额外的连接来检索值。
于 2013-09-05T16:24:03.357 回答