如何处理数据库中的大量参数?

时间:2014-06-03 08:39:14

标签: sql database-design parameters

假设您需要在某处存储4种不同的文档类型(即草稿,发送审批,批准,拒绝)。

您可以为此创建一个新表并将其存储在那里。但是为4个条目创建一个表似乎有点过分了。

另一种方法是为所有参数创建一个大表并将其存储在那里。因此,如果您需要存储4个,15个或2000个新参数,只需将它们插入到Parameters表中并将它们存储在一起,而不是创建新表。

但是如果参数的数量变大怎么办?让我们说,1.000.000,5.000.000甚至更多?那么最好的方法是什么?

我不是在谈论特定的数据库,但如果这有用,那么它就是Oracle 12c或OpenEdge(Progress)数据库。

1 个答案:

答案 0 :(得分:2)

  

但是为4个条目创建一个表似乎有点过分了。

与设计良好的数据库合作一段时间,它似乎并不过分。

一个大的"参数的主要问题" table是外键可以引用任何唯一的行,而不是只是你想要的行。例如,如果你有一个像这样的大表。 。

draft
sent for approval
approved
rejected
USA
Great Britain
California
...

。 。 。那么迟早你会有一个类型为#34;加州"的文件。

但这源于对关系模型的基本误解。在关系模型中,域由特定属性的所有可能值组成。 "文档类型"只有四个可能的值。属性。对于可靠的数据,dbms需要知道。通常,告诉 dbms的最佳方法是只有四个可能的值是设置一个只包含这四个值的列的外键引用。

这是一种反模式。在线搜索"一个真正的查找表"或者" OTLT"。