2 つのテーブル Student(id,name) と course(course_id,course_name) が与えられます。これら 2 つのテーブルには、M:N の関係があります。
- ジャンクション テーブルを使用せずにリレーショナル データベースで M:N 関係を実装する方法はありますか?
- リレーショナル データベースでない場合、他のデータベース モデルでは?
2 つのテーブル Student(id,name) と course(course_id,course_name) が与えられます。これら 2 つのテーブルには、M:N の関係があります。
ジャンクション テーブルを使用せずにリレーショナル データベースで M:N 関係を実装する方法はありますか?
もちろん、「ポインタ」の配列 1 をテーブルの 1 つに格納するだけです。DBMS でネイティブにサポートされている配列型を使用するか、VARCHAR でエンコードすることができます。
ただし、これはデータベースを恐ろしく非正規化します(1NF に違反します)。実際に誰かがそうする理由は想像できません。
ジャンクション テーブルを避けたい特定の理由はありますか?
1他のテーブルのキーの値。