現在、私は学生システムに取り組んでいます。私のプロジェクトでは、各学生に多数のコースが登録されている必要があります。データベースを設計する最良の方法は何ですか? 現在、私は学生情報、 を含むstudentsという名前のテーブルを作成しました。また、coursesという名前のテーブルにはコース名が含まれています。 私はそれを行う方法は、コーステーブルへの学生のテーブルの参照から外来のキーを作成することであることを知っていると私はそれを試みたが、私はそれを正確にどのように混乱している。ありがとうございます。 1対多関係データベース設計
あなたは、多対多の関係をモデル化するためのテーブルを作成する必要があります
0
A
答えて
0
:
Students [ id | name | etc..]
Courses [ id | name | etc.. ]
Students in Courses [ id | student_id | course_id ]
あなたは可能でもそこでの関係(何年に学生がコースに入りました、の詳細彼/彼女が完了しなかった何年、授業料が支払われたなど。)
データをこれらの表に次のようなものになります。
学生を
Id Name
------ --------
S1 John
S2 Jane
S3 Mike
S4 Larry
コース
Id Name
------ --------
C1 Java for beginners
C2 C# for dummies
C3 Phyton for Noobs
学生コース
Id CourseId StudentId
----- ------ --------
01 C1 S1
02 C2 S1
.....
99 C3 S3
にあなたはインナーを使用してデータを照会することができ、テーブル(擬似コード)に参加:
Select S.Id, S.Name, C.Id, C.Name
From Students S
Inner Join 'Students in Courses' SC ON S.Id = SC.StudentId
Inner Join Courses C ON SC.CourseId = C.Id
+0
ご返信ありがとうございます 私のためにそれを明確にするように。 「Java」というコースがあり、3人の学生が登録されているとします。 ですので、students_in_coursesテーブルは次のようになります: id | 1st_student_ID | JAVA_ID id | 2nd_student_ID | JAVA_ID id | 3rd_student_ID | JAVA_ID –
関連する問題
- 1. データベース設計の多対多の関係
- 2. MySQLデータベースの設計:1対1、多対多、多対多、多すぎますか?
- 3. Ruby Railsデータベースの関係 - 1対多
- 4. データベース:1対多(または1対1)関係
- 5. JPA多対1の関係
- 6. MvcScaffolding 1対多の関係
- 7. django 1対多の関係
- 8. AutoMapper 1対多の関係
- 9. 多対多の(疑わしい)関係のスキーマ設計
- 10. 1対1の関係から多対多の関係への移動
- 11. データベース関係1:1対1:0..1
- 12. 1対1の関係を1対多の関係で返す方法
- 13. 多対多関係への関係の設定
- 14. 特定の1対多の関係
- 15. Countステートメントと1対多の関係
- 16. SQLクエリ関係1対多の
- 17. SSASと1対多の次元関係
- 18. Kohanaで1対多の関係
- 19. Djangoフォームと1対多の関係
- 20. Django-tastypie 1対多の関係
- 21. 1対多の関係をテストする
- 22. Amazon DynamoDB(NoSQL db)1対多の関係
- 23. データストアの1対多の関係
- 24. Railsの1対多の関係
- 25. Hibernateマッピング - 多対1の関係
- 26. mongooseの1対多の関係
- 27. 単方向の1対多の関係のNHibernateの設定
- 28. 関係の属性とHibernate 1対多の関係
- 29. dddの多対多関係
- 30. Zend CASCADE多対多関係
これは、多対多の関係に近いように聞こえます。学生は複数のコースに参加することができますが、コースでは複数の学生も受け入れます。 –
あなたの返事をありがとう。 はい、あなたは正しいです。各生徒が複数のコースに登録されていることを確認して、生徒が自分のプロフィールに登録したコースを表示する方法。 –