0

さまざまなショップエンティティの作成を処理するアプリケーションがあります。

プロセス:
1。ユーザーがWebサイトに登録します
2.ユーザーがショップを作成します(さまざまな属性を使用)

これまでのところ、データベーステーブルについては次のとおりです。

[USER]  
user_id

[USER_TO_SHOP]  
user_id  
shop_id

[SHOP]  
shop_id

上記のデザインは、1人のユーザーが自分のアカウントに多くのショップエンティティを持っている必要性をカバーしています。
私が今達成したいのは、スタンドアロンであると同時に、ショップのグループの一部であるショップエンティティを持つことです。

チェーンショップの例:
マクドナルド住所Xシカゴ
マクドナルド住所Xニューヨーク
マクドナルド住所Xボストン

チェーンショップだけでなくスタンドアロンショップもサポートするために、データベース設計をどのように進める必要がありますか?ベストプラクティスは本当にありがたいです!

*スタンドアロンとは、チェーンに属していないショップエンティティを意味します

4

3 に答える 3

1

頭のてっぺんからロケーションテーブルを作成し、ショップの名前を会社に変更して、単一の会社がそのテーブルに入りますが、複数のロケーションを持つことができるようにします。次に、ユーザーは会社の場所に関連付けられます。

あなたが望むことを達成するための多くの方法があります、それで、私たちが実際に全体像を持っているわけではないので、答えは主観的です。

于 2013-01-07T15:58:24.103 に答える
0

チェーンの場合は、ユーザーの場合と同じように、次のようにすることができます。

[CHAIN]
chain_id

[CHAIN_TO_SHOP]
chain_id
shop_id

ただし、スタンドアロンショップの意味はわかりません。ユーザーやチェーンが所有していないショップを意味する場合は、次のようになります。

[STANDALONE_SHOP]
shop_id

しかし、私はそのようなテーブルの必要性に疑問を投げかけます。なぜなら、スタンドアロンショップは、CHAIN_TO_SHOPまたはにエントリがないことによって想定される可能性があるからです。USER_TO_SHOP

于 2013-01-07T15:57:59.683 に答える
0

あなたが言っていることから、ショップは0から1のチェーンに属することができますか?もしそうなら、私は単に1つの余分なテーブルを追加し、ショップテーブルに外部キーを追加します。

[CHAIN]
chain_id
chain_name

[SHOP]
shop_id
chain_id
于 2013-01-07T16:00:55.747 に答える