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

如何在MySQL数据库中处理许多不同的查找引用并避免硬编码,mysql,database-design,Mysql,Database Design,我的大部分经验都是在较小的项目中进行的,每当我需要创建一个查找表时,我实际上会创建一个新表,即使它只包含几个实体 我现在开始一个稍大的项目,在规划数据库时,我可以预见至少几十个查找表。此外,我正在研究如何尽可能避免硬编码到数据库模式中,以便将来可以通过应用程序而不是数据库模式添加新类型的查找 例如,假设我有一个product表,其中有25+列描述每个产品的属性。在我的应用程序中,许多属性将使用下拉列表或复选框进行修改。为了填充这些字段,我将使用查找表 我想知道为每次查找实际创建一个新表是常见的还

我的大部分经验都是在较小的项目中进行的,每当我需要创建一个查找表时,我实际上会创建一个新表,即使它只包含几个实体

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

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

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

没有通用的“最佳方法”可以做到这一点。几个专用的桌子-好的。一个带有鉴别器字段的较大表也可以

由于您的需求(“我希望能够在不改变DB模式的情况下添加新的查找”),您似乎必须使用第二个选项

只要索引该鉴别器列,就可以了(假设您的值都是相同类型的(例如字符串))