图书管理系统的数据库设计_数据库图书管理系统
图书管理系统的数据库设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据库图书管理系统”。
图书管理系统的数据库设计
摘要:虚拟为某公司建立的图书馆管理系统进行数据库设计,目的在于使该系统的运行能提高该公司的资料管理水平和现代化管理水平。本系统是一个中小型管理系统,运行环境是Windows2003 server,因此使用Windows环境下最容易使用且功能又比较强大的Microsoft SQL Server 2000 作为后台的数据库系统。??
关键词:图书管理系统;数据库;设计??
中图分类号:TP311.11文献标识码:A文章编号:1672-7800(2011)07-0164-02?お?
??
作者简介:刘定智(1976-),女,贵州贵阳人,贵州职业技术学院实验师,研究方向为算法设计,数据库。
0引言??
目前,国内大部分大型的公共图书馆和高校图书馆都实现了网络管理,中小型图书馆(包括企业图书馆),也在朝着这个方向发展。在本文中,我们虚拟为某公司建立的图书馆管理系统进行数据库设计,目的在于使该系统的运行能提高该公司的资料管理水平和现代化管理水平。本系统是一个中小型管理系统,运行环境是Windows2003 server,因此使用Windows环境下最容易使用且功能又比较强大的Microsoft SQL Server 2000 作为后台的数据库系统。??
1需求分析??
需求分析是数据库设计的重要工作,通过需求分析,对整个系统的主要需求描述如图1所示:??
图1数字图书馆系统(Use Case View)??
2数据库设计??
在图书管理系统中,数据库设计占重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。下面就系统数据库规范化设计进行说明。??
2.1数据库设计的理论指导??
数据库设计的理论指导是范式理论,其主要内容如下:①如果关系模式R,其所有的域为单纯域则称R是规范化的关系,或称第一范式(1NF);②如果关系模式R为第一范式,且每个非主属性完全函数依赖于码,则模式R为第二范式(2NF);③如果关系模式R为第二范式,且每个非主属性非传递依赖于码,则称关系模式R为第三范式(3NF);④关系模式R为第一范式,满足函数依赖集合F,X和A均为R的属性集合,且X不包含A,如果R满足X->A且X必包含R的码,称关系模式R为BCNF范式。??
2.2数据库设计??
图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。如何进行模式的设计呢?下面以图书流通模块所涉及的数据库为例来说明。??
先设计图书流通的实体-关系图(E-R图)。E-R图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号”、“书名”、“分类号”、“作者”、“价格”,“读者”的属性有“借书证号”、“姓名”、“性别”,“单位”的属性有“单位编号”和“单位名称”,“借阅”属性“借书日期”,由此得出E-R图如图2所示:??
图2图书流通的E-R??
从图中可以知道:①“借书证号”是唯一的,所以“借书证号”决定“姓名”,每位读者应只属于一个性别,所以“借书证号”也决定“性别”;②“馆藏号”是唯一的,所以“馆藏号”决定“书名”、“分类号”、“作者”、“价格”;③“单位编号”是唯一的,所以“单位编号”决定“单位名称”;④每位读者在一个时间只能借一本书,所以“借书证号” +“馆藏号”决定“借阅时间”。??
如果将这些数据项置于一个关系模式中,根据范式理论,该关系模式属于1NF(第一范式),它存在删除异常和冗余等问题,不是理想的模式,因此要把它分解成满足3NF或BCNF的关系模式。根据范式理论和E-R图转换成关系模型的规则,上面的E-R图可转换为4个关系模式:①图书(馆藏号、书名、分类号、作者、价格);②读者(借书证号、姓名、性别、单位编号);③借阅(借书证号、馆藏号、借阅时间),④单位(单位编码、单位名称),其中打下划线的为码,这样就解决了插入、删除和数据冗余等问题。??
我们对数据的结构进行详细的分析,按照上述的设计思想,共设计了读者表,书目表,馆藏表,流通表等百余张数据表,然后创建视图和存储过程。下面举例说明:①读者表:借书证号、姓名、单位、读者类别、职称等字段;②书目表:馆藏号、ISBN、题名、作者、出版社、复本数、语种、文献类型、版次等字段;③馆藏表:馆藏号、索书号、分类号、种次号、馆藏位置、单价、出版日期等字段;④流通表:借书证号、馆藏号、借期、还期、续借、应还期、操作员等字段;⑤借阅规则表:读者类别编码、图书类别编码、限借册数、每期天数、续借天数、过期日期、罚金等字段;⑥读者类别表:读者类别编码、读者类别等字段;⑦图书类别表:图书类别编码、图书类别等字段。??
3数据库索引??
建立索引是加快查询速度的有效手段,数据库的每一个表建立了主键,主键由一个或几个字段组成,每一个表都按主键建立了索引,部分表为了满足查询和排序的需要,除建立主索引外,还建立了次索引。例如在查询时要用到“馆藏号”、“作者”、“题名”等条件来查找图书,因此,在书目表上除了对主键“馆藏号”建立了主索引外,也对“作者”、“书名”等建立了次索引。??
4视图??
视图是从一个或几个基本表导出的表,它是定义在基本表之上的,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。通过定义视图,可以使用户眼中的数据库结构简单、清晰,并可以简化用户的数据查询操作。由于本系统数据表较多,表中的字段多,为了简化对表的操作,我们创建了图书_按书名查询、期刊_按刊名查询、期刊_按编辑部查询、借阅规则查询、待还书查询、超期记录查询等30余个视图。??
5存储过程??
存储过程是一段经过编译的程序代码,存放在数据库服务器端。通过调用适当的存储过程,可在服务器端处理大量数据,再将处理结果送到客户端。这样可减少数据在网络上的传送,消除网络阻塞现象;例如:要查询某条记录,若该记录在表中的顺序号是10000,不采用存储过程,服务器将从1至于10000条记录数据逐条送至客户端,采用存储过程后,由于过程是经过编译的并且是在本地,不需要通过网络,因此能很快查出所需记录并将结果送到客户端,大大减少了网上数据传输量。存储过程另一好处是可供不同的开发工具调用,如PB、VB、ASP、Delphi等开发工具均可调用。在流通模块和WEB查询模块上均有图书检索功能,实际上调用同一存储过程完成的。本系统建立了60多个存储过程,实现诸如借还书处理、新书入库统计、编目入馆藏、读者统计、生成索书号等功能。??
6数据库调用??
Client/Server采用ODBC接口实现数据库的调用,Browser/Server采用ADO接口调用。??
参考文献:??
[1]宫昌利.图书管理系统的设计与实现[D].山东大学,2009.??
[2]顾俐.图书馆图书管理系统的设计[J].中国科技信息, 2007(11).??
[3]赵晨.图书管理系统[D].吉林大学,2009.??
[4]陈杰志.图书管理系统[D].华南理工大学,2011.??
[5]黄剑樱.高校图书管理系统的设计与实现[D].电子科技大学,2007.??
[6]栾丁.图书管理系统设计与实现[D].吉林大学,2010.??
[7]花昀峤.基于面向对象技术的图书管理系统研究[D].吉林大学,2010.??
[8]张佳慧.图书信息管理系统的设计与实现[D].电子科技大学, 2009.?ぃㄔ鹑伪嗉?:王钊)