私は以下のシナリオを持っています:学生はさらに多くのコースに登録することができ、授業ではより多くの異なる学生を登録することができます。 これを正しく実行するにはどのようなテーブルを作成する必要がありますか?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. クエリ多対多の関係テーブル
- 2. 多対多関係のエンティティSql
- 3. SQL Server:多対多の関係
- 4. 多対多SQLテーブルのデータ関係またはグラフの検索
- 5. Linq to Sql多対多関係
- 6. dddの多対多関係
- 7. ブリーズの多対多関係
- 8. CoreData:多対多の関係
- 9. クエリ(多対多の関係)
- 10. 多対多関係のコアデータ/
- 11. 多対多関係のモデリングコアデータ
- 12. 多対多の関係
- 13. Djangoの多対多関係を多対多関係に変更しますか?
- 14. Django:多対多のオブジェクトへのアクセス多対多の関係
- 15. Zend CASCADE多対多関係
- 16. 多対多関係mysql select
- 17. codeigniter doctrine多対多関係
- 18. CodeIgniter多対多関係
- 19. Linq多対多関係
- 20. Zend多対多関係
- 21. SQLクエリ関係1対多の
- 22. Entity Framework多対多多対多関係の照会
- 23. SQL:多対多テーブルANDクエリ
- 24. DjangoのUserテーブルの多対多の関係
- 25. 多対多関係のテーブルへの接続の作成
- 26. GAAのJPAの多対多の関係
- 27. データモデリング - 電話番号用の個別のテーブル?多対多関係
- 28. 多対多多型関係代替
- 29. EFナビゲーションプロパティとの多対多の関係
- 30. 多対多の関係のdjangoフィルタ
コースIDと学生IDを保持する追加のテーブルが必要です。この方法で、すべての関係を保存することができます。 –
ありがとうSiderite Zackwehdex。わかった。 – user3637485