《数据库系统概论课程设计(共12页).doc》由会员分享,可在线阅读,更多相关《数据库系统概论课程设计(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上图书馆数据库管理系统目录 专心-专注-专业 一、图书馆管理系统 E-R 图教师借阅图书期限较长,并且允许借阅的书本量较大。因此,将教师借阅关系与学生借阅关系分开较为适宜。分类号书名作者出版社类别出版日期ISBN价格总量借出量年龄电话性别姓名学号系部编号系部名称专业编号专业名称归属归属系部专业归属学生学号与专业编号的联系学生学号与系部编号的联系系部编号与专业编号的联系借阅日期续借次数借阅日期续借次数学生图书学生借阅教师借阅教师工号姓名性别年龄职称电话二、图书馆管理系统功能实现示意图相关信息写入借阅图书RBorrowBook图书信息表Book学生借阅图书信息表 Stude
2、ntBooktri_Book图书库存量减1tri_SborrowNum借阅量未超5本学生借阅图书信息表 StudentBook由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明:相关信息写入归还图书RReturnBook读者还书信息表RDeleted图书信息表Book学生借阅图书信息表 StudentBooktri_SreturnBook图书库存量加1tri_SborrowNum删除借阅记录续借图书RRenewBooktri_SrenewBook续借次数不超三次,则将续借次数加1 相关信息写入学生借阅图书信息表 StudentBook学生借
3、阅图书信息表 StudentBook专业信息表Major学生信息表Student系部信息表Dept图书信息表Book查询图书借阅情况 RQueryBook获取图书相关信息计算学生专业信息计算学生系部信息获取学生相关信息综合信息输出图书信息表Book由存储过程RindexBook 查找匹配图书信息 综合信息输出给读者读者检索图书RIndexBook三、图书馆管理系统功能图例3.1 读者借阅图书Execute RBorrowBook 读者号,图书分类号-读者借阅图书实例use LibrarySystemgoexec RBorrowBook T,D630.3 L836-其中T以T为标识,代表教师编号
4、exec RBorrowBook S,D630.3 L836-其中S以S为标识,代表学生学号go -结果如下:3.2 读者归还图书Execute RReturnBook 读者号,图书分类号-读者归还图书实例use LibrarySystemgoexec RReturnBook T,D630.3 L836exec RReturnBook S,D630.3 L836go -结果如下:3.3 读者续借图书Execute RRenewBook 读者号,图书分类号-读者续借图书实例use LibrarySystemgo-读者借阅图书exec RBorrowBook T,D630.3 L836exec R
5、BorrowBook S,D630.3 L836gowaitfor delay 0:0:5-读者续借图书exec RRenewBook T,D630.3 L836exec RRenewBook S,D630.3 L836go -结果如下:3.4 读者查询借阅图书情况Execute RQueryBook 读者号-读者查询图书借阅情况实例use LibrarySystemgoexec RQueryBook Texec RQueryBook Sgo-结果如下:3.5 读者检索图书信息Execute RIndexBook 关键词-读者检索图书信息实例use LibrarySystemgoexec RI
6、ndexBook 数据库go-结果如下:四、图书馆管理系统附加功能4.1 往学生表中插入一列系部,其值等于学号中代表系部的位的值,再插入一列专业号,其值等于学号中代表专业的位的值-往学生表S中插入一列系部,其值等于学号中代表系部的位的值use LibrarySystemgoalter table Studentadd SdeptNo char(2)godeclare sno char(10),total int,i intselect total=count(*),i=1from Studentwhile(i=total)begin-查询数据表第i 行数据的SQL语句select top 1
7、sno=Sno from Student where Sno not in(select top (i-1) Sno from Student) update Studentset SDeptNo=substring(sno,4,2)where Sno=snoset i=i+1endselect * from Studentgo-结果如下: -往学生表S中插入一列专业号,其值等于学号中代表专业的位的值use LibrarySystemgoalter table Studentadd SMajorNo varchar(50)godeclare sno char(10),total int,i i
8、ntselect total=count(*),i=1from Studentwhile(i=total)begin-查询数据表第i 行数据的SQL语句select top 1 sno=Sno from Student where Sno not in(select top (i-1) Sno from Student) update Studentset SMajorNo=substring(sno,4,4)where Sno=snoset i=i+1endgo-结果如下: 4.2 查询每个学生对书本的借阅数量-查询每个学生对书本的借阅数量use LibrarySystemgoselect
9、Student.Sno 学号,Sname 姓名,Book.ClassifyNo 图书分类号,Bname 书名from StudentBook,Student,Bookwhere Student.Sno=StudentBook.Sno and StudentBook.ClassifyNo=Book.ClassifyNoorder by Student.Snocompute count(Student.Sno) by Student.Snogo-结果如下:4.3 查询各个专业的学生借阅书本的数量use LibrarySystemgodeclare tempDept table(专业编号char(4
10、)primary key,专业varchar(30)not null,学生借阅书本数量int default 0)Insert into tempDept(专业编号,专业) select Mno,Mname from Majordeclare i int,total int,no char(10)select total=count(*),i=1 from StudentBookwhile(itotal) beginselect top 1 no=Sno from StudentBook where Sno not in(select top (i-1) Sno from StudentBook)update tempDeptset 学生借阅书本数量=学生借阅书本数量+1where 专业编号=substring(no,4,4)set i=i+1endselect * from tempDeptselect total as 学生借阅书本总量go -结果如下: