数据库 - 使用外键进行多行

时间:2015-07-11 16:18:50

标签: database

我正在使用多个表创建数据库。

基本上它是校园的原型'图书馆数据库,有书和学生信息。我制作的程序只有借用,现在返回功能。所以我打算用这种方式把它们放进去:

表格STUDENT:

 CREATE TABLE STUDENT(
 ID INT NOT NULL PRIMARY KEY,
 STUDENT_NAME VARCHAR(30),
 STUDENT_ID INTEGER NOT NULL,
 BOOK_ID INTEGER,
 FOREIGN KEY (BOOK_ID) REFERENCES BOOK(ID)
)

表BOOK:

CREATE TABLE BOOK(
 ID INT NOT NULL PRIMARY KEY,
 BOOK_TITLE VARCHAR(30),
 BOOK_TOTAL INTEGER NOT NULL,
 BOOK_LEFT INTEGER NOT NULL
)

当允许学生最多借三本书时会出现问题。例如book1,book2和book3。我该怎么办?

首先要在表STUDENT中添加两列:BOOK_BORROWED和BOOK_QUOTA来检查它们的配额,对吗?

其次,在学生的信息中添加更多书籍会有什么解决方案?我应该添加另一个存储ID(STUDENT)和ID(BOOK)的表来显示他们的关系吗?或者(如果可能)使用BOOK_ID列来存储多个ID(BOOK),例如

ID 1
STUDENT_NAME Kevin
STUDENT_ID 12345
BOOK_ID 1,2,3 //This?

0 个答案:

没有答案