1

多くの関連付けは避けるべきであるというコメントが残されましたが、この情報を残した元のコメント/ユーザーが見つかりません。だから私はコミュニティに尋ねています、多くの協会は避けるべきですか、もしそうなら、なぜですか、そして代替案は何ですか?

例:

レストランでは、さまざまな調味料をまとうことができるさまざまな種類のハンバーガーを提供しています。

これは多対多の協会ではありませんか?BURGERテーブルとCONDIMENTテーブルの外部キーを含むリレーションテーブルは必要ありませんか?

前もって感謝します、

BW

4

4 に答える 4

2

あなたが言及したハンバーガー/調味料のような関係をモデル化したい場合、M:N の関連付けは避けられません。M:N アソシエーションについて、本質的に望ましくないことは何もありません。はい、3 番目のテーブルが必要です。

多くの場合、人々は関係に追加の属性を追加しようとし、2 つの 1:N 関連付けを M:N 関連付けとして誤ってモデル化します。多分これは、M:N 関連付けを回避することについて OP が意味したことです。

于 2010-10-29T00:13:36.530 に答える
1

はい、ハンバーガーと調味料の関係は多対多です。はい、これら2つのテーブルをリンクするために3番目のテーブルが必要になります。

于 2010-10-28T10:37:11.713 に答える
1

これは明確な答えではありませんが、多対多の関係から始めることがあると思います。たとえば、ショッピング Web サイトでの注文と製品の関係などです。しかし、アプリケーションを開発していると、リンクは単なるリンクではなく、独自の属性と動作を持つエンティティであることがわかりました。この場合、それは「ライン」のようなものと呼ばれます。最初のケースでそういうことをちゃんと考えていたら、多対多にはならなかったと思います。

しかし、もちろんそうではない場合も多いです。

于 2010-10-29T00:19:21.803 に答える
1

だから私はコミュニティに尋ねています、多対多の関連付けは避けるべきですか

私が扱っている実世界のデータベースには、多対多の関係が表現されています。

もしそうなら、なぜ、そして代替手段は何ですか?

3 番目のテーブル (別名「結合テーブル」) との 2 つの 1 対多の関係。とにかく、物理レベルで多対多の関係を表す方法です。

于 2010-10-29T03:27:56.513 に答える