1318237852 データベース設計についての質問です。現在,PHP+MySQLでシステムを作成しているのですが,どのようなテーブルをいくつ作成すれば効率が良いのか判断に困っています。


①バイヤーがお店の在庫情報を確認
②仕入れ先で商品を買取り,
③その商品を納品する
という各工程を店舗毎に毎日フォーム送信するというシステムとなっています。
(詳しくは添付してあります画像に載せてあります)

フォーム送信すると,deal_idテーブルにデータ追加されるように作成したのですが,
その他の表をどのように作ればよいのかを迷っています。
店舗毎のテーブルを作成したほうが良いのか,など。

以上となります。よろしくおねがいします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/10/17 18:15:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:fmht7 No.2

回答回数642ベストアンサー獲得回数64

ポイント50pt

リレーショナルデータベース設計で重要な点は正規化となります。

以下のサイトを参考に正規化を検討されると良いと思います。

  1. 素早く正規形を見抜く実践テクニック(1/4) - @IT
  2. データベースの正規化の基礎

1.はオンラインショップの商品購入の例があり、かなり質問主さんの事例に近いのではないでしょうか?

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント50pt

データベースを作るうえで、取得できる情報は、すべて 保存するというやり方があると思います。

つまり、今は 必要なさそうだけど 将来 使うかもしれないってこともあるからです。

そして できるだけ 細かく分け、同じデータが あまり重複しないようにします。


>deal_idテーブルにデータ追加されるように作成したのですが,

このdeal_idテーブルは 何のテーブルでしょうか?

最低限、何のために どういったものを保存するかという定義が必要となります。

項目からみて 処理時刻・日付とかは いらないのかな?と思います。

ま、だいたい更新日時をテーブルに持つことは多いですから、入っていて当然なのかしもれませんが。



>店舗毎のテーブルを作成したほうが良いのか,など。

店舗が増えた場合、テーブルを作成するのでは 効率が悪すぎます。

普通は、店舗コードとか持たせて それでどの店舗か判断します。

つまり、テーブルは 一つだけということになりますね。

id:fmht7 No.2

回答回数642ベストアンサー獲得回数64ここでベストアンサー

ポイント50pt

リレーショナルデータベース設計で重要な点は正規化となります。

以下のサイトを参考に正規化を検討されると良いと思います。

  1. 素早く正規形を見抜く実践テクニック(1/4) - @IT
  2. データベースの正規化の基礎

1.はオンラインショップの商品購入の例があり、かなり質問主さんの事例に近いのではないでしょうか?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません