我有一个包含案例的表格,但每个案例都可以填写不同的参数。所以我认为这样安排表格并不是最好的解决方案(例如 - 实际参数会更多):
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),并制作触发器来控制每个参数类型(如果其值正确)。但我不确定这是否是明确的解决方案......
你会如何解决这样的问题?谢谢
抱歉,英语不好,不是母语人士