教材系统mysql 建表语句
时间: 2024-12-27 21:24:48 浏览: 10
### 教材系统 MySQL 创建表格 SQL 语句 示例
为了构建一个教材系统的数据库结构,下面提供了一个详细的 `textbook` 表创建示例。此表用于存储有关每本教材的信息:
```sql
CREATE TABLE textbook (
book_id INT AUTO_INCREMENT PRIMARY KEY,
isbn VARCHAR(13) NOT NULL UNIQUE, -- ISBN编号
title VARCHAR(255) NOT NULL, -- 图书名称
author VARCHAR(255), -- 作者名
publisher VARCHAR(255), -- 出版日期
price DECIMAL(10, 2), -- 定价
stock_quantity INT DEFAULT 0, -- 库存数量
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
```
此外,在设计教材管理系统时,通常还需要考虑其他关联表的存在,比如记录学生借阅情况的 `borrow_record` 表以及管理教师推荐书籍列表的 `recommendation_list` 表。
对于 `borrow_record` 表的设计如下所示:
```sql
CREATE TABLE borrow_record (
record_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT NOT NULL, -- 学生ID
book_id INT NOT NULL, -- 教材ID
borrow_date DATE NOT NULL, -- 借阅日期
due_date DATE NOT NULL, -- 归还期限
actual_return_date DATE, -- 实际归还日期
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (book_id) REFERENCES textbook(book_id)
);
```
而针对 `recommendation_list` 表,则可以按照以下方式进行定义:
```sql
CREATE TABLE recommendation_list (
list_id INT AUTO_INCREMENT PRIMARY KEY,
teacher_name VARCHAR(64) NOT NULL, -- 推荐老师姓名
course_code CHAR(7) NOT NULL, -- 所属课程编码
book_isbn VARCHAR(13) NOT NULL, -- 被推荐图书ISBN
recommend_reason TEXT, -- 推荐理由
recommended_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (book_isbn) REFERENCES textbook(isbn)
);
```
通过上述三个主要的数据表,能够较为全面地覆盖到教材系统中的核心业务逻辑[^1]。
阅读全文