第二个实验
根据上述要求,可以设计以下3个表的表结构:
- 借书表(book_borrow):
- 借阅编号(borrow_id,主键)
- 书籍名称(book_name)
- 读者编号(user_id)
- 借阅日期(borrow_date)
- 应还日期(due_date)
- 还书表(book_return):
- 还书编号(return_id,主键)
- 借阅编号(borrow_id)
- 还书日期(return_date)
- 是否逾期(is_overdue)
- 用户表(user):
- 读者编号(user_id,主键)
- 读者姓名(user_name)
- 读者性别(user_gender)
- 读者年龄(user_age)
- 读者电话(user_phone)
DDL语句如下:
- 创建借书表:
CREATE TABLE book_borrow(
borrow_id INT PRIMARY KEY,
book_name VARCHAR(50),
user_id INT,
borrow_date DATE,
due_date DATE
);
- 创建还书表:
CREATE TABLE book_return(
return_id INT PRIMARY KEY,
borrow_id INT,
return_date DATE,
is_overdue BOOLEAN
);
- 创建用户表:
CREATE TABLE user(
user_id INT PRIMARY KEY,
user_name VARCHAR(50),
user_gender VARCHAR(10),
user_age INT,
user_phone VARCHAR(20)
);
根据DDL语句创建表后,可以进行以下操作:
- 查询借书表中的记录:
SELECT * FROM book_borrow;
- 查询还书表中的记录:
SELECT * FROM book_return;
- 查询用户表中的记录:
SELECT * FROM user;
对于图中的实验内容,主要是在已经创建的6个表的基础上进行表结构的创建与操作、字段属性的设置、主键、外键和索引的设置以及表之间关系的建立。具体内容如下:
- 表结构的创建与修改:
(1) 根据表9-2创建表名称为“教师2”的表结构,并输入2条记录。 - 表中字段属性的设置:
(1) 为“教师”表的“职称”字段设置查阅属性,实现从下拉列表框中选择教师的职称。
(2) 为“教师”表的“学历”字段设置默认值为“博士”。
(3) 为“教师”表的“工作日期”字段设置输人掩码为短日期格式。 - 主键、外键和索引的设置:
(1) 为“教师”表中的“职称”和“工资”字段设置索引,先按“职称”的升序排序,职称相同的再按“工资”的降序排序。 - 表之间关系的建立:
(1) 为所有表设置主键,进而分析并建立所有表之间的关系。 - 复制表和建立关系:
(1) 复制“学生”表和“选课”表到当前数据库中,表名分别为“学生表2”和“选课表2”。
(2) 建立“学生表2”和“选课表2”之间的关系,之后从“学生表2”中删除学号为“10010001”的学生的记录,要求在删除这个学生的记录之后,“选课表2”中可以自动删除这名学生的所有相关记录。
针对图中的拓展实践部分,需要根据要求创建一个“图书借阅管理”数据库,具体要求如下:
- 创建3个表:借书、还书和用户。根据要求设计每个表的表结构并录入至少5条记录。
- 每个表的字段名称、数据类型以及字段长度等属性设计要合理。
- 分析并创建表的主键。
- 建立表之间的关系。