1

メールを保存したり、購読者に基づいて送信したりできるメールサービスプロバイダーを複製しようとしています。私はデータ構造atmに焦点を合わせていますが、何か間違ったことをしたのではないかと思わずにはいられません。

図からわかるように、サブスクライバー、リスト、およびサブスクライバーリストの関係に向かっています。私はのシナリオを達成しようとしています。

サブスクライバーは多くのリストの一部になることができますが、リストには多くのサブスクライバーを含めることができます。

この図はこの問題に意味がありますか?

ありがとう

ここに画像の説明を入力してください

4

1 に答える 1

2

は、私にはよく見えますよ。サブスクライバーとリストの間には多対多の関係があるため、関係を保持するためのマッピングテーブル(subscriberlist)が必要です。

ERD全体について質問している場合、それが必要なものであるかどうかを判断するのは困難です。多くのリストを持っているサブスクライバーと多くのサブスクライバーを持っているリストに関しては、あなたがそれをしている方法が進むべき道です。

編集:サブスクライバーテーブルにリストという列がある理由がわかりません。SubscriberListテーブルは、SubscriberとListの間のすべてのマッピングを保持する必要があり、このデータを他の場所に複製しようとすると、非正規化の問題が発生します。

EDIT2:私がこれらの多対多の関係で常に考えているこの典型的な例は、ユーザーと役割です。ほぼすべての複雑なWebアプリケーションには、多数のユーザーと複数のロールがあります。ユーザーが多くのロールを持つことを許可する(そして各ロールが多くのユーザーを持つことを可能にする)唯一の方法は、ERDに示したようにマッピングテーブルを作成することです。

簡潔で要点の説明は、この記事の約3分の1の「多対多の関係」という見出しの下にあります。http ://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx

于 2012-07-19T18:38:52.600 に答える