如何在数据库中设计应用程序设置表

时间:2012-03-10 14:22:59

标签: sql

我想要创建数据库表,我可以在其中存储应用程序设置。两个表设计中哪一个更好:

  1. 将设置存储在一列和一行中以便输入密钥 - 如下所示:
  2. enter image description here

    1. 仅将设置存储在两行中 - 如下所示:
    2. enter image description here

      哪两个更适合存储应用程序设置?

      祝福

2 个答案:

答案 0 :(得分:5)

使用第二种方法。显然它更具可扩展性。当您需要添加更多选项时,永远不需要添加其他列。

如果选项非常有限并且已修复,并且所有数据类型都不同,我只会提倡第一种方法。这是两个区别很大的区域 - 如果你有大量的数字和字符列,你真的没有选择第二个选项,而是将它们全部存储为VARCHAR。但是,对于行数非常有限并且不会受到大量INSERTUPDATE影响的设置表,这可能不是一个大问题。

您不希望将第二种方法用于需要高度可访问的常规表(不存储大多数静态应用程序设置),或者用于计算,例如,您需要经常需要输入类型转换值才能进行操作他们。

对于不经常访问或修改的静态数据,第二种方法虽然效果很好。

答案 1 :(得分:1)

这实际上取决于这些值的变化频率以及类型的变化:

例如,如果您有许多不同类型的设置数量有限,那么水平布局会更好,因为您可以指定每种类型。但是每当你想要添加一个新的时,你都需要改变这个表。

相反,如果你有许多不同的类型,人们有很多不同的设置安排,甚至你知道未来会继续出现新的,那么第二个列表会更好。但问题是每个值都会遇到varchar(nnn)类型,因此db将无法帮助您进行非常多的输入。