实验目的
1、掌握SQL更新语句
实验内容
1、采用默认方式创建数据库:BookManage
2、按要求分别创建下述表:
表1:bookTypes(图书类型表)
字段 | 描述 | 数据类型 | 允许空 | 主键 | 其它 |
id | 类型编号 | int | 否 | 是 | |
name | 类型名称 | varchar(20) | 否 |
表2:readers(读者信息表)
字段 | 描述 | 数据类型 | 允许空 | 主键 | 其它 |
id | 读者编号 | int | 否 | 是 | |
name | 读者姓名 | varchar(20) | 否 |
表3:books(图书信息表)
字段 | 描述 | 数据类型 | 允许空 | 主键 | 其它 |
id | 图书编号 | int | 否 | 是 | |
name | 图书名称 | varchar(20) | 否 | ||
price | 图书价格 | decimal(18,2) | |||
quantity | 图书数量 | int | |||
btype | 图书类型编号 | int | 参照 bookTypes(id) |
表4:borrows(借阅信息表)
字段 | 描述 | 数据类型 | 允许空 | 主键 | 其它 |
rid | 借阅读者编号 | int | 否 | 是 | 参照readers(id) |
bid | 借阅图书编号 | int | 否 | 是 | 参照books(id) |
valid | 归还标记 | bit | 否 | 1;未归还(默认) 0:已归还 |
3、利用SQL实现数据更新和查询(实验报告中只提交本部分SQL脚本)
(1)新增2种图书类型: (1,’历史’),(2,’计算机’)
(2)新增2位读者: (1,’张三’),(2,’李四’)
(3)新增2本图书: (1,’史记’,56.8,2,1),(2,’数据库原理’,47.2,3,2)
(4)张三和李四各借阅了1本’史记’;
说明:借书只增加借阅记录,不修改图书数量。新增借阅记录时,可直接使用图书编号和作者编号,无需再查询。
(5)查阅已无书可借的图书名称;
(6)张三归还了借阅的1本’史记’,另外借阅了’数据库原理’1本;
说明:为便于日后的数据统计分析,还书不删除借阅记录,只修改借阅记录。
(7)查询未归还图书’史记’的人员姓名;
(8)查询正被借阅的图书名称;
(9)删除读者“张三”;
说明:请尝试删除。如能删除,则写出删除语句;如不能删除,请说明原因即可。
实验报告模版
上机实验结果提交点
参考答案
数据查询结果参考-供自我检查使用
(1)新增2种图书类型: (1,’历史’),(2,’计算机’)
bookTypes表更新以后的结果参考:

(2)新增2位读者: (1,’张三’),(2,’李四’)
readers表更新以后的结果参考:

(3)新增2本图书: (1,’史记’,56.8,2,1),(2,’数据库原理’,47.2,3,2)
books表更新以后的结果参考:

(4)张三和李四各借阅了1本’史记’;
borrows表更新以后的结果参考:

(5)查阅已无书可借的图书名称;
完整的查询结果参考:

(6)张三归还了借阅的1本’史记’,另外借阅了’数据库原理’1本;
borrows表更新以后的结果参考:

(7)查询未归还图书’史记’的人员姓名;
完整的查询结果参考:

(8)查询正被借阅的图书名称;
完整的查询结果参考:

(9)删除读者“张三”;
readers表更新以后的结果参考:

borrows表更新以后的结果参考:


