論理設計
DBの論理設計について書き留めておきます。
正規化理論
このままだとテーブルに実装できない形です。
| ID |
年月日 |
店名 |
住所 |
注文 |
価格 |
| 1 |
130716 |
鈴傳 |
東京都新宿区四谷1-10鈴伝ビル |
ビール大瓶 |
500 |
| 煮込み |
350 |
| 満寿美 |
380 |
| なす |
350 |
| 2 |
130626 |
富士屋本店 |
東京都渋谷区桜丘町2-3富士商事ビル |
瓶ビール |
450 |
| 煮込み |
400 |
| 3 |
130626 |
細雪 |
東京都渋谷区道玄坂2-8 |
生ビール |
500 |
| コハダ |
400 |
| ホッピーセット |
550 |
| 肉豆腐 |
350 |
テーブルに実装できる形ですが、繰り返し項目があります。
| ID |
年月日 |
店名 |
住所 |
注文 |
価格 |
| 1 |
130716 |
鈴傳 |
東京都新宿区四谷1-10鈴伝ビル |
ビール大瓶 |
500 |
| 1 |
130716 |
鈴傳 |
東京都新宿区四谷1-10鈴伝ビル |
煮込み |
350 |
| 1 |
130716 |
鈴傳 |
東京都新宿区四谷1-10鈴伝ビル |
満寿美 |
380 |
| 1 |
130716 |
鈴傳 |
東京都新宿区四谷1-10鈴伝ビル |
なす |
350 |
| 2 |
130626 |
富士屋本店 |
東京都渋谷区桜丘町2-3富士商事ビル |
瓶ビール |
450 |
| 2 |
130626 |
富士屋本店 |
東京都渋谷区桜丘町2-3富士商事ビル |
煮込み |
400 |
| 3 |
130626 |
細雪 |
東京都渋谷区道玄坂2-8 |
生ビール |
500 |
| 3 |
130626 |
細雪 |
東京都渋谷区道玄坂2-8 |
コハダ |
400 |
| 3 |
130626 |
細雪 |
東京都渋谷区道玄坂2-8 |
ホッピーセット |
550 |
| 3 |
130626 |
細雪 |
東京都渋谷区道玄坂2-8 |
肉豆腐 |
350 |
この値だけあればレコードを特定できる列(候補キー)は、この場合
{ID,注文}または{年月日,店名,住所,注文}です。
この値の一部が決定しただけで決まってしまう列(部分従属関数がある)を別テーブルに分けた形が第2正規形です。
この場合、{ID,注文}の一部、IDが決定したら{年月日,店名,住所}が決定するため、別テーブルにします。
※今回は、注文が同じ値であっても店によって別物ということでお願いします。
| ID |
注文 |
価格 |
| 1 |
ビール大瓶 |
500 |
| 1 |
煮込み |
350 |
| 1 |
満寿美 |
380 |
| 1 |
なす |
350 |
| 2 |
瓶ビール |
450 |
| 2 |
煮込み |
400 |
| 3 |
生ビール |
500 |
| 3 |
コハダ |
400 |
| 3 |
ホッピーセット |
550 |
| 3 |
肉豆腐 |
350 |
| ID |
年月日 |
店名 |
住所 |
| 1 |
130716 |
鈴傳 |
東京都新宿区四谷1-10鈴伝ビル |
| 2 |
130626 |
富士屋本店 |
東京都渋谷区桜丘町2-3富士商事ビル |
| 3 |
130626 |
細雪 |
東京都渋谷区道玄坂2-8 |
最終更新:2013年07月25日 20:45