ケースのテーブルがありますが、ケースごとに異なるパラメーターが入力されている可能性があります。したがって、このようにテーブルを配置することは最善の解決策ではないと思います(たとえば、実際にはもっと多くのパラメーターがあります):
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 |
| ...
しかし、列の問題が発生します.VARCHAR (32)param_value
として設定し、値が正しい場合はすべてのパラメータタイプを制御するトリガーを作成できます。しかし、これが明確な解決策であるかどうかはわかりません...
このような問題をどのように解決しますか?どうも
ネイティブスピーカーではなく、英語が下手な場合は申し訳ありません