ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:191.67KB ,
资源ID:21791329      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21791329.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计之图书管理系统Word文档下载推荐.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计之图书管理系统Word文档下载推荐.docx

1、如该读者是否有过期未还的图书,是否借阅图书已经超过五本,有上述情况之一则借阅不成功。否则借阅成功。读者只可在该本书尚未超期的情况下才可以进行续借,否则借阅不成功。 (4) 还书操作 读者把借阅证及要还的图书交给图书管理员,由他进行审核,如该图书有逾期则通知该读者交罚款。否则,图书交由图书管理员放回书库,并修改图书,读者借书信息表。第二章 系统功能设计通过通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到如下图所示的功能模块图。图 2-1系统功能模块图第三章 数据库设计数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统操作效率已经能否保证数据的一

2、致性、完成性和安全性。3.1 数据库设计 根据图书管理系统的功能要求,通过分析系统要设计的相关实体一集要收集、存储和操纵数据信息,得到如下图1234所示的系统E-R图。根据系统E-R图得到以下关系模式。读者基本信息(读者号,姓名,性别,借书数量)图书基本信息(图书号,书名,类型,作者,译者,出版社,内容,馆藏数,已借数)还书基本信息(读者号,书号,还书数量,还书日期)借书基本信息(读者号,书号,书名,借书数量,借书时间,应还时间) 图1 3-1 读者E-R图图2 3-1图书 E-R图图3 3-1 还书E-R图图4 3-1 借书E-R图3.2数据表设计根据关系模式,确定要建立的数据库和表。给表中

3、添加说明,并建立主键和外键如下图5678所示:“读者”表图5 “读者”表 “图书”表:图 6“图书”表 “还书”表图 7“还书”表“借书”表:图 8“借书”表然后给图书表中添加数据:/*向图书表中插入数据*/USE bookmgGOINSERT 图书VALUES (540541903,子不语壹漫画夏达NULL新世纪出版社18.006,0)540541904子不语贰540541905子不语叁540541906子不语肆540541907子不语伍540541908子不语陆3.3 数据库编程 以下是各个表的创建代码:/*创建各个表*/CREATE TABLE 读者(readerid varchar(9

4、) NOT NULL PRIMARY KEY,readername varchar(20) NOT NULL,readersex varchar(10) NOT NULL,booknum SMALLINT CHECK(borrownum=0 AND borrownum=0),haveborrow SMALLINT CHECK(haveborrow=0)CREATE TABLE 还书readerid varchar(9) NOT NULL,bookid varchar(9) NOT NULL,booknum SMALLINT CHECK(booknum=0 AND booknum=5),inpu

5、tdate datetime ,FOREIGN KEY (readerid) REFERENCES 读者(readerid),FOREIGN KEY (bookid) REFERENCES 图书(bookid)CREATE TABLE 借书bookname varchar(40) NOT NULL,outputdate datetime NULL,shoulddate datetime NULL,FOREIGN KEY(readerid) REFERENCES 读者(readerid),FOREIGN KEY(bookid) REFERENCES 图书(bookid)第四章 功能模块的创建4.

6、1 创建向读者表插入数据的存储过程/*创建存储过程向读者表中插入数据*/GO CREATE PROCEDURE reader_insertelem1 varchar(9),elem2 varchar(20),elem3 varchar(10),elem4 smallintASBEGIN insert into 读者(readerid,readername,readersex,borrownum)values elem1,elem2,elem3,elem4END/*读者表中插入实例*/EXEC reader_insert 111007131吴书敏男0图9读者表中插入实例4.2 创建向图书表中插入

7、数据的存储过程/*通过存储过程向图书表中插入数据*/CREATE PROCEDURE book_insertelem2 varchar(40),elem3 varchar(20),elem4 varchar(20),elem5 varchar(20),elem6 varchar(20),elem7 varchar(50),elem8 varchar(10),elem9 smallint,elem10 smallint insert into 图书(bookid,bookname,booktype,bookauther,booktrslator,bookpress,bookcontent,boo

8、kprice,noborrow,haveborrow)elem1,elem2,elem3,elem4,elem5,elem6,elem7,elem8,elem9,elem104.3 创建实现还书的存储过程/*创建还书存储*/CREATE PROCEDURE return_insertelem2 varchar(9),elem3 smallintINSERT INTO 还书(readerid,bookid,booknum)elem1,elem2,elem3BEGINUPDATE 还书SET inputdate=GETDATE()WHERE readerid=elem1;UPDATE 图书SET

9、noborrow=noborrow+elem3WHERE bookid=elem2;SET haveborrow=haveborrow-elem3UPDATE 读者SET borrownum=borrownum-elem3SELECT 还书成功/*还书实例*/EXEC return_insert ,1图 10还书实例4.4 创建实现借书的存储过程/*创建借书存储*/CREATE PROCEDURE borrow_insertinsert into 借书readerid,bookid,booknumvalues/*这里用了判定是否超期函数judgedate,将返回值赋予判断变量judgement

10、*/DECLARE judgement intSET judgement=(SELECT max(overdays)FROM judgedate(elem1) /*判定该读者是否有图书超期*/IF (judgement借书成功UPDATE 借书SET outputdate=GETDATE()WHERE readerid=elem1 AND bookid=elem2;SET shoulddate=DATEADD(day,30,getdate()/*声明一个变量bookname从图书表里读取图书名到借书表里*/DECLARE bookname varchar(40)SET bookname=(SE

11、LECT bookname FROM 图书WHERE bookid=elem2SET bookname=booknameSET noborrow=noborrow-elem3SET haveborrow=haveborrow+elem3SET borrownum=borrownum+elem3ELSE SELECT 借书失败,有超期未还图书/*借书实例*/EXEC borrow_insert ,2图11借书实例4.5 建立是否超期表值函数CREATE FUNCTION judgedate(elem1 as varchar(9)RETURNS overdate TABLEoverdays int

12、INSERT overdateSELECT day(GETDATE()-ISNULL(shoulddate,0)FROM 借书WHERE readerid=elem1RETURN4.6查询模块/*图书分类查询和分类统计*/CREATE PROCEDURE type_selectbooktype varchar(20)SELECT booktypeFROM 图书WHERE booktype=booktype;DECLARE booknum intSET booknum=(select sum(noborrow+haveborrow)WHERE booktype=booktypeSELECT bo

13、oktype AS 类型 ,booknum AS 本/*图书分类查询实例*/EXEC type_select 图12图书分类查询实例/*图书按书名查询和统计*/CREATE PROCEDURE bookname_selectbookname varchar(40)SELECT *WHERE bookname=bookname;WHERE bookname=booknameSELECT bookname AS 书名/*图书书名查询实例*/EXEC bookname_select 图13图书书名查询实例/*按作者查询和统计*/CREATE PROCEDURE bookauthor_selectbo

14、okauthor varchar(20)WHERE bookauthor=bookauthor;WHERE bookauthor=bookauthorSELECT bookauthor AS 作者/*图书作者查询实例*/EXEC bookauthor_select 图 14图书作者查询实例 结束语 当初选课的时候选图书管理,目的就是更好的理解、学习和使用好SQL 语言,所以我决定只做后台,这样能更好得理解和应用。通过一个月的努力,我自主完成了课题要求的所有功能。觉得收获很大。很多知识,老师并没有讲过,甚至使用的教材里也没有提到。但是在实践操作中,必须要用到的时候,自己就会去查去学,这就是所谓的实战吧。通过,本次课程设计我收获很大,认识到当遇到困难的时候要多和人沟通,并且要冷静得去思考去分析问题出在哪了,怎样才能解决。总之,我会吸取此次的经验并且在以后不满足所学的局限知识还要推陈创新,一步一步获得更大的收获。参考文献1 数据库原理和技术(SQL Server 2005)申事凯 戴祖诚 余玉梅 主编2 王珊,萨师煊 数据库系统概论第四版 高等教育出版社附录:(附上关键的源程序,5-10页)/*通过存储过程向读者表中插入数据*/*通过存储过程向图书表中插入数据*/CREATE PRO

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1