人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

1318237852
●拡大する

●質問者: HLYGRL
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●50ポイント

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

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

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


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

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

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

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

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



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

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

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

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


2 ● fmht7
●50ポイント ベストアンサー

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

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

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

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

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ