質問 |
||
| 質問者:noname#64345 | 正規化 | |
|---|---|---|
困り度:
|
例えばアパレルメーカの在庫を管理するためにデータベースを設計するとして、次のように3つのテーブルを用意するとします。これは正しいでしょうか。漠然としててすみません。 <テーブル1> 品番 ブランド アイテム 単価 <テーブル2> 品番 サイズ カラー <テーブル3> 在庫場所 品番 サイズ カラー 数量 致命的なところがないでしょうか? よろしくお願いします。 |
|
質問投稿日時:08/03/19 23:43 質問番号:3877799 |
||
回答良回答20pt |
|
| 回答者:nora1962 | #1です#2さんも指摘していますが品番が決まれば (ブランド アイテム 単価) (サイズ カラー) のいずれもが決まるのならばテーブル1,2は統合したほうがいいでしょう。 ただ、品番が決まると(ブランド アイテム 単価)は決まっても、 SKUとしては(品番 サイズ カラー)の単位で指定しないと決まらない というなら話は違ってくるでしょう。 その場合はSKU番号を新たに振って、 テーブル1(品番|ブランド アイテム 単価) テーブル2(SKU番号|品番 サイズ カラー) テーブル3(在庫場所 SKU番号|数量) という定義はありだと思います。 (それぞれ「|」の左側が主キー) |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/24 21:12 回答番号:No.3 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答10pt |
|
| 回答者:yambejp | 「この3つのテーブルで正規化されているように見えるか?」 というご質問ですよね?感じからすると 「正規化されていない」ように見えます。 テーブル1とテーブル2の関係がよくわかりません。 品番がIDとなるのであれば、1と2は分かれていなくてもいいかと。 テーブル3はサイズ・カラーはテーブル2と外部結合すればよいので テーブルに含まれる必要ないのでは? 正規化についてもう少し学習なさって理解を深めた方がよいかもしれませんね |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/21 18:26 回答番号:No.2 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:nora1962 | それぞれのテーブルの主キーが何か提示してもらえないと判断がつかない 気がします。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/03/20 00:41 回答番号:No.1 |
|
| この回答へのお礼 | 漠然としていて、答えというようなものがないかもしれませんが、、、。 各テーブルの主キーは左端に書いてある部分でよいと思います。 テーブル1は品番に関連付けられた基本情報、 テーブル2は品番が持つサイズ、カラーのバリエーションでこれがSKU(Stock Keeping Unit)になります。 テーブル3は数箇所の倉庫別にどのSKU がどれだけ在庫としてあるかの情報です。 致命的欠陥、致命的理解ミスなどがなければいいと思ってます。 |