0

2 つのテーブル Student(id,name) と course(course_id,course_name) が与えられます。これら 2 つのテーブルには、M:N の関係があります。

  • ジャンクション テーブルを使用せずにリレーショナル データベースで M:N 関係を実装する方法はありますか?
  • リレーショナル データベースでない場合、他のデータベース モデルでは?
4

1 に答える 1

1

ジャンクション テーブルを使用せずにリレーショナル データベースで M:N 関係を実装する方法はありますか?

もちろん、「ポインタ」の配列 1 をテーブルの 1 つに格納するだけです。DBMS でネイティブにサポートされている配列型を使用するか、VARCHAR でエンコードすることができます。

ただし、これはデータベースを恐ろしく非正規化します(1NF に違反します)。実際に誰かがそうする理由は想像できません。

ジャンクション テーブルを避けたい特定の理由はありますか?


1他のテーブルのキーの値。

于 2012-07-26T18:48:40.970 に答える