毕业设计数据库报告 图书借阅管理系统.docx |
您所在的位置:网站首页 › 数据库系统概论课程设计图书管理系统 › 毕业设计数据库报告 图书借阅管理系统.docx |
毕业设计数据库报告 图书借阅管理系统.docx 《毕业设计数据库报告 图书借阅管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计数据库报告 图书借阅管理系统.docx(10页珍藏版)》请在冰豆网上搜索。 毕业设计数据库报告图书借阅管理系统 课程设计 课程名称数据库系统概论 题目名称图书借阅管理系统 学生学院计算机学院 专业班级 学号 学生姓名 指导教师左亚尧
2013年1月17日 一、需求分析 数据需求 图书借阅管理系统是管理图书与借书者的关系,需要有 图书的信息,如书的编号,书名,出版社,作者等; 借书者的信息,如学生的学号,姓名,性别,院系等; 借阅的信息,如学生的学号,书的编号,借出日期,归还日期等。 功能需求 该系统是为了方便管理员管理图书和借书者。 所以应具有查询图书的功能,查询借出的图书的功能,查询借书者的功能,借书还书的功能以及查询借书过期的功能。
2、E-R图
三、逻辑结构设计 将数据库的概念模型转换为关系模型 借书者(学号,姓名,性别,院系) 图书(编号,书名,出版社,作者) 借阅(学号,编号,借书日期,还书日期) (注: 下划线是主键,波浪线是外键)
4、数据库建立 1、创建数据库 USEmaster GO CREATEDATABASE图书借阅 ON (NAME='图书借阅_dat', FILENAME='e: \数据库\图书借阅dat.mdf', SIZE=30MB, FILEGROWTH=20%) LOGON (NAME='图书借阅_log', FILENAME='e: \数据库\图书借阅log.ldf', SIZE=3MB, FILEGROWTH=1MB) GO 创建结果:
2、创建基本表 createtable"借书者" (学号char(10)primarykeynotnull, 姓名char(8), 性别char (2), 院系char(10), )
createtable"图书" (编号char(8)primarykeynotnull, 书名char(20), 出版社char(20), 作者char(8), )
createtable"借阅" (学号char(10), 编号char(8), 借书日期smalldatetime, 还书日期smalldatetime, foreignkey(学号)references借书者(学号), foreignkey(编号)references图书(编号), )
3、数据库的关系图
4、插入数据 插入借书者的数据:
插入图书的数据: 插入借阅的情况: 5、测试 借书情况 查询借书的信息,包括借书者的学号,名字,书名 select借阅.学号,姓名,书名 from图书,借书者,借阅 where借书者.学号=借阅.学号AND 图书.编号=借阅.编号 借书过期 给出借书超期的信息,包括借书者的学号,姓名,书名,过期天数 select借书者.学号,姓名,书名,DATEDIFF(DAY,还书日期,GETDATE())as过期天数 from图书,借书者,借阅 where借书者.学号=借阅.学号AND 图书.编号=借阅.编号AND GETDATE()-还书日期>0
借书 有学生借书,要在借书者、借阅的基本表中增加相应的数据 INSERTINTO借书者VALUES('11111111','张三','男','计算机'); INSERTINTO借阅VALUES('11111111','KO69351','2013/1/17','2013/3/8'); 修改前:
修改后:
还书 有学生还书,应先在借阅的基本表中根据学号和编号撤销相应数据,再判断该借书者是否有借其他书,若没有则在借书者的基本表中撤销该借书者的数据。 delete from借阅 where学号='11111111'and 编号='KO69351' delete from借书者 wherenotexists (select* from借阅 where学号=借书者.学号)
修改前: 修改后:
6、心得 经过两天的时间,在自己的努力下,基本完成本次课程设计,通过这次课程设计,了解了设计一个数据库系统的复杂性和对综合知识要求较高。 因此在设计阶段我们查阅了很多资料加深了对数据库知识的认识。 这次数据库课程设计是不同于平时的实验的,要严格作出这个设计的需求分析、逻辑结构、E-R图的构建等。 但在创建数据库和基本表等操作在之前的实验中已经比较了解,所以在这方面并不麻烦。 但是要注意主键的建立,外键的连接以及基本表的关系。 在设计中也遇到过语法等错误,这说明就算做过实验,但对SQLServer也并不完全熟悉,而做完该设计后对SQLServer有更深入的了解了,这对我来说也是有很大的收获的。 本来想做一些图形界面的,但要重新学一门软件或者语言,比较费时间,就退而求次直接用SQL语句来操作,虽然不够直观但也能实现基本的操作了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |