06/01/10 21:22:34 emDEfEEV.net
すみませんが、質問です。
ユーザの追加オプションを管理する、以下のようなテーブルがあります。
ユーザID オプションID 制限回数
00001 1 12
00001 3 15
00001 4 NULL
...
ユーザIDで検索すると、利用できる追加オプションの一覧が取得できるのです
が、オプションの種類によっては、利用できる回数に制限があります。そして、
・オプションID 1, 2, 3 については、必ず制限回数を指定する必要がある。
・オプションID 4, 5 については、制限回数は要らない。
(仮に指定しても使われない)
このようなテーブルで、誤った組み合わせ
(例) 00001 1 NULL
のような挿入を防ぎたいのですが、どうしたら良いでしょうか?
今ままでも、CHECK制約を使えば、誤った組み合わせの挿入は避けられますが、
オプションIDの即値というマジックナンバーをCHECK制約に埋め込みたくあり
ません。できれば正規化で対応したいのですが。