我有3张桌子
Student Loan Book
- StudentID LoanID BookID
我需要设置哪些外键,所以当给出学生姓名时,搜索该学生的所有贷款并显示书籍详细信息
答案 0 :(得分:6)
这是一个模糊要求的开始:
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)
);
答案 1 :(得分:3)
Student
--------
Studentid -PK
Loan
---------
Loanid - PK
Studentid -FK
Book
-------
Bookid -PK
Loanid -FK
答案 2 :(得分:1)
不确定您拥有哪些列,假设您在student表中有studentId,那么它将成为学生和其他两个表中foriegn的主要候选者。
答案 3 :(得分:1)
你必须在其他表中使用studentid作为外键...因为你想在学生的基础上搜索。所以这个键应该放在剩下的表中