現在、私は学生システムに取り組んでいます。私のプロジェクトでは、各学生に多数のコースが登録されている必要があります。データベースを設計する最良の方法は何ですか? 現在、私は学生情報、 を含む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. サブ列または多対多関係のデータベース設計
- 3. User、UserRoleのデータベース設計 - 多対多の関係
- 4. MySQLデータベースの設計:1対1、多対多、多対多、多すぎますか?
- 5. Ruby Railsデータベースの関係 - 1対多
- 6. データベース:1対多(または1対1)関係
- 7. 1対1と1対多の関係
- 8. laravel 1対多対多の関係
- 9. AutoMapper 1対多の関係
- 10. MvcScaffolding 1対多の関係
- 11. エンティティフレームワーク1対多の関係
- 12. Laravel多対1の関係
- 13. JPA多対1の関係
- 14. django 1対多の関係
- 15. Kinvey 1対多の関係
- 16. 1対多の関係mongoDB
- 17. 多対多の(疑わしい)関係のスキーマ設計
- 18. ファクトテーブルの設計 - 1対多
- 19. 1対1の関係から多対多の関係への移動
- 20. データベース関係1:1対1:0..1
- 21. 多対多関係を設定する
- 22. データベースの設計/関係
- 23. 1対1の関係を1対多の関係で返す方法
- 24. 多対多関係への関係の設定
- 25. 効率的なSQLスキーマ設計奇数と1対多の関係
- 26. エンティティフレームワークの1対多および多対多の関係
- 27. データベースの正規1対1の関係
- 28. laravel 1対1と1対多の関係を保存する
- 29. ジャンゴ1対1および1対多の関係
- 30. 1対多関係の問題Java JPA
これは、多対多の関係に近いように聞こえます。学生は複数のコースに参加することができますが、コースでは複数の学生も受け入れます。 –
あなたの返事をありがとう。 はい、あなたは正しいです。各生徒が複数のコースに登録されていることを確認して、生徒が自分のプロフィールに登録したコースを表示する方法。 –