数据库我副本Word文档格式.docx
《数据库我副本Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库我副本Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
维护读者信息,根据实际情况修改、更新、删除读者信息。
读者信息包括校园卡号、姓名等。
(3)借阅管理:
包括借书、还书、过期图书归还处理等。
图书管理系统主要有3种用户:
(1)系统管理员:
拥有系统最高权限、设置管理员等。
(2)图书管理员:
维护图书基本数据,进行读者的图书借阅和归还处理。
(3)读者用户:
查阅图书信息、借阅图书。
图书馆图书情况和管理规定,每种类型图书有很多不同的图书每位读者可同时借阅6本,每本图书借阅期限是一个月。
2、数据流图、数据流图图书管理系统具体数据流图DFD如下:
二概念模型设计二概念模型设计1.图书管理系统图书管理系统图书管理系统主要包含图书类型、图书信息和读者3个实体画出3个实体的ER图,并标出实体的主键,如图2.1、图2.2、图2.3。
2.设计分设计分ER图图在图书借阅管理系统中涉及3个实体:
图书、图书类型、读者,这三个实体之间互相存在着联系。
根据需求分析可知一名读者最多可借阅10本书,一本书可以被不同的读者借阅,因此读者与图书之间存在着多对多的关系,一本图书对应一种图书类型,一种图书类型可以对应多种图书,因此图书与图书类型存在着一对多的关系。
通过以上分析,可以得到图书管理系统的局部ER图,如图2.4.图2.43.设计全局设计全局ER图图将实体的属性加入到初步ER图,可以得到图书馆借阅管理系统的全局ER图,如图2.5所示。
三、关系模型设计三、关系模型设计数据库的关系模型设计是根据概念结构设计的全局ER图,按照转换规则,将ER图转换成数据模型的过程,即将所有的实体和联系转化为一系列的关系模式。
ER图中实体应该单独提取出来作为一个关系模式,主键用横线标出,图书馆管理系统关系模式如下:
1.图书类型(图书分类号,图书分类名称,描述信息)为图书类型实体对应的关系模式,其中“图书分类号”是图书类型的主键。
2.图书(图书编号,图书名称,作者,出版社,图书状态,图书描述)为图书实体对应的关系模式,其中“图书编号”是图书的主键。
3.读者(卡号,姓名,联系方式,罚款金,级别)为读者实体对应的关系模式,其中“卡号”是读者实体的主键。
联系借阅是一个多对多的联系,按照转换规则,必须转换为一个独立的关系模式,其本身的属性包括借阅日期、归还日期,还应包括图书与读者的主键属性,所以借阅关系模式为:
4.借阅(卡号,图书编号,借阅日期,归还日期)其中卡号和图书编号共同组成借阅这一实体的主键。
借书的期限是一个月。
当超过一个月,每多一天,该读者罚款金加0.1。
5.预约(卡号,图书编号,预约日期)其中卡号和图书编号共同组成预约这一实体的主键。
规定只有读者级别为高级才能进行预约功能。
四、数据库实现四、数据库实现本次课设是建立一个图书馆借阅管理系统,假定数据量不大,图书的更新增加操作也不频繁。
1.创建图书馆管理系统数据库在mysql6.0中输入创建数据库成功。
2.建立和管理基本表建立和管理基本表
(1)、建立基本表)、建立基本表经过上面的分析,要为“图书馆管理系统”数据库建立图书类型、图书、读者、借阅和预约5个基本表,下面对图书表的建立进行说明。
图书类型表的创建:
图书表的创建:
读者表的创建:
借阅表的创建:
预约表的创建:
(2)、管理基本表)、管理基本表基本表建立之后,随着应用环境和需求的变化,有时候需要修改已经建立好的基本表。
当需要增加某个字段时,例如,为读者表增加一列“sex”,数据类型是char(4)。
具体的sql语句为:
altertablereaderaddsexchar(4);
当我们需要删除图书类型表时,具体地sql语句为:
droptablebookclass;
(3)、建立和管理视图、建立和管理视图视图一book_basic的建立:
视图二reader_basic的建立:
删除视图可以用dropview语句进行删除,删除视图二的sql语句如下:
dropviewreader_basic;
(4)、访问数据库、访问数据库为了数据库访问操作的要求,事先向每个表中都填入一些数据。
每个基本表的实验数据如下:
图书类别表:
图书表:
读者表:
借阅表:
预约表:
在数据库应用系统中,数据查询是最常用的功能。
数据查询是根据用户提出的各种要求在关系中查询,得到查询结果。
常用的查询有简单查询、连接查询、嵌套查询、组合查询。
对图书馆管理系统进行查询。
(1)查询读者信息表:
使用的sql语言为:
select*fromreader;
(2)查询鬼吹灯的出版社:
使用sql语言为:
selectbName,bPressfrombookwherebName=鬼吹灯;
(3)查询罗彬的借阅信息和级别:
selectbook.bName,rName,Lend,Returns,rPay,rlevelfrombook,reader,recordwherebook.bId=record.bIdandreader.rId=record.rIdandrName=罗彬;
五、数据库应用程序分析五、数据库应用程序分析1.首先设计界面首先设计界面用户认证界面:
书籍查询界面:
借阅记录界面:
2.功能的实现功能的实现通过jsp技术在EclipseJAVAEE平台往HTML中镶嵌jsp代码,用java.sql与数据库进行连接,设计出带有查询功能的网页认证功能:
(1)认证失败:
(2)认证成功:
查询功能:
点击查询
(1)查询成功:
(2)查询失败:
也可以查询所有图书,点击图书一览表:
最后是借阅记录(管理员端):
(1)输入证件号、图书号、图书名任一个,点击查询
(2)查询错误:
(3)查询成功后的借阅记录界面:
最后附上Eclipse的项目图:
六、设计总结六、设计总结通过本次的课程设计,了解了设计一个数据库的基本流程,通过画ER关系图,DFD图了解了使用MicrosoftVisio的基本步骤,以前还只知道画图,PS等一些工具,现在有了MicrosoftVisio可以方便快捷的画出流程图、ER图等等。
在创建数据库的过程中,发生了很多的错误,比如表中列的约束条件的使用格式,关键字的拼写,特别是在设置主键外键的时候,教科书上讲的FOREIGNKEY后面的外键名没有加(),自己设置的时候总是报错,后来查阅了一些书籍之后知道了要加()。
创建好数据库后,导入数据的时候也有一些需要注意的事,比如输入的数据的格式要与表中列的格式一致,同时也要满足列的约束条件。
最后就是数据库中数据的查询,从一个表中查询数据没什么太大的难度,从多个表查询数据的时候尤其要注意,如果两个表里面有相同的列名,就要在前面加上,不然就会报错。
最后就是数据库应用的实现,在Eclipse中开始有各种错误,各种调试,跟数据库的接口也是测试了好久才完成,然后就是界面的设计与界面跳转时数据的传输,面对中文的时候会出现乱码的情况,这时候需要在代码中设置charset=gbk和request.setCharacterEncording(gbk)等等。
总而言之,这次的课程设计不仅巩固了之前上课所学习的知识,也将知识运用到了实践之中,对数据库的了解也相比之前上了一个台阶。
七、参考文献七、参考文献
(1)、周爱武,汪海威,肖云.数据库课程设计C.北京:
机械工业出版社,2012:
93-119.
(2)、张海藩.软件工程导论C.北京:
清华大学出版社,2008:
40-45.(3)、王珊.数据库系统简明教程C.北京:
高等教育出版社2007:
190-21(4)邹竹彪.JSP网络编程从入门到精通C.北京:
清华大学出版社2007年6月