【发布时间】:2010-11-15 13:16:02
【问题描述】:
在数据库中只有一行的表有什么意义(如果有的话)?
注意:我不是在谈论表格中只有一行的可能性,而是当开发人员故意制作一个旨在始终只有一行的表格时。
编辑:
销售税的例子很好。
我刚刚在一些代码中观察到我正在查看三个不同的表,其中包含三种不同类型的证书(a la SSL),每一个都有一行。我不明白为什么不把它做成一张大桌子;我想我错过了什么。
【问题讨论】:
-
如果可以,何不亲自请开发者解释?
-
另外,这不会导致“编程气味”吗?由于数据库中没有可用于指定单行表的机制,是否有可能不小心在表中放置两个元素并在以后查询时使用不正确的数据?
-
@Jeremy:您可以滥用大多数 RDBMes 中的机制来强制执行 1 行限制 - 例如定义主键(或唯一键)列,然后在同一列上添加检查约束只允许一个值。不过,这并不令人愉快
-
我认为这是一个有效的问题,它是一个“为什么这种方法有好处”,这是一个很好的问题类型。
-
单行表的一个论点是您可以存储配置数据,然后还可以在 SQL 中进行数据建模。您的配置选项之一有外键?没问题!