0

我有一个包含案例的表格,但每个案例都可以填写不同的参数。所以我认为这样安排表格并不是最好的解决方案(例如 - 实际参数会更多):

case

+----+-------+--------+-------+------------+-------+
| id | label | color  | count | time       | valid |
+----+-------+--------+-------+------------+-------+
| 1  | abcd  | NULL   | 4     | 2013-01-15 | 0     |
| 2  | efgh  | NULL   | NULL  | 2012-12-22 | NULL  |
| 3  | ijkl  | fa8ee0 | NULL  | NULL       | 1     |
| 4  | mnop  | NULL   | 1     | NULL       | 1     |
| ...

这包含很多NULL值。

还有另一种解决方案,其中存在相关表case_params,其概念是这样的:

`case`                      `case_params`
+----+-------+              +---------+------------+-------------+
| id | label |              | case_id | param_type | param_value |
+----+-------+              +---------+------------+-------------+
| 1  | abcd  |              | 1       | count      | 4           |
| 2  | efgh  |              | 1       | time       | 2013-01-15  |
| 3  | ijkl  |              | 1       | valid      | 0           |
| 4  | mnop  |              | 2       | time       | 2012-12-22  |
| ...                       | 3       | color      | fa8ee0      |
                            | ...

但是列出现了问题param_value- 我可以将其设置为VARCHAR(32),并制作触发器来控制每个参数类型(如果其值正确)。但我不确定这是否是明确的解决方案......

你会如何解决这样的问题?谢谢

抱歉,英语不好,不是母语人士

4

0 回答 0