小编sto*_*fin的帖子

规范化:将年份之类的静态数值拆分到他们自己的表中是否被认为是合规的?

我正在与另一位数据库设计人员就规范化进行有趣的讨论。在这个例子中,我们有一个 GameTitles 表,每条记录都必须包含游戏发布的年份。他说 2NF 要求所有内容都必须规范化,因此,要符合要求,年份字段应拆分为一个 ReleaseYears 表,该表具有自己的主键,由 GameTitles 表引用。我说它应该保留为 GameTitles 表本身的一个字段。

我对此的论点是,一年只是一个非原始数值,本质上是静态的(即,2011 年将始终是 2011 年)。因此,它充当自己的标识符,不需要引用它,因为它就是它。这也引入了额外的维护,因为您现在必须向表中添加新的一年才能引用它。如果您使用大范围的年份预先填充该表,那么您会有额外的记录,这些记录可能根本没有对它们的引用。这也增加了数据库大小,因为您现在有一个额外的表、记录开销和年份本身的额外主键。如果您将年份作为 GameTitles 表中的一个字段,则可以消除所有这些额外的维护和开销。

对此有何想法?

编辑:打算在 StackOverflow 上发布这个。有人可以投票删除此内容或将其标记以引起注意吗?

normalization

16
推荐指数
3
解决办法
394
查看次数

标签 统计

normalization ×1