我正在考虑更改数据库方案以减少表的数量。我有几个表包含不同但相似的数据,我想知道这样保留它是否是最佳实践,或者将它们组合起来是否会有并发症。
例如,假设我有以下两个表:
Table `status`
`status_id` | `status_text`
---------------------------
1 | Open
2 | Closed
3 | On Hold
Table `type`
`type_id` | `type_text`
---------------------------
1 | Regular Work
2 | Advanced Work
3 | Warranty Work
将这些组合成一个表格是否有利,如下所示?
Table `text`
`id` | `type` | `text`
-------------------------------------------
1 | 1 | Open
2 | 1 | Closed
3 | 1 | On Hold
1 | 2 | Regular Work
2 | 2 | Advanced Work
3 | 2 | Warranty Work
该type
列将与表示数据集类型的 PHP 常量相关联。
我目前可能有 6 个表格,其中包含此确切方案中的数据。只是让我觉得它们是如此相似,而且每个只有 2-5 行。我真的很想像上面那样将它们结合起来,但不确定在此过程中是否会出现并发症,或者它是否违反了最佳实践。
我确实意识到该id
列会发生冲突并且不会成为主键的候选者,但它将是一个唯一键以及type
防止冲突。我不担心 auto_increment,因为这些表是手动管理的。
还要记住的另一件事是这些表涉及多个 JOINS。除了在 ON 子句中再添加一个条件之外,我认为它不会使 JOIN 变得更加复杂。
如果这是一个重复的问题,我深表歉意,这似乎是一个很难查找的主题,因为我提出的不是关于选择数据的常见问题,而是方案。