数据库技术课程实践课程设计报告access图书管理系统

上传人:仙*** 文档编号:34025833 上传时间:2021-10-20 格式:DOC 页数:19 大小:364KB
收藏 版权申诉 举报 下载
数据库技术课程实践课程设计报告access图书管理系统_第1页
第1页 / 共19页
数据库技术课程实践课程设计报告access图书管理系统_第2页
第2页 / 共19页
数据库技术课程实践课程设计报告access图书管理系统_第3页
第3页 / 共19页
资源描述:

《数据库技术课程实践课程设计报告access图书管理系统》由会员分享,可在线阅读,更多相关《数据库技术课程实践课程设计报告access图书管理系统(19页珍藏版)》请在装配图网上搜索。

1、数据库技术课程实践设计报告数据库技术课程实践设计报告目 录一、设计简介、设计环境21.1 简介21.2 操作系统21.3 软件版本2二、 设计功能需求分析2三、 数据库概念设计33.1、E-R图33.2、关系模型结构4四、数据库逻辑设计44.1、用表格逐个表示各数据项描述:44.2、分析函数依赖关系5五、数据库系统开发65.1、设计过程65.1.1 数据库建立65.1.2 数据定义75.1.3 用SQL进行查询。115.1.4 用SQL进行数据更新和数据控制125.1.5 各表的属性截图125.2、结果简介、实现功能、运行说明14六、 总结、分析17七、 参考文献17八、附录18一、设计简介、

2、设计环境1.1 简介 此图书管理系统主要是对图书馆种类繁多的图书进行管理,并合理管理好用户的借还信息,其开发主要是对后台数据库的建立和维护,力争达到了数据库的数据完整性和数据安全性的要求。开发历时三天,采用access进行此数据库系统的开发。 本图书管理系统的后台数据库开发主要包括图书信息、读者信息、借阅信息、管理员信息等。其实整体的功能主要分为两个面向,即面向读者和面向管理员。读者方面可以进行图书信息的查询、个人信息查询修改等,而管理员方面可以对图书进行增、删、查、改以及对读者借阅图书的管理确认,同时也可以修改自己的密码,此外管理员中的超级管理员可以对普通管理员进行增、删、改等管理。1.2

3、操作系统 Window XP1.3 软件版本 Access 2003 2、 设计功能需求分析 人工管理图书时代的手续繁索、效率低下给具有强烈时间观念的管理人员带来了诸多不便,图书馆缺少一套完善的图书管理软件,为了对图书的管理方便,因此必须开发图书管理系统。 图书管理系统是一种基于集中统一规划的数据库数据管理新模式。立足于当前实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。在对图书、读者的管理,其实是对图书、读者数据的管理,本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的信息

4、及行为、还有进行图书的增、删、改、查等;还可以通过借阅记录表查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,形象具体,使管理员以全面掌握图书的流通情况。 本系统的目的是提高图书管理工作的效率,减少相关人员的工作量,使的图书管理工作真正做到科学、合理的规划,系统、高效的实施。 基于以上需求,本系统应实现的功能如下: (1) 读者方面:l 查询图书:读者可以根据关键字进行简单的查询,也可以进行一些高级查询。 l 修改信息:读者可以简单的修改自己的一些信息。(2) 管理员方面:l 读者管理:可以对读者进行增、删、改、查等操作。l 图书管理:主要是进行图书的增、删、改、查。

5、l 借阅管理:是管理员使用最频繁的功能,对读者借书、还书得管理。l 其他功能:管理员中有超级管理员和普通管理员,超级管理员可以对其他管理员进行增、删、查、改,而普通管理员只有修改自己密码的权力。3、 数据库概念设计3.1、E-R图l 各实体E-R图Reader Reader: PasswordAddressLimitTelReaderNameReaderID Adimin Adimin: PowerAddressPasswordLimitTelAdiminNameAdiminID Book Book: AuthorIsBorrowPublisherBookIDTitleBorrowBorrow

6、: ReturnDateBorrowDateBookIDReaderIDl 系统整体的E-R图 管理员管理读者 m n借阅 1 1 w管理 q 管理 p r图书 说明:一个管理员可管理多个读者,一个读者可有多个管理员管理;一个读者可以节约多本书,一本书只能借给一个读者;一个管理员可以管理多本书籍,一本书籍可有多个管理员管理;管理员包括超级管理员(只有一个),一个超级管理员可管理多个普通管理员,一个普通管理员只能由一个超级管理员管理。 3.2、关系模型结构将E-R图转换为关系模型结构、标出各模型的候选码:Reader(ReaderID,ReaderName,Tel,Limit,Password,

7、Address);Book(Title,Author,Publisher,BookID,IsBorrow);Adimin(AdiminID,AdiminName,Address,Tel,Limit,Password,Power);Borrow(ReadID,BookID,ReturnDate,BorrowDate); 说明:标有下划线的为主码。四、数据库逻辑设计4.1、用表格逐个表示各数据项描述: 表1:Reader表字段名意义类型长度小数位是否允许为空约束ReadID读者号文本20-否主键ReaderName读者名字文本20-是依赖主键Tel电话文本20-是依赖主键Limit可借阅数数字4-

8、否依赖主键Password密码文本6-是依赖主键Address地址文本50-是依赖主键 表2:Book表字段名意义类型长度小数位是否允许为空约束BookID书号文本20-否主键Title书名文本50-是依赖主键Author作者文本25-是依赖主键Publisher出版社文本50-是依赖主键IsBorrow是否借出文本2-否依赖主键 表3:Borrow表字段名意义类型长度小数位是否允许为空约束ReaderID读者号文本20-否主键1BorrowDate借阅日期日期/时间-否依赖主键 ReturnDate归还日期日期/时间-是依赖主键BookID 书号文本20-否主键2表4:Adimin表字段名意

9、义类型长度小数位是否允许为空约束AdiminID管理员号文本20-否主键AdiminName管理员名文本25-是依赖于主键Tel电话文本20-是依赖主键Limit可借阅数数字4-是依赖主键Password密码文本6-是依赖主键Address地址文本50-是依赖主键Power权限文本20-否依赖主键(注意:“-”表示不存在的属性。)4.2、分析函数依赖关系分析全部关系模式的函数依赖关系,写出每个关系模式的函数依赖集,指出各表格满足哪个范式?Reader: F =ReaderID -ReaderName,ReaderName-Tel, ReaderID-Limit,ReaderName-Addre

10、ss,ReaderID-Password; 存在着非主属性Tel或Address对主属性ReaderID的传递函数依赖, 所以属于2CNF范式Book: F=BookID-Title,Title-Author,Title-Publisher, BookID-IsBorrow; 存在着非主属性Author或Publisher对主属性BookID的传递函数依赖, 所以属于2CNF范式Borrow: F=(ReaderID,BookID)-BorrowDate, (ReaderID,BookID)-ReturnDate; 每一个决定因素都包含码,即不存在主属性对不包含它的候选码的部分 或传 递函数依

11、赖,故属于BCNF范式Adimin: F = AdiminID-AdiminName,AdiminName-Tel,AdiminID-Limit, AdiminID-Password,AdiminName-Address,AdiminID-Power; 存在着非主属性Tel或Address对主属性AdiminID的传递函数依赖, 所以属于2CNF范式五、数据库系统开发5.1、设计过程5.1.1 数据库建立在数据库建立过程中,问题不大,就是安装access时,出点小问题,之后才知道是安装了精简版的,又没把原来装的access删除干净,找出问题后立刻对症下药,得以解决,下面是建库的截图:简要步骤:

12、点击右边空数据库,在弹出的对话框中命名数据库名,完成数据库的创建。SQL 语句:create database library; 5.1.2 数据定义(1)Reader、Book、Borrow、Admin四个表格的建立,属性的确定。Reader:SQL 语句:create table Reader ( ReaderID char(20) primary key, ReaderName char(20) not null, Tel char(20), Limit int, Password char(6), Address char(50) );Book:SQL语句:create table B

13、ook (BookID char(20) primary key,Title char(50) ,Author char(20),Publisher char(50);IsBorrow char(2) );Borrow:SQL语句:Create table Borrow (ReaderID char(20),BookID char(20),BorrowDate Date,ReturnDate DatePrimary key (ReaderID,BookID);Adimin:SQL语句:Create table Adimin (AdiminID char(20) primary key,Adim

14、inName char(25) , Tel char(20), Limit int, Password char(6), Address char(50) , Power char(20) ); 说明:这四个表的创建过程中,主要遇到的问题要注意主键的定义说明,以及数据类型大小的设置,否则数据无法插入。(2) 用SQL语句实现创建一个视图SQL语句:create VIEW rb_view as select ReaderName,BookIDfrom Reader,Borrowwhere Reader.ReaderID = Borrow.ReaderID;结果截图:说明:视图的定义,花了很久的时

15、间还是没弄懂,我用的是access2003,视图定义一直报错,最后我将SQL放到连接查询窗口,却能成功,这点还是百思不得其解。(3) 修改一个表格,修改某个属性的约束条件 SQL语句:Alter table Book Alter column Publisher char(20);简单步骤:首先是查询的建立,在打开查询窗口后应该切换成SQL视图,再编写相关的语句进行查询的建立。5.1.3 用SQL进行查询。l 连接查询查询借阅了书籍的读者号和读者名字:SELECT Borrow.ReaderID, Reader.ReaderNameFROM Borrow INNER JOIN Reader O

16、N Borrow.ReaderID=Reader.ReaderID;结果截图:注:重复的行我们其实可以用DISTINCT关键进行去除,及消除冗余性。l 嵌套查询查询借阅了书籍的读者的姓名:Select ReaderNameFrom Reader Where ReaderID = ( Select ReaderID From Borrow Where BookID = book1; )结果截图:l 集合查询查询可借阅数为5本的读者和借阅了book1号图书的读者的并集Select ReaderID From ReaderWhere Limit = 5;UNION Select ReaderIDFr

17、om BorrowWhere BookID = book1; l 集函数查询 查询所有读者的平均可借书数: Select AVG(Limit) From Reader 5.1.4 用SQL进行数据更新和数据控制 插入数据Insert into Book values(微电技术,我,农业出版社,book5,否); 数据更改Update Book set Title = 电子设计2 where Title = 电子设计; 数据库授权和权限回收 SQL语句:授权: GRANT UPDATE ON TABLE BORROW TO U1回收权限:REVOKE UPDATE ON TABLE BORROW

18、FROM U15.1.5 各表的属性截图 5.2、结果简介、实现功能、运行说明 能过对图书信息、读者信息、管理员信息及借阅信息进行汇总。 说明:以表格的方式进行数据的汇总,高度的结构化,清晰简单明了,大大方便了管理和查询。 实现对个人总体借阅信息的总体查询比如我想查询读者号为110900302的结书情况:在查询编辑器输入SQL:SELECT *FROM BorrowWHERE ReaderID= 110900302;结果截图:说明:如果我们要获得个人的借阅信息的查询,可以编写一些简单的SQL语句,就能够很方便很快的实现我们的要求,并且能够自动的过滤掉一些冗余的即和所查询的要求不相同的信息,得到

19、我们所需信息,体现出了数据库冗余性低的特点,同时也体现出了SQL语言的高度非过程化,直接得到结果而不必考虑具体复杂的过程。 实现对个人借阅图书数、读者数等的统计。在那上面的例子,我想简单的查询110900302读者的借书数(历史的和现在的):在查询编辑器输入SQL:SELECT ReaderID, Count(*)FROM BorrowWHERE ReaderID= 110900302GROUP BY ReaderID;结果截图:说明:为了实现对个人借阅图书数的统计、读者总数的统计、在一定时间内进行书籍借阅的读者数的统计等,我们可以利用集函数以及连接查询的手段进行操作,给出简单的SQL语句,实

20、现我们所想要的结果,功能清晰明了,提高了我们进行图书管理的效率。 实现方便的更新数据库比如读者号为110900301的读者的电话本来是15280402018,我想把它更新为0,在查询编辑器输入SQL:update Readerset Tel = 0where ReaderID = 110900301;结果截图:说明:图书管理离不开数据库中图书的更新,即增、删、改,利用SQL语言可以方便的进行数据的添加和删除等,而且简单明了,同时在效率上也得到了巨大的提高。6、 总结、分析 这次的实训,收获甚多,相比于上次实践,又有了更大的进步,更加熟练了数据库的各种操作和SQL的编写能力,受益匪浅。上次实践中

21、,不能很好的理解E-R图的作图原则,导致结构不够清晰,这次我认真分析了各属性之间的关系,认真总结上次的问题所在,慢慢的对E-R图又有了更新的了解。此次实践中,主要包括基本表的创建、数据的定义和操纵、控制,以及各相关查询的使用,还有对函数依赖等的分析,这过程有喜有忧,有时候思路畅通,总是很快就理清思路,分析出结果,可是有的时候,对于一些比较生疏的名词,无法理解,又是第一次接触,又百度又翻书的查,不过虽然辛苦,却是乐在其中,因为又学到了新的知识。当然,从这次的实践也看到了自己的一些不足之处,比如动手编写SQL的能力不是很好,说不熟练,分析函数依赖的能力有待进一步提高。总之,一句话:实践出真知。我们

22、只有把学到的东西用到实际中,才是真正的本事。这次的实践,让我更加的明白了数据库在实际应用中的重要性,同时也让我更加的熟悉的掌握了数据库的各种定义及SQL语言的编写应用,认识到了数据库功能之强大,应用之广泛,因此虽然实践结束了,但是我们对数据库的热情应该继续保持!同时也感谢学校和老师给我们这种机会,感谢老师的指导和同学们的帮助,使我能够更好的应对这次实践。7、 参考文献 【1】数据库系统概论(第四版) 高等教育出版社 【2】access数据库教程电子工业出版社八、附录自评成绩:评分项标准自评成绩整体设计及技术108E-R图2018关系模型、候选码、数据描述108函数依赖关系分析107设计过程2017结果、总结108设计报告2018总分:10084加分项:2018

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!