2016-07-12 9 views
1

in Storesテーブル。 したがって、これら2つのテーブルの間に1対1の関係があります。右? これらの2つのテーブルを組み合わせるだけでいいのではないかと思います。 2番目のテーブル(Storesテーブル)に対して多くのクエリを送信することはできません。私はこれらの2つを分ければ、マーケティング担当者のテーブルに保存されている情報はほとんど必要ありません。データベースの正規1対1の関係

+1

ストアが10のストアフィールドを持つ行である場合、私にはわかりません。または、それぞれが区切られた行ですか? –

+0

すべての行には、外部キーであるマーケティング担当者IDがあります。 10列に10店舗の名前があります。 – cool

+4

異常と思われます。私はあなたがマーケターのテーブルを持っていると思います。一意索引マーケターとStoreNoルックアップを持つ値が1〜10のstoreNoルックアップを持つストアテーブルとStoreMarketerテーブル。 uniqeインデックスとルックアップにより、10個以上のストアを持つことができません。店舗にユニークなインデックスを追加して、1店舗にマーケティング担当者が1人しかいないようにすることもできます。あなたの現在のアプローチは、異なるマーターのために重複したストアを可能にし、同じストアを繰り返します。また、各マーケティング担当者に店舗を増やしても、成長は認められません。 – xQbert

答えて

2

デザインの観点から見ると、これらのテーブルは別々にしてください。あなたの現在の要件に 、

  1. あなたはそれほど頻繁にマーケティング担当者からのデータを必要としない場合は、なぜあなたは店でそれを含める必要があります。毎回余分なデータを取得することになります。

  2. 新しい情報とマッピングが1対多またはその逆に変更された場合、現在のデザインは完全にうまく動作します。

  3. もちろん、今後のメンテナンスビューから、現在のデザインを更新する方が簡単です。

でも、私はあなたにも独立したプライマリをStoresテーブルに追加することをお勧めします。

+0

独立したプライマリをストアテーブルに追加するのはなぜですか?わかりません。私は10行ごとに10の名前を持っています。すべての行が1つのマーケティング担当者に属しているので、「MarketerID」列によってすべての行が一意の行になります。 – cool

+0

この[スキーマ](http:// picpaste。com/pics/second-fVyRPhSt.1468404140.jpg)。 – cool

+0

スキーマを見て、あなたの意見を言ってください。 – cool