MySQL:枚举表 - 只使用一个或多个?

时间:2016-02-22 08:36:43

标签: php mysql enumeration

到目前为止,我仍然使用列 ID CODE ...(money_type,payment_type,shipping_type ...)制作了更多枚举表。

最好是单独制作每个枚举表还是只制作一个?列 ID CODE TYPE ...其中类型为“money,payment,shipping”。

在我的系统中,最少有50个枚举表..

1 个答案:

答案 0 :(得分:1)

从纯粹的技术角度来看,很少有人反对为此目的创建一个巨大的查找表。但是,有一些有效的商业理由反对这样做:

  1. 安全。您可能不希望同一用户能够编辑所有查找数据。如果将所有这些存储在单个表中,则仅限制对某些记录的访问可能很困难。显然,您可以使用视图执行此操作,但如果您创建的查看类型与查找类型一样多,那么首先要有一个表是什么意思?

  2. Configrability。在许多情况下,这些查找表可以包含比仅仅id和人类可读描述更多的数据,并且附加数据仅对该给定参数是特定的。例如,在税码查找表中,您可以指定给定的税码仅适用于国内交易,不适用于跨境税务(如增值税)。如果你有一个包含所有配置数据的巨型表,那么这种定制就会困难得多。

  3. 显然,如果拥有这些查找表的目的是提供人类可读的描述(例如,您可以用于GUI的定义表),那么您可以拥有一个表。否则,我会为每个参数方法寻找1个查找表,即使你需要有50个查找表。