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

下载本文档

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

文档简介

此文档收集于网络,如有侵权,请联系网站删除1.需求分析 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。而为了比较形象的说明图书管理系统的建立、功能实现,在这里我和同学一起用自己所学的数据库知识,用java语言实现了一个微型的数据库管理系统。因为我们对知识掌握的有限,我们做的这个小图书库只能作为图书管理系统的一个缩影。本系统是小型图书管理系统,专为个人设计。本系统启动后需要登陆,然后进入主界在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。系统共有6个功能模块:图书查询、图书入库、图书删除、图书概览、添加用户、用户借书情况。它支持一系列关于图书管理方面的简单操作,诸如查询、删除、添加、添加用户,用户借书信息等1.2数据需求图书馆管理信息系统需要完成功能主要有:1. 用户基本信息的输入,包括用户名,密码。2用户借书基本信息的查询、修改,包括用户借书情况,借阅时间等。3图书信息的输入,包括图书号、图书名、单价、作者、出版社、入库时间。4图书类别信息的查询、删除,包括图书号、单价等。5图书库存信息的输入,包括图书号、图书名称、作者姓名、出版社名称、单价、入库日期。6书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。7借书信息的输入,包括用户名、图书号、借阅日期。8借书信息的查询、修改,包括用户名、图书号、阅书日期等。1.3事物需求(1)在用户信息管理部分,要求:a.可以查询用户信息。b.可以对用户信息进行添加及删除的操作。(2 )在图书信息管理部分,要求:a.可以浏览图书信息要求:b.可以对书籍信息进行维护,包括添加及删除的操作。(3)在借阅信息管理部分,要求:。a.可以浏览借阅信息。b.可以对借阅信息进行维护操作。2.图书库概念结构设计2.1 E-R图根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。2.1.1类别实体E-R图:图书库类别实体用户图书表图1类别实体E-R图2.1.2读者信息实体E-R图:用户信息实体用户名密码图2-2 用户信息实体E-R图2.1.3图书信息实体E-R图:图书信息实体单价作者入库时间 图书名出版社图书号图2-3图书信息实体E-R图2.1.4.记录信息实体E-R图:用户名图书号借阅时间隔借阅记录信息实体实体图2-4 用户记录信息实体E-R图2.1.5的信息实体E-R图:信息登记用户实体图书实体图书信息实体新书入库借阅新用户图书信息实体借阅信息实体实体图2-7总的信息实体E-R图2.2系统流程图失败 成功退出添加用户图书概览图书删除图书入库图书查询判断判断用户登录系统开始用户借书情况退出 3.图书库逻辑结构设计这一节阶段是将已绘制出来的E-R图转换成关系图 E-R图向关系模型的转换要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。关系模型的逻辑结构是一组关系模式的集合。E-R图则是有实体型、实体的属性和实体型之间的联系3个要素组成的。该数据库的关系模式主要有以下几个方面:book(图书) (图书号,图书名,单价,作者,出版社,出版日期),user1(用户) (用户名,密码),ub(借阅) (用户名,图书号,借阅时间),带下划线的属性为各关系模式的主码,字体为粗体的属性为各关系模式的外码。在以上关系中,实体中的每个属性都是简单属性,都是不可再分的,实体遵循第一范式;对于book(图书)模式,有属性集=图书号,图书名,单价,作者,出版社,出版日期。函数依赖集=图书号图书名,图书号单价,图书号出版社,图书号作者,图书号出版日期。主码=书号。非主属性=图书名,单价,作者,出版社,出版日期。非主属性对码的依赖=图书号F图书名,图书号F图书名,图书号F作者,图书号F出版社,图书号F单价,图书号F出版日期。显然图书关系遵循第二范式,同理,用户关系,借阅关系也遵循第二范式。实体属性之间不存在码,属性组及非主属性间的传递函数依赖,所以以上关系同样遵循第三范式。4.数据库和数据表的建立4.1新建数据库 从“开始”菜单中的SQL Server2005程序组中启动SQL Server企业管理器,打开“SQL Server Enterprise Manager”窗口。新建数据库,如下这样,图书馆图书管理系统 数据库就建好了。接下来就是要建立数据表了。4.2数据表的设计和关系图数据库设计是根据系统功能的要求和数据规模规划数据库服务器选型、数据表结构定义、分配数据库服务器端的功能实现以及创建数据库对象。在SQL 数据库中需要建立3个数据表:图书信息表、读者信息表和借阅关系表。4.2.1数据表的设计图书信息表的定义图书信息表存储图书的详细信息,供读者参考使用及管理使用。为每本图书设置一个唯一的书号,以便在数据库中使用。表 book 书籍类别信息表表中列名数据类型可否为空图书名Varchar(50)可空图书号Intnot null(主键)单价Int可空作者Varchar(50)可空出版社Varhar(50)可空入库时间Datetime可空读者信息表的定义读者信息表存储读者的详细信息,为每一个读者设置一个唯一的编号以便在数据库中使用。读者信息表的结构定义如下所示:表 user1用户信息表格表中列名数据类型可否为空用户名Varcha(50)not null(主键)密码Varchar(50)可空借阅关系表的定义借阅关系表存储读者所借阅的图书信息。借阅关系表的结构定义如下所示:表 ub用户借书籍信息表表中列名数据类型可否为空用户名Varchar(50)Not null图书号IntNot null借书时间Datetime可空 4.2.2数据完整性约束(1)主键约束、非空值约束三个表中都有主键,在图书表和用户表中,图书号和用户名是主键,因为一个图书库中可能一种书不只只有一本,也许有多本,用户密码也可能会一样的,所以以图书好和用户名为主键,能保证数据的唯一。在借阅表中,图书号和用户名是主键。(2)外键约束在ub(借阅)表中,tu 书号是book(图书表)的外键,用户名是user1(用户表中)的外键。通过设置外键以保证数据的惟一性和正确性。(3)数据表的建立在数据库中可以直接对图书库之间新建表,也可以用代码建表。这里我们用代码实现。4.2.3各表的建立图书表的建立create table book( 图书名 varchar(50), 图书号 int primary key, 单价 int, 作者 varchar(50), 出版社 varchar(50), 入库时间 datetime)创建用户表create table user1(用户名 varchar(50) primary key,密码 varchar(50),)借书借书表ub建立create table ub(用户名 varchar(50),图书号 int,借书时间 datetimeprimary key (用户名,图书号),foreign key (用户名) references user1(用户名),foreign key (图书号) references book(图书号)5.关系图的建立关系图是表之间的链接,用一个表中的外健引用另一个表中的主健。关系线的终结点显示一个主键符号一表示主键到外键的关系,或者显示一个无穷符号以表示一对多关系的外键端。使用SQL Server 2005的企业管理器创建关系图,步骤如下:(1)在左边数据库中的关系图上鼠标右键,单击“新建数据库关系图”,如下图。(2)单击添加就可以将book、user1、ub表加到关系图中。形成的关系图如下:6.图书库实现的查询6.1表book中查询演示:和与对应的在图书库中用java代码实现的图形界面查询图6.1-1 数据库查询图6.1-2 图书库系统查询图-1 表book中内容6.2借书纪录的查询:和在图书库中借书记录查询图6.2-1数据库中的查询 图6.2-2 图书库中的查询图-2 表ub中内容6.3查询某个出版社出版的书:6.4 图书库实现的功能模块图书库总界面该界面中包含有六个功能块,分别是图书查询、图书入库、图书删除、图书概览、添加用户、用户借书情况。它使用java语言的GUI编程实现的、界面如下图:图书查询功能在图书库中的实现,它是用图形界面来操控后台数据库。很好的将java与数据库结合起来了。界面如图;图书入库模块实现的是想(book)图书表插入数据。界面如下图书删除模块功能是删除book表中无用数据,实现数据库的删除操作,界面是:图书概览模块是擦看数据库中所有图书情况。即与打开book表一样。界面是:添加用户是实现了想user1表中添加用户的功能,图形界面是:用户借书情况是实现查看ub(借阅表)表中用户借书,界面是:7.数据库与java连接7.1配置数据源执行“控制面板/工具管理/数据源/”命令,配置一个名为“mytest”的数据源。流程如下:(1)打开控制面板,找到数据源(2)创建新数据源mytest在这里,值得一提的是,我们必须注意服务器的选择上。这里的服务器一定与sql sever2005数据库连接的服务器名称保持一致,即与下图一致7.2Java语言实现tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加载驱动程序失败!);tryString url = jdbc:odbc:mytest;/直接使用当前类目录下的数据库文件Connection con=DriverManager.getConnection(url);8.数据库的维护数据库的维护和管理包括数据的插入和删除。当新增图书或者读者时,通过数据的插入使新增的数据在数据库的增加。相反,当去除图书或诸者时,通过数据的删除来使数据在数据库在删除。当读者要借书时,就通过数据的插入在借阅表中新增一条记录,而当读者要还书时,就通过数据的删除将借阅表中的记录删除。9.1.数据的插入(1)将已有的书加入表book中insert into book values(数据库,201101,20,刘伟,北京出版社,2011-9-8)insert into book values(操作系统,201102,20,赵丽,天津出版社,2010-9-8)insert into book values(大学英语,201103,190,沈丽,河南出版社,2010-9-8)insert into book values(高等数学,201104,20,李尚,北京出版社,2001-9-8)(2)将需借书的学生加入到user1表中insert into ub values(sa,201101,2011-5-8)insert into ub values(sa,201102,2012-5-8)insert into ub values(laly,201103,2010-5-8)(3)添加已借书读者的记录加入到表ub表中insert into ub values(sa,201101,2011-5-8)insert into ub values(sa,201102,2012-5-8)insert into ub values(laly,201103,2010-5-8)(2)数据的删除(1)删除书名为电子技术书的信

温馨提示

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

评论

0/150

提交评论