私は3つのテーブルの外部キーは、私は、学生の名前を与えられたときに設定されている学生からすべてのローンを検索し、書籍の詳細を主キーと外部キー
主キーと外部キー
答えて
はここで、このようなあいまいな要件とスタートです。したがって、このキーは残りのテーブルに
しない表示する必要があります
Student Loan Book
- StudentID LoanID BookID
を持っていますあなたが学生表にstudentIdを持っていると仮定すると、それは他の2つの表のStudentおよびforiegnでプライマリの最適な候補になります。
CREATE TABLE dbo.Students
(
StudentID INT PRIMARY KEY
-- , other columns about students
);
CREATE TABLE dbo.Loans
(
LoanID INT PRIMARY KEY,
StudentID INT NOT NULL FOREIGN KEY REFERENCES dbo.Students(StudentID)
-- , other columns about loans
);
CREATE TABLE dbo.Books
(
BookID INT PRIMARY KEY,
-- , other columns about books
);
CREATE TABLE dbo.StudentBooks
(
StudentID INT NOT NULL FOREIGN KEY REFERENCES dbo.Students(StudentID),
BookID INT NOT NULL FOREIGN KEY REFERENCES dbo.Books(BookID)
);
あなたが学生に基づいて検索したいので...他のテーブルの両方で外部キーとしてstudentidを使用する必要があります。
Student
--------
Studentid -PK
Loan
---------
Loanid - PK
Studentid -FK
Book
-------
Bookid -PK
Loanid -FK
書籍はなぜローンに関連するのでしょうか? –
学生がローンを取る。ローンには、1つ以上の本が含まれることがあります。これは私の意見では有効なモデルです。 – nolt2232
興味深い...私は、学生がローンを取得し、書籍を購入すると仮定します。ローンオフィサーがあなたが購入した書籍を知りたいと思ったことがあるかどうかは分かりません。 –
- 1. 主キーと外部キー?
- 2. 変更主キー、外部キー
- 3. Grails:主キーとしての外部キー?
- 4. Redshift Constraints(主キーと外部キー制約)
- 5. 同じテーブルの主キーと外部キー
- 6. 出力に主キーと外部キー
- 7. 複合主キーと外部キーとしてのユニークキー
- 8. 主キーとしての複数の外部キー
- 9. (MySQLの)主キーのw/2と同じ外部キー
- 10. 主キーと外部キーの値の一致方法は?
- 11. 子テーブルの主キーとして外部キーを持つ
- 12. 主キーと外部キー - テーブルのエントリの削除は
- 13. 複合主キーを外部キーとして使用
- 14. mysqlの複合主キーとの外部キー関係
- 15. djangoのモデルでの外部キーと主キーの関係
- 16. 主キー(EclipseLINK)の一部である複合外部キーとの関係
- 17. 外部キーとしての主キーが重複定義例外をスローする
- 18. 主キーの一部が外部キーであるJPAでの複合主キーのマッピング方法
- 19. 複合キーと外部キー
- 20. MySql外部キー主キーが一致しません
- 21. 複数のテーブル(主キー)に1つの外部キーを接続
- 22. 主キー削除後の外部キーのデクリメントSQLite
- 23. 複合主キーの外部キーが機能しない
- 24. 外部キーを持つ複合主キーを保存する
- 25. 主キーによる外部キーの置換
- 26. 表示外部キーの外部キー
- 27. jpaに外部キーと複合主キーを追加していますか?
- 28. Djangoと外部キー
- 29. レールと外部キー
- 30. 外部キーとクラスタ
を行くべき私は学生に<->ローンを仮定している1:1であるが、学生<->ブックス多くのです。多くの? –
それは異なります。関係がどのように働くかを決める必要があり、そのことがテーブルデザインを決定づけるでしょう。ローンには1つの本または複数の本がありますか?学生とローンの関係についても同じ質問です。これらは、あなたが解決しようとしている問題を人々が理解するのを助けるためにあなたの投稿に含めるべきものです。 – nolt2232