データーベース設計段階での質問です。
データーベース設計段階での質問です。
管理しなければならないフラグ項目が100近くあり、そのフラグがよく検索対象になります。ただし、1レコードにつけられるフラグは10個までと決まっています。現在使用中のデータベースでは10個のカラムをつくっていて、そこに対象フラグのIDを列挙しています。
例えば
A項目に対して1,20,34,56,78
B項目に対して3,6,11,15,42,78,89
のフラグがたっている場合、
name f0 f1 f2 f3 f4 f5 f6 f7 f8 f9
------------------------------------------------------
A 1 20 34 56 78 null null null null null
B 3 6 11 15 42 78 89 null null null
となっています。他に日付などのカラムが5項目ほどあります。
このままだと検索等でややこしいことになるため
テーブルを整理したいと思っています。
1.100個のboolean型のカラムを作る
2.ビットフラグ(ビットフィールド)のカラムを4つほど作って、検索時ビット演算する
3.項目名(ID)とフラグNo、だけの2カラムで構成した別テーブルを作ってjoinする
4.文字列としてIDを格納し、フルテキストインデックスをはる
などがあると思うのですが、効率のいい設計がいまいちよくわかっていません。
上記の方法以外にも何かいい方法があると思います。
このような場合の、テーブル設計の方法を教えて下さい。
お礼
遅くなりまして申し訳ありません。 ありがとうございました。