06/01/15 14:42:47 iP9+MlmJ
ところで、頂いたレスを読み返しているうちに、あることに気づき、そして正規
化のアイディアを思いつきました。
> 制限回数には回数とそれを使うかどうかの情報が含まれている。
とのことでしたが、もっと言えば、このユーザオプション管理テーブルの内容自
体に、2種類の異なったタプルが混在しているのです。つまり、
00001 1 12
00001 3 15
の、3要素のタプルと、
00001 4
の、2要素のタプルとです。
この要素数の異なったタプルが混在しているのが問題の元だったのです。
そこで、このテーブルを、1, 2, 3を入れる3カラムのテーブルと、4, 5を入れる
2カラムのテーブルとに分けます。
同時に、オプションマスタも、1, 2, 3 のマスタと、4, 5のマスタに分け、それ
ぞれのユーザオプション管理テーブルに外部キー制約をつけ、ユーザオプション
管理テーブルの内容が混在しないようにします。
そして、ユーザごとのオプション一覧を1回で取得するために、2つのユーザオプ
ション管理テーブルを UNION でつないだビューを作ります。
しかしこれだと、二つのオプションマスタに共通のオプションIDが入ってしまう
危険があります。そこで、両者のIDを共通のシーケンスから自動採番するように
し、ID番号の重複を防ぎます。
以上です。またあまり分かりやすくない説明ですみません。
ややトリッキーですが、皆さんはどう思われるでしょうか?