资源描述:
《图书馆借阅管理系统3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
实验报告实验五图书借阅管理系统实验平台:SQLServer2005姓名、学号:指导教师:殷奕学院:南师大中北学院专业:物流信息管理课程:数据库课程设计实验日期:5.17,5.24实验地点: 目录一﹑实验目的:3二、预习要求:3三、实验概述3四、实验内容4五、实验步骤41、E-R图42、关系模式53、创建“图书借阅管理系统”数据库5(1)创建基本表5(2)插入数据8(3)管理基本表12(4)数据查询19(4)数据更新22(5)触发器25 实验5图书借阅管理系统一﹑实验目的:1、设计图书借阅管理系统的E-R图2、将图书借阅管理系统的E-R图转化为图书借阅管理系统的关系模式3、创建“图书借阅管理系统”数据库4、进行数据查询5、数据更新6、建立触发器二、预习要求:1、画E-R图2、了解E-R图和关系模式转化的关系,对图书信息管理系统进行需求分析3、建立数据库,选择数据4、了解数据查询、数据更新和触发器三、实验概述图书借阅管理包括借书、还书、图书维护、读者维护、登录管理;图书管理包括增加图书信息、更改图书信息、删除图书信息、查找图书信息、显示图书信息;读者维护包括:增加读者信息、更改读者信息、删除读者信息、查找读者信息、显示读者信息。 四、实验内容1、根据需求分析设计E-R图2、根据E-R图转进行逻辑结构设计(即将E-R图转换为关系模式)3、数据库物理设计与实施(1)使用SQL语句创建“图书借阅管理系统”数据库(2)使用SQL语句建立和管理基本表①使用SQL语句创建基本表②设置约束条件③向表中添加数据4、管理基本表5、数据查询6、数据更新7、触发器五、实验步骤1、E-R图 2、关系模式图书类型(图书分类号,图书分类名称,描述信息)图书(图书编号,图书名称,图书分类号,作者,出版社,价格)读者(证件号,姓名,证件状态,联系方式)借阅(证件号,图书编号,借阅日期,应还日期,归还日期,罚款金额)3、创建“图书借阅管理系统”数据库(1)创建基本表创建图书类型表:CREATETABLE图书类型表(图书分类号CHAR(20)NOTNULLPRIMARYKEY,图书分类名称CHAR(20)NOTNULL,描述信息VARCHAR(50)NOTNULL) 创建图书表:CREATETABLE图书表(图书编号CHAR(20)NOTNULLPRIMARYKEY,图书名称VARCHAR(50)NOTNULL,图书分类号CHAR(20)NOTNULL,作者CHAR(20)NOTNULL,出版社CHAR(30),价格MONEYCHECK(价格>0),CONSTRAINT图书借阅管理系统_图书表_图书分类号FOREIGNKEY(图书分类号)REFERENCES图书类型表(图书分类号)) 创建读者信息表:CREATETABLE读者信息表(证件号CHAR(15)NOTNULLPRIMARYKEY,姓名CHAR(20)NOTNULL,证件状态CHAR(10)NOTNULL,联系方式CHAR(11)NOTNULL) 创建借阅信息表:CREATETABLE借阅信息表(证件号CHAR(20)NOTNULL,图书编号VARCHAR(50)NOTNULL,借阅日期CHAR(20)NOTNULL,应还日期CHAR(20)NOTNULL,归还日期CHAR(30),罚款金MONEYDEFAULT0CHECK(罚款金>=0),CONSTRAINT图书借阅管理系统_借阅信息表PRIMARYKEY(证件号,图书编号))(2)插入数据插入图书类型表数据:insertinto图书类型表values('O411','电子类-电工技术','电子类图书')insertinto图书类型表values('O412','电子类-自动控制','')insertinto图书类型表values('TP301','电子类-家电维修','电子类的家电控制')insertinto图书类型表values('TP302.7','计算机类-其他','')insertinto图书类型表values('TP312','计算机类-软件开发','')insertinto图书类型表values ('TP312.7','计算机类-办公软件','')插入图书表数据:insertinto图书表values('9787115179043','Excel高效办公—市场与销售管理','TP312.7','沈登华','机械工业出版社','49.0000')insertinto图书表values('9787115219619','随身查—Office办公高手应用技巧','TP312.7','沈丽','清华大学出版社','12.8000')insertinto图书表values('9787115220578','说服力让你的PPT会说话','TP312.7','周舟','清华大学出版社','39.0000')insertinto图书表values('9787115221674','精通Linux设备驱动程序开发','TP316.2','陈华亭','机械工业出版社','89.0000')insertinto图书表values('9787115222817','spss统计分析标准教程(附光盘)','TP312.7','江铠同','机械工业出版社','48.0000')insertinto图书表values('9787115223104','Office2003办公应用完全','TP312.7','蒋健','清华大学出版社','49.0000')insertinto图书表values('9787115223883','软件测试技术(第二版)','TP302.7','于丹','清华大学出版社','32.0000')insertinto图书表values('9787115224132','苹果MacOSX10.6SnowLeo','TP316.2','陈廷飞','清华大学出版社','79.0000') 插入读者信息表数据:insertinto读者信息表values('H200121001','程晓曦','可用','18900000000')insertinto读者信息表values('H200121002','周鼎','可用','15800000000')insertinto读者信息表values('H200121004','马骁','可用','15600000000')insertinto读者信息表values('H200121006','王小虎','可用','15800000000')insertinto读者信息表values('H200121009','王力','可用','13600000000')insertinto读者信息表values('H200121010','杨华','可用','15200000000')insertinto读者信息表values('J200902001','王浩粗','可用','13200000000')insertinto读者信息表values('J200902002','王朝','失效','15200000000')insertinto读者信息表values('J200902003','崔定科','可用','15600000000')insertinto读者信息表values('J200902005','李晨','失效','13200000000')insertinto读者信息表values('J200902006','周大华','可用','13700000000') 插入借阅信息表数据:insertinto借阅信息表values('J200902001','9787115224262','2011-04-06','2011-05-06','2011-05-10','0.4000')insertinto借阅信息表values('W200912002','9787115224996','2011-05-06','2011-06-06','2011-06-16','1.0000')insertinto借阅信息表values('J200902006','9787115226334','2011-04-05','2011-05-05','2011-08-10','3.0000')insertinto借阅信息表values('H200121004','9787115225481','2011-07-10','2011-08-10','2011-09-10','3.0000')insertinto借阅信息表values('J200902007','9787115231048','2011-07-10','2011-08-10','2011-08-10','0.0000')insertinto借阅信息表values('J200902007','9787115231048','2011-09-18','2011-10-18','2011-10-18','0.0000')insertinto借阅信息表values('H200121006','9787115232267','2011-08-10','2011-09-10','2011-09-15','0.5000')insertinto借阅信息表values('J200902006','9787115227898','2011-04-05','2011-05-05','2011-05-05','0.0000') (3)管理基本表使用SSMS给图书表中的属性列“价格”添加默认值“10.00”修改图书表中价格的属性——默认值或绑定为10.00使用ALTERTABLE语句给借阅表中的属性列“罚款金”添加默认值“0”ALTERTABLE借阅信息表addCONSTRAINT图书借阅管理系统_借阅信息表_罚款金DEFAULT(0)for罚款金 使用SQL语句删除读者表中的“联系方式”字段ALTERTABLE读者信息表DROPCOLUMN联系方式使用SQL语句为读者表增加一列“EMAIL”,要求数据类型为Varchar(30)ALTERTABLE读者信息表addEMAILVarchar(30) 使用SQL语句修改图书表中的“图书名称”字段的属性,将数据类型该为Varchar(50),允许为空值使用SQL语句删除表(新建一张表,然后用语句删除)CREATETABLE信息表(idCHAR(15)NOTNULLPRIMARYKEY,) DROPTABLE信息表图书借阅管理系统中包含不同类型的图书,为了方便管理员分类管理,现在需要为多种图书建立视图。现以“计算机类图书”为例,为“计算机”类型的图书建立视图。createview计算机asselect*from图书类型表where图书分类名称='计算机' 建立“读者借书情况”视图。视图中需包含:读者证件号、读者姓名、图书名称以及借阅日期。createview读者借书情况asselect读者信息表.证件号,读者信息表.姓名,图书表.图书名称,借阅信息表.借阅日期from图书表,读者信息表,借阅信息表,图书类型表where图书分类名称='计算机'删除建立的“计算机图书”视图。dropview计算机 分别使用SSMS和SQL语句为借阅表中的“证件号”和“借阅日期”建立组合次索引。 CREATECLUSTEREDINDEXindex_nameON借阅信息表(证件号,借阅日期)使用SQL语句为图书表中的图书分类号、书名、出版社字段分别建立索引。(有问题)图书表已存在索引 (4)数据查询查询作者“杨万华”编写的图书名称和出版社以及价格select*from图书表where作者='杨万华'查询图书“计算机主板维修从业技能全程通”的价格select图书表.图书名称,图书表.价格from图书表where图书名称='计算机主板维修从业技能全程通' 统计图书馆每种书籍的馆藏量,并按照馆藏量由多到少排序查询读者“王小虎”所借图书的情况(缺少图书编号为9787115232267的数据)select借阅信息表.证件号,读者信息表.姓名,借阅信息表.图书编号,图书表.图书名称,图书表.图书分类号,图书表.作者,图书表.出版社,图书表.价格from借阅信息表,读者信息表,图书表where借阅信息表.证件号=读者信息表.证件号and借阅信息表.图书编号=图书表.图书编号and读者信息表.姓名='王小虎' 统计每位读者的借书数量Select借阅信息表.证件号,count(借阅信息表.证件号)as借书数量from借阅信息表groupby借阅信息表.证件号orderbycount(证件号)desc查询不可以借阅图书的读者select姓名,证件状态from读者信息表where读者信息表.证件状态='失效'查询借阅图书超期归还的读者信息,包括读者证件号和读者姓名select借阅信息表.证件号,读者信息表.姓名,借阅信息表.图书编号from借阅信息表,读者信息表 where借阅信息表.证件号=读者信息表.证件号and借阅信息表.归还日期>借阅信息表.应还日期统计截止2011年9月共借出多少本书(4)数据更新将读者“陈晓琪”的证件状态设置为可用update读者信息表set证件状态='可用'where姓名='陈晓琪' 删除姓名为“李涵”的读者借阅信息deletefrom借阅信息表where证件号in(select证件号from读者信息表where姓名='李涵') 增加一条图书信息,图书编号为“9787115231011”,图书名称为“C++程序设计”,图书分类号为“TP301”,作者是“谭浩强”,出版社是“清华大学出版社”,价格为“24.00”insertinto图书表values('9787115231011','C++程序设计','TP301','谭浩强','清华大学出版社','24.00') (5)触发器在借阅表上建立一个插入触发器,以保证向借阅表插入“证件号”在读者表中存在,如果不存在,就不会向借阅表中插入借阅信息记录在借阅表上建立一个更新触发器,监视借阅表的“借阅日期”列,使其不能修改。