【问题标题】:What is the level of database normalization that is "practically" enough?“实际上”足够的数据库规范化水平是多少?
【发布时间】:2011-10-01 07:40:10
【问题描述】:

我正在设计一个数据库,并且我达到了(据我所知)Third Normal Form (3NF)

我的一些同事告诉我一个Sixth Normal Form!!我想知道如何知道数据库的规范化水平是否足够。

【问题讨论】:

  • 你会惊讶地发现有超过 8 个 NF :)
  • 可能有超过 8 个 NF,但不能有 8 个。
  • 有时 BCNF 被称为 3NF 或与 3NF 混淆。

标签: mysql sql normalization


【解决方案1】:

根据我的经验,很少听到有人谈论超越 3NF 用于实际生产应用程序。对于几乎所有情况,这应该足够了。

【讨论】:

    【解决方案2】:

    通常 3NF 就足够了,但这确实取决于您的要求。在你的设计中要实用。

    【讨论】:

      【解决方案3】:

      我通常将我的数据库优化到 3 NF。通常,这就足够了。

      【讨论】:

        【解决方案4】:

        实际上 - 这取决于您的需求。对于小型和快速的应用程序,您对 1NF.. 甚至 0NF 都很满意,因为您不在乎。

        随着应用程序的增长,您需要优化数据结构。

        如果您尝试做一些前期设计,请保持 3NF 为主要。

        【讨论】:

        • 什么是 0NF,为什么您不关心“小型快速应用程序”的数据完整性?
        • ONF 是个玩笑,意思是我不在乎.. 为什么?因为你不应该关心事情然后它们就不那么重要了:)
        【解决方案5】:

        除非你找到充分的理由偏离它,否则目标是进入 5NF。 6NF 应该只在特殊情况下应用,因为在大多数情况下,在大多数 DBMS 中,您将无法在 6NF 下实现所有重要的依赖项。

        【讨论】:

          猜你喜欢
          • 2014-07-29
          • 2020-03-22
          • 2018-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-01
          • 2015-07-21
          相关资源
          最近更新 更多