hatena
hatena
2020/06/28 (日) 17:17:29
いろいろ考えられますが、
一つの解決策としては下記のようなテーブル構成にするのが自由度か高いかな、と思います。
M_Category (カテゴリーマスター)
K1 | K2 | Cat |
---|---|---|
1 | 1 | A |
1 | 2 | B |
1 | 3 | C |
1 | 4 | D |
2 | 1 | E |
2 | 2 | F |
2 | 3 | G |
K1, K2 複合PK
M_Person (人物マスター)
PID | Name | K1 | K2 |
---|---|---|---|
1 | 山田さん | 1 | 1 |
2 | 加藤さん | 1 | 3 |
3 | 佐藤さん | 1 | 1 |
4 | 田中さん | 2 | 1 |
5 | 伊藤さん | 2 | 3 |
※F1、F2 は M_Category の外部キー
T_Question (質問テーブル)
QID | K1 | Question |
---|---|---|
1 | 1 | aaaa? |
2 | 2 | bbbb? |
※K1 は M_Category の外部キー
T_Choice (選択肢)
QID | CID | Choice |
---|---|---|
1 | 1 | あ |
1 | 2 | い |
1 | 3 | う |
2 | 1 | ア |
2 | 2 | イ |
2 | 3 | ウ |
2 | 4 | エ |
2 | 5 | オ |
CID, QID 複合PK
QID は T_Question の外部キー
T_Person_Choice (人物がどの選択肢を選択したか)
PID | QID | CID |
---|---|---|
1 | 1 | 1 |
1 | 1 | 3 |
2 | 1 | 2 |
3 | 1 | 3 |
4 | 2 | 1 |
4 | 2 | 3 |
4 | 2 | 5 |
5 | 2 | 2 |
5 | 2 | 4 |
テーブル名とかは出された情報から推測で適当につけてますので、参考程度に。
これはあくまで一例ですので、別の方法もあるかと思います。
通報 ...