数据库课程设计 图书馆管理系统.doc_第1页
数据库课程设计 图书馆管理系统.doc_第2页
数据库课程设计 图书馆管理系统.doc_第3页
数据库课程设计 图书馆管理系统.doc_第4页
数据库课程设计 图书馆管理系统.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计设计报告课程名称:图书馆管理系统1、项目背景(写出项目系统提出背景和必要)现在,科学技术的飞速发展把人类社会推向了一个崭新的时代信息时代。这已是无可争议的事实;信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱,这已在全社会达到共识。图书管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以图书管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。图书管理系统的建立更进一步的方便了师生对图书的借阅。2、系统功能本系统为我校图书馆管理系统,其功能由图书馆图书馆图书管理的日常事物确定,力求提高我校师生图书借阅工作的效率,压缩图书节约信息流通的成本和时间,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长。方便图书统计,借阅与报表的生成,为我校师生借阅图书提供了便捷的服务,系统主要完成如下功能:(1)图书基本信息管理登记,提供图书的基本信息输入(2)登记学生借阅情况(3)统计分析图书借阅情况图书系统管理流程图:数据库设计:读者管理读者信息图书借阅续借图书归还罚款管理流通管理图书信息图书管理管理员本系统主要设计对象(实体):读者、书与读者相关的信息:编号、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期与书相关的信息:编号、书名、作者、出版社、价格图书的借阅是系统的核心行为,涉及(借期、还期)就是借阅时间经过分析,系统ER模型图如下:将ER模型图转换,得到以下以下关系模式读者(读者编号、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期)书(图书编号、书名、作者、出版社、价格)借阅(读者编号、归还编号、罚款编号、借阅编号、图书编号)因为:读者(读者号、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期)函数依赖集=读者号姓名,读者号性别,读者号类型,读者号出生日期,读者号有效证件,读者号证件号码,读者号联系方式,读者号登记日期关系中的码=读者号,非主属性=(姓名,性别)因为:每一个属性都是单一的属性,所以达到第一范式,每一个非主属性完全依赖于码,所以达到第二范式,图书借阅Pk借阅编号图书编号读者编号借阅时间应还时间续借次数状态图书信息Pk图书编号书名作者出版社价格图书归还Pk归还编号图书编号读者编号借阅时间应还时间续借次数状态图书罚款Pk罚款编号fk1读者编号fk2图书编号罚款日期应罚金额实收金额是否交款读者信息Pk读者编号姓名性别类型出生日期有效证件证件号码联系方式登记日期又因为:R中的每一个非主属性不传递依赖于码,所以进一步达到第三范式实验步骤:1、启动查询分析器,输入SQL语句,并执行:CreatedatabaselibraryOnprimary(name=图书管理数据库文件,filename=d:dblibrary.mdf,size=5,maxsize=30,fileGrowth=2)logon(name=图书管理日志文件,filename=d:dblibrary.ldf,size=5,maxsize=30,fileGrowth=2)在查询分析器输入SQL语句,创建表,SQL语言如下:创建“读者信息”数据表SQL脚本如下:CREATETABLEdbo.读者信息(编号varchar(20)NOTNULL,姓名varchar(20)NULL,性别varchar(8)NULL,类型varchar(20)NOTNULL,出生日期smalldatetimeNULL,有效证件varchar(60)NULL,证件号码varchar(60)NULL,联系方式varchar(100)NULL,登记日期smalldatetimeNULL,)ONPRIMARYGO创建“图书信息”数据表SQL脚本如下:CREATETABLEdbo.图书信息(编号varchar(50)NOTNULL,书名varchar(200)NULL,作者varchar(100)NULL,出版社varchar(100)NULL,价格money(8)NULL,现存量int(4)NULL,)ONPRIMARYGO创建“图书借阅”数据表SQL脚本如下:CREATETABLEdbo.图书借阅(借阅编号intIDENTITY(1,1)NOTNULL,图书编号varchar(50)NULL,读者编号varchar(40)NULL,借阅时间smalldatetime(4)NULL,应还时间smalldatetime(4)NULL,续借次数int(4)NULL,状态varchar(10)NULL)ONPRIMARYGO创建“图书罚款”数据表SQL脚本语言如下:CREATETABLEdbo.图书罚款(罚款编号intIDENTITY(1,1)NOTNULL,图书编号varchar(50)NULL,读者编号varchar(20)NULL,罚款日期smalldatetimeNULL,应罚金额moneyNULL,实收金额moneyNULL,是否交款char(10)NULL,)ONPRIMARYGO创建“图书归还”数据表SQL脚本语言如下:CREATETABLEdbo.图书归还(归还编号intIDENTITY(1,1)NOTNULL,图书编号varchar(50)NULL,读者编号varchar(40)NULL,退还押金moneyNULL,归还时间smalldatetimeNULL,确定归还text(16)NULL)ONPRIMARYGO创建主键和外键等表约束在查询分析器中通过如下代码创建数据表的主键及外键等表约束SQL脚本语言如下:ALTERTABLEdbo.图书信息WITHNOCHECKADDCONSTRAINTPK_图书信息PRIMARYKEYCLUSTERED(编号)ONPRIMARYGOALTERTABLEdbo.图书借阅WITHNOCHECKADDCONSTRAINTPK_图书借阅PRIMARYKEYCLUSTERED(借阅编号)ONPRIMARYGOALTERTABLEdbo.图书归还WITHNOCHECKADDCONSTRAINTPK_图书归还PRIMARYKEYCLUSTERED(归还编号)ONPRIMARYGOALTERTABLEdbo.图书罚款WITHNOCHECKADDCONSTRAINTPK_图书罚款PRIMARYKEYCLUSTERED(罚款编号)ONPRIMARYGOALTERTABLEdbo.读者信息WITHNOCHECKADDCONSTRAINTPK_读者信息PRIMARYKEYCLUSTERED(编号)ONPRIMARYGOALTERTABLEdbo.图书借阅ADDCONSTRAINT图书借阅_图书编号_fkFOREIGNKEY(图书编号)REFERENCESdbo.图书信息(编号)GOALTERTABLEdbo.图书归还ADDCONSTRAINT图书归还_图书编号_fkFOREIGNKEY(图书编号)REFERENCESdbo.图书信息(编号)GOALTERTABLEdbo.图书罚款ADDCONSTRAINTFK_图书罚款_读者信息FOREIGNKEY(读者编号)REFERENCESdbo.读者信息(编号),CONSTRAINTFK_图书罚款_图书信息FOREIGNKEY(图书编号)REFERENCESdbo.图书信息(编号)GO得出关系图如下:输入图书信息表的数据:输入读者信息表的数据:输入图书借阅表的数据:输入图书归还表的数据:输入图书罚款表的数据:创建存储过程系统使用了“sf_图书借阅”和“sf_图书归还”两个存储过程,实现的功能分别为借阅图书出库和归还图书入库,产生罚款信息等功能。SQL脚本语言如下:createprocsf_图书借阅asbegintran.注释:借图书出库,减少了图书库里的图书存量update图书信息set现存量=isnull(现存量,0)-1from图书信息asa,图书借阅asbwherea.编号=b.图书编号andb.状态=新借注释:设置借阅状态update图书借阅set续借次数=0,状态=未还where状态=新借commitGOSETQUOTED_IDENTIFIEROFFGOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_NULLSONGOcreateprocsf_图书归还借阅编号int,罚款金额moneyasbegintran.注释:还书入库,增加存储量update图书信息set现存量=isnull(现存量,0)+1from图书信息asa,图书借阅asbwherea.编号=b.图书编号andb.借阅编号=借阅编号.注释:如果罚款不是0,在图书罚款中产生记录if罚款金额0insertinto图书罚款(图书编号,读者编号,罚款日期,应罚金额,是否交款)select图书编号,读者编号,getdate(),罚款金额,0from图书借阅where借阅编号=借阅编号.注释:插入图书归还表insertinto图书归还(图书编号,读者编号,归还时间)select图书编号,读者编号,getdate()from图书借阅where借阅编号=借阅编号.注释:设置借阅状态update图书借阅set状态=已还where借阅编号=借阅编号commitGOSETQUOTED_IDENTIFIEROFFGOSETANSI_NULLSONGOSQL查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论