【发布时间】:2023-03-24 15:38:01
【问题描述】:
我有几个表为我的系统存储相应的记录。例如,可能有一个名为templates 和logos 的表。但是对于每个表,其中一行将是系统中的默认值。我通常会为每个表添加一个is_default 列,但除 1 之外的所有行都是0。
我的另一个同事看到了另一条路线,其中有一个system_defaults 表。该表的每个表都有一个列。例如,此表将有一个 template_id 列和一个 logo_id 列。然后该列存储相应的默认值。
一般来说,一种方法比另一种更正确吗?第一种方式,除了 1 之外,有许多列具有相同的值。第二种方式,我想我只需要进行连接即可获取详细信息,并且每当我添加一个具有默认值的新表时,表就会横向增长.
【问题讨论】:
-
为每种方法提供
SHOW CREATE TABLE,以及一些示例行。还请告诉我们将获取数据的SELECTs。
标签: mysql database database-design normalization