如何处理许多不同的查找引用并避免在MySQL数据库中进行硬编码

时间:2012-01-30 20:39:16

标签: mysql database-design

我的大多数经验都是针对较小的项目而且每当我需要创建一个查找表时,我实际上创建了一个新表,即使它只包含一些实体。

我现在开始一个稍大的项目,在规划数据库时,我可以预见至少几十个查找表。此外,我正在研究如何尽可能避免硬编码到数据库模式中,以便将来可以通过应用程序而不是数据库模式添加新类型的查找。

例如,假设我有一个产品表,其中包含25列以上描述每种产品属性的列。在我的应用程序中,许多属性将使用下拉菜单或复选框进行修改。为了填充这些字段,我将使用查找表。

我想知道为每个查找实际创建一个新表是否是常见的或好的做法,或者是否有更好的方法,例如创建一个带有附加列的表来区分查找的属性指的是。处理这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

没有通用的“最佳方式”来做到这一点。几个专用表 - 好的。一个带有鉴别器字段的大表也没问题。

由于您的要求(“我希望能够在不改变数据库架构的情况下添加新查找”),您似乎必须使用第二个选项。

只需索引那个鉴别器列并且你很好(假设你的值都是相同的类型(例如字符串))。