私は以下のシナリオを持っています:学生はさらに多くのコースに登録することができ、授業ではより多くの異なる学生を登録することができます。 これを正しく実行するにはどのようなテーブルを作成する必要がありますか?SQLの多対多テーブルの関係
0
A
答えて
0
少なくともcourse_idとstudent_idを含む別のテーブル(関連テーブル)を作成する必要があります。 これらの2つの列は、コースと生徒をそれぞれ参照する外部キーです
1
ピボットテーブルと呼ばれます。
CREATE TABLE student (sid INTEGER PRIMARY KEY, name VARCHAR(100));
CREATE TABLE course (cid INTEGER PRIMARY KEY, desc TEXT);
CREATE TABLE enrollments (sid INTEGER, cid INTEGER, edate DATE, PRIMARY KEY (sid,cid), FOREIGEN KEY sid REFERENCES student(sid), FOREIGEN KEY cid REFERENCES course(cid));
見ての通り、私は入学日付で行ったように、あなたも、ピボットテーブルに複数の列を追加することができます。必要なのは、このようになりますではSQLで、参加したテーブルからの主キーです。
+0
これはピボットテーブルではありません。それは多くの名前を持っています - http://stackoverflow.com/questions/3045034/whats-the-correct-name-for-a-association-table-many-to-many-relationshipを参照してくださいピボットと呼ばれる聞いたことがない。 –
関連する問題
- 1. SQLの多対多関係
- 2. 多対多のSQLの関係
- 3. クエリ多対多の関係テーブル
- 4. 3テーブル間の多対多関係
- 5. SQL Server:多対多の関係
- 6. 多対多関係のエンティティSql
- 7. 多対多SQLテーブルのデータ関係またはグラフの検索
- 8. 3つの関係を持つSQL多対多の関係
- 9. Linq to Sql多対多関係
- 10. CoreData:多対多の関係
- 11. 多対多関係のデザインテーブル
- 12. RDBMSの多対多関係
- 13. 多対多関係のフィルタリング
- 14. Rails:多対多の関係
- 15. 多対多関係のCount()
- 16. は、多対多の関係
- 17. は、多対多の関係
- 18. 多対多の関係
- 19. ダッパーマルチマッピングの多対多関係
- 20. Cakephpの多対多関係
- 21. 多対多関係のコアデータ/
- 22. クエリ(多対多の関係)
- 23. mysql多対多の関係
- 24. 多対多関係のモデリング
- 25. Django多対多の関係
- 26. は、多対多の関係
- 27. ブリーズの多対多関係
- 28. 多対多関係のモデリングコアデータ
- 29. dddの多対多関係
- 30. symfony多対多の関係
コースIDと学生IDを保持する追加のテーブルが必要です。この方法で、すべての関係を保存することができます。 –
ありがとうSiderite Zackwehdex。わかった。 – user3637485