テーブル設計に関する質問です。
今、営業の日報のようなものをDB登録しようと考えています。
営業は一日に複数の顧客のところへ行き、それぞれに対して1レコード程度の報告を行う。
テーブル設計としてどちらが正しいですか?
A. 1テーブル
daily_reports
|id|ユーザID|日付|枝番|data1|data2|data3|....|
|----|----|----|----|----|----|----|
|1|1|20210617|1||||
|2|1|20210617|2||||
|3|1|20210617|3||||
|4|2|20210617|1||||
|5|2|20210617|2||||
B. 2テーブル
daily_reports
id | ユーザID | 日付 |
---|---|---|
1 | 1 | 20210617 |
2 | 2 | 20210617 |
daily_report_dt
id | レポートID | 枝番 | data1 | data2 | data3 | .... |
---|---|---|---|---|---|---|
1 | 1 | 1 | ||||
2 | 1 | 2 | ||||
3 | 1 | 3 | ||||
4 | 2 | 1 | ||||
5 | 2 | 2 |
正規化の観点からみればBが正しいのでしょうが、
親テーブルの持つ情報が少なすぎて何か気持ち悪いというか違和感が出てしまいます。
ただ、Aの場合もテーブル名が日報にも関わらず、同ユーザ同日のものが複数できるのもおかしいですよね。。。
親テーブルの情報量の少なさは判断に影響しないのですかね?
DB設計の初心者なので稚拙な質問かもしれませんがよろしくおねがいします。
回答2件
あなたの回答
tips
プレビュー