图书借阅管理系统-_第1页
图书借阅管理系统-_第2页
图书借阅管理系统-_第3页
图书借阅管理系统-_第4页
图书借阅管理系统-_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

目录引言3第一章需求分析3需求的文字表述3数据流图4数据字典5第二章概念结构设计6局部E-R模型6集成E-R模型8图向关系模型的转换9数据模型的标准化10设计用户子模式11第四章数据库的物理设计13数据库的物理设计的内容和方法13关系模式存取方法选择,确定数据库的存储结构13确定数据的存放位置和存储结构13确定系统配置14评价物理结构15第五章数据库的实施15数据库实施的工作内容15定义数据库结构16组织数据入库17编制与调试程序17数据库试运行18第六章数据库运行与维护20结论21参考文献22引言21世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。然而如何获取信息?图书是我们最好的获取信息的方式。但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来,对读者去图书馆借书造成了一定困扰。如何把图书管理员从繁重的工作中解脱出来呢?那么要开发并且设计图书借阅管理系统。学校图书馆为了更加快捷的管理学校的图书资源,方便广阔读者借阅图书。节省图书馆管理的经济本钱与时间本钱,方便图书馆各个部门间的合作以及与图书供给商的联系。决定开发此借阅系统。于是,这次的《数据库系统概论课程设计中》我选择的题目是《图书借阅管理系统》,是为了想要与时俱进,更加深刻的了解科技的飞速开展。因此,图书借阅管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。第一章需求分析图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、标准化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书借阅信息的管理,主要功能为管理有关读者、图书、借阅、征订和管理员的信息等。图书借阅管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统结构分为根底信息维护,读者管理,图书管理,期刊管理,图书流通管理。读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。总而言之,图书馆使用计算机用于信息管理,简单而有效的发挥出它的效力,资源配置比拟突出,这就是管理信息系统的开发的根本环境。1.1.1.根底信息维护在图书借阅管理系统中,根底信息包括:读者信息和图书类型信息。这些信息可以在读者档案管理,图书档案管理中应用。在读者档案管理中,读者的类别信息实现读者权限划分;在图书档案管理中,图书类型信息实现图书类别的划分。读者管理管理员对读者管理可以实现浏览,添加,修改操作,在添加读者信息时需一个读者证号对读者身份进行区分,此编号必须唯一,还需要登记读者的详细信息。图书管理管理员对图书管理可实现添加,修改和删除操作,在添加图书信息时需给图书建立一个图书编号,编号唯一。还需要等级图书的详细信息,在实现图书修改时,图书编号不可修改。实现图书信息的删除时要验证图书是否归还,如没有归还,将不能实现图书的删改。期刊管理管理员对期刊管理可以实现浏览,添加,修改和删除操作,在添加图书信息时要给图书建立一个图书编号,编号唯一。还需要登记期刊的详细信息,例如书名,出版社,图书类别等。在实现图书信息修改时,期刊编号不可修改。图书流通管理图书流通管理需要事先图书的借阅,归还功能。图书的借阅时要登记读者证号和图书编号,以及管借阅和归还时间。图书归还是要检查是否已经逾期,假设逾期将交罚款,否那么图书正常返还。数据流图是结构化分析的重要方法,我们对应用的DFD经过了一定的简化,成为一种标准化的一级流程图(1-DFD)和二级流程图(2-DFD)。其主要作用是:便于用户表达功能需求和数据需求及其联系。图1图书借阅管理系统第一层数据流图图2图书与读者第二层数据流图用数据字典描述数据库的设计,便于维护和修改。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:标准化地重组数据结构;对数据进行标准化表达。关系数据结构的建立,在进行了数据根本结构的标准化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作根本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个标准化数据库系统结构就建立起来了。建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。字段字段名类型宽度说明1读者证号CHAR20数字2姓名CHAR20小于10个汉字3学号CHAR10数字4性别CHAR2“男〞或“女〞5所在系别CHAR20小于10个汉字字段字段名类型宽度说明1图书编号INT20数字2图书名称CHAR50小于25个汉字3出版社VARCHAR20小于10个汉字4作者VARCHAR20小于10个汉字5单价INT51-9999字段字段名类型宽度说明1读者证号CHAR20数字2图书编号VARCHAR20数字3借阅时间DATETIMR4归还时间DATETIME字段字段名类型宽度说明1读者证号CHAR20数字2图书名称CHAR50小于25个汉字3出版社VARCHAR20小于10个汉字4作者VARCHAR20小于10个汉字第二章概念结构设计E-R图读者E-R图中包括的属性有读者证号,姓名,学号,性别,所在系别类别,这些属性项说明了读者实体。E-R图2.1.2图书E-R图图书E-R图中包括的属性有图书编号,图书名称,出版社,作者,单价类别,这些属性项说明了图书实体。E-R图2.1.3图书借阅E-R图图书借阅E-R图中包括的属性有读者证号,图书编号,借阅时间,归还时间类别,这些属性项说明了图书借阅实体。2.1-3图书借阅E-R图2.1.4图书征订E-R图图书征订E-R图中包括的属性有读者证号,图书名称,出版社,作者,这些属性说明了图书征订实体。2.1-4图书征订E-R图每位读者拥有一张读者证,可有屡次借阅,每位读者每借一本书要产生一条借书记录。另一方面,每种书有一张图书档案信息卡,具有一个书目编号,一种书可能有多本,每本书通过唯一的条形码区别。可见,这些数据之间存在一定的联系,即:书目编号与图书信息之间通过入库形成一对多联系;读者信息与书目编号之间通过借阅形成多对多联系。E-R图1多对多联系可以分解为一对多联系,即:在借阅时,读者信息与借阅信息之间可以通过图书证号建立一对多联系;在借阅时,书目编码与借阅信息之间可以通过图书条码建立一对多联系;在入库时,图书档案与书目编码之间可以通过书目编号建立一对多联系。E-R图2关于读者借阅图书方面,有更加详细的关联,一本书可以被多个读者借阅,它们之间是一对多的联系。而读者,图书,借阅也都是具有详细信息的,可以全部反映在图表上。E-R图第三章逻辑结构设计根据E-R图向关系模型转换的原那么,将两个实体转换为关系模式如下,其中码用下划线表示,并且不能为空。读者〔读者证号,姓名,学号,性别,所在系别〕图书〔图书编号,单价,图书名称,作者,出版社〕读者与图书两个实体之间的联系“借阅〞是一个一对多的联系,因此,根据E-R图向关系模型转换的原那么,将读者与书两个实体码“读者证号〞,“图书编号〞加上“借阅〞联系的属性构成借阅关系,并且“读者证号〞,“图书编号〞不能取空值。形成的关系模式如下:借阅〔读者证号,图书编号,借出时间,归还时间〕读者征订图书的关系模式如下:征订〔读者证号,图书名称,出版社,作者〕从理论上讲,1:1联系可以与任意一端对应的关系模式合并。但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。下列图是根据数据库定义,通过主码与外码的关系,系统自动的将四个关系图连接起来。图3.1关系模型图图书借阅管理系统中各表的函数依赖集:F读者={读者证号->姓名,读者证号->学号,读者证号->性别,读者证号->所在系别};F图书={图书编号->单价,图书编号->图书名称,图书编号->作者,图书编号->出版社};F借阅={〔读者证号,图书编号〕->借阅时间,归还时间};上述关系模式中不存在对非码依赖的函数表达式,所有的非主属性对码完全并直接依赖。由此证明,图书借阅管理系统中各表均服从BCNF,其标准化程度较高,数据库设计合理。将概念模型转换为全局模型后,还应该根据局部应用结合具体DBMS的特点设计用户的外模式。目前采用视图〔VIEW〕来设计用户外模式。关系模式借阅〔图书编号,单价,图书名称,作者,出版社,读者证号,姓名,学号,性别,所在系别,借阅时间,归还时间〕,可以在借阅关系上建立3个视图:为一般读者建立视图:借阅1〔读者证号,姓名,学号,性别,所在系别〕为图书建立视图:借阅2〔图书编号,单价,图书名称,作者,出版社〕为借阅关系建立视图:借阅3〔图书编号,读者证号,借阅时间,归还时间〕利用表“读者〞定义视图sq_读者。查询“读者〞表中的所有视图信息。CREATEVIEWsq_读者ASSELECT*FROM读者利用表“图书〞定义视图sq_图书。查询“图书〞表中的所有视图信息。CREATEVIEWsq_图书ASSELECT*FROM图书利用表“借阅〞定义视图sq_借阅。查询“借阅〞表中的所有视图信息。CREATEVIEWsq_借阅ASSELECT*FROM借阅可以对不同类型产品以及不同级别用户建立不同的VIEW,以保证系统的平安性。如果某些局部应用经常需要进行某些查询,我们可以将这些查询定义为视图。用户每次只对定义好的视图进行查询,大大简化了用户的使用。利用表“读者〞定义视图sq_读者。查询“读者〞表中三系学生的视图信息。CREATEVIEWsq_读者ASSELECT*FROM读者WHERE所在系别=〞三系〞利用表“图书〞定义视图sq_图书。查询“图书〞表中是图书名称是数据库的视图信息。CREATEVIEWsq_图书ASSELECT*FROM图书WHERE图书名称=〞数据库〞利用表“借阅〞定义视图sq_借阅。查询“借阅〞表中借阅时间是2023-4-1的视图信息。CREATEVIEWsq_借阅ASSELECT*FROM借阅WHERE借阅时间=〞2023-4-1〞读者视图中只包含允许读者查询的属性;图书视图中只包含允许图书查询的属性;借阅那么可以查询全部数据;可以防止用户非法访问不允许他们查询的数据,保证系统的平安性。第四章数据库的物理设计数据库上运行的事务会不断的变化,增加或减少,以后需要根据上述设计信息的变化调整数据库的物理结构。通常关系数据库物理设计的内容主要包括:为关系模型选择存取方法;设计关系,索引等数据库文件的物理存储结构。方法:根据系统分析建立概念模型;将数据库的概念模型转化为数据模型;进行标准化处理,使数据模型满足BC范式。实施数据库建立,物理文件的安排和建立索引。4.2关系模式存取方法选择,确定数据库的存储结构数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。DBMS常用存取方法:索引方法;聚簇〔Cluster〕方法;HASH方法。〔1〕数据存储编号:D1数据存储名称:图书记录数据结构:图书记录=图书编号+图书名称+出版社+作者+单价存取方式:联机处理;检索和更新;主要是随机检索。数据流量:平均流量为每月传输的1000的次数,顶峰期流量为每天传输的100次数。说明:图书编号具有唯一性和非空性。〔2〕数据存书编号D2数据存储名称:读者记录数据结构:读者记录=读者证号+姓名+学号+性别+所在系别存取方式:联机处理;主要是检索处理;以随机检索为主。数据流量:平均流量为每年传输的8000次数,顶峰期流量为每天传输1000次数。说明:编号具有唯一性和非空性,性别只能是“男〞或“女〞。〔3〕数据存储编号:D3数据存储名称:借书记录数据结构:读者证号+图书编号+借阅日期+归还时间存储方式:联机处理;以更新操作为主;随机检索。数据流量:平局流量为每天传输的1000次数,顶峰期流量为每时传输的300次数。说明:读者证号是外码,参照表为“读者,读者证号〞;图书编号是外码,参照表为“图书,图书编号〞。〔4〕数据存储编号:D4数据存储名称:用户记录输入:P3输出:P3存储方式:联机处理;以减少为主;顺序检索。数据结构:用户+密码+级别数据流量:平均流量为每天传输的2000次数,顶峰期流量为每时传输的100次数。说明:级别是“内部管理员〞或“效劳管理员〞。〔1〕效劳器配置操作系统:推荐MicrosoftWindowsServer2003或其他效劳器版本数据库效劳器:MicrosoftSQLServer2000EnterpriseEditionWeb效劳器:IIS6或更高〔2〕客户机配置操作系统:推荐MicrosoftWindowsServer2002或更高版本数据库效劳器:MicrosoftSQLServer2000Client输入设备:键盘,鼠标评价内容:对数据库物理设计过程中产生的多种方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。评价方法〔完全依赖于所选用的DBMS〕:定量估算各种方案〔存储空间,存取时间,维护代价〕;对估算结果进行权衡、比拟,选择出一个较优的合理的物理结构。如果该结构不符合用户需求,那么需要修改设计。综上所述:图书借阅管理系统使用SQL2000作为数据库管理系统,采用EBD支持的C/S两级数据库系统结构。从存储空间,存取时间和维护代价,对估算结果进行权衡比拟,可以得出该结构符合用户需求,能很好的支持对图书借阅的管理应用。第五章数据库的实施数据完整性约束。主码约束。在“图书〞表中,“图书编号〞为主码;在“读者〞表中,“读者证号〞为主码;在“借阅〞表中,“图书编号〞和“读者证号号〞为主码。这些主码的属性值具有唯一性和非空性。借阅表和图书表间外码约束。“〞为外码,参照表和参照属性为“〞。在系统中,该外码约束应当执行受限删除、受限插入和级联修改的策略。具体要求是:仅当借阅表中没有任何元组的图书编号值与图书表中要删除元组的值相同时,系统才执行删除操作,否那么拒绝此删除操作;仅当图书表中有相应的元组,其书号值与借阅关系插入元组的书号值相同时,系统才执行插入操作,否那么拒绝此操作;如果要修改图书表中的某书号值,那么借阅关系中相应的书号值也作相应的修改。借阅表和读者表间的外码约束。“〞为外码,参照表和参照属性为“〞。在系统中,该外码约束应当执行受限删除、受限插入和拒绝修改的策略。具体要求是:仅当借阅表中没有任何元组的读者证号值与读者表中要删除元组的编号值相同时,系统才执行删除操作,否那么拒绝此操作;仅当读者标中有相应的元组,其编号值与借阅关系插入元组的读者证号值相同时,系统才执行插入操作,否那么拒绝此操作;如果要修改读者标中的某编号值,那么借阅关系中必须没有相同的的读者证号值的元组。其他约束。其他约束是指属性值约束,主要有:“〞只能取“男〞或“女〞。(2)关系的属性设计关系属性的设计包括属性名、数据类型、数据长度、该属性是否允许空值、是否为主码、是否为索引项及约束条件。下面列出各表的设计情况。字段名数据类型长度允许空取值说明读者证号CHAR20NO主关键字姓名CHAR20NO取值唯一学号CHAR10NO性别CHAR2YES男或女所在系别CHAR20YES字段名数据类型长度允许空取值说明图书编号INT20NO主关键字图书名称CHAR50NO取值唯一出版社VARCHAR20YES作者VARCHAR20YES单价SMALLINT10NO正数字段名数据类型长度允许空取值说明读者证号CHAR20NO外部关键字图书编号VARCHAR20NO外部关键字借阅时间DATETIMENO归还时间DATETIMENO字段名数据类型长度允许空取值说明读者证号CHAR20NO外部关键字图书名称CHAR50NO出版社VARCHAR20YES作者VARCHAR20YES一般数据库系统中,数据量都很大,而且数据来源于不同的地方,数据的组织方式,结构和格式都与新设计的数据库系统有相当的差距。为了提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。数据库结构建立好后,就可以向数据库中装载数据了。组织数据入库是数据库实施阶段最主要的工作。数据装载方法有人工方法和计算机辅助数据入库。数据库应用程序的设计应该与数据设计并行进行,在组织数据入库的同时还要调试应用程序。“借阅信息〞数据表的SQL脚本如下:CREATETABLE[dbo].[借阅]( [读者证号][char](20)COLLATEChinese_PRC_CI_ASNOTNULL, [图书编号][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, [借阅时间][datetime]NULL, [归还时间][datetime]NULL)ON[PRIMARY]GO“图书信息〞数据表的SQL脚本如下:CREATETABLE[dbo].[图书]( [图书编号][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, [图书名称][char](50)COLLATEChinese_PRC_CI_ASNULL, [作者][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [出版社][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [单价][smallint]NULL)ON[PRIMARY]GO“征订信息〞数据表的SQL脚本如下:CREATETABLE[dbo].[征订]( [读者证号][char](20)COLLATEChinese_PRC_CI_ASNULL, [图书名称][char](20)COLLATEChinese_PRC_CI_ASNULL, [出版社][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [作者][varchar](20)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO“读者信息〞数据表的SQL脚本如下:CREATETABLE[dbo].[读者]( [读者证号][char](20)COLLATEChinese_PRC_CI_ASNOTNULL, [姓名][char](20)COLLATEChinese_PRC_CI_ASNULL, [学号][char](10)COLLATEChinese_PRC_CI_ASNULL, [性别][char](2)COLLATEChinese_PRC_CI_ASNULL, [所在系别][char](20)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO5.4-5修改根本表操作如下:ALTERTABLE[dbo].[图书]WITHNOCHECKADD CONSTRAINT[PK__图书__20C1E124]PRIMARYKEYCLUSTERED ([图书编号])ON[PRIMARY]GOALTERTABLE[dbo].[读者]WITHNOCHECKADD PRIMARYKEYCLUSTERED ([读者证号])ON[PRIMARY]GOALTERTABLE[dbo].[图书]ADD CONSTRAINT[CK__图书__单价__21B6055D]CHECK([单价]>0)GOALTERTABLE[dbo].[借阅]ADD CONSTRAINT[FK_借阅_读者]FOREIGNKEY ([读者证号])REFERENCES[dbo].[读者]([读者证号]), CONSTRAINT[FK_借阅_图书]FOREIGNKEY ([图书编号])REFERENCES[dbo].[图书]([图书编号])GOALTERTABLE[dbo].[征订]ADD CONSTRAINT[FK_征订_读者]FOREIGNKEY ([读者证号])REFERENCES[dbo].[读者]([读者证号])GOALTERTABLE[dbo].[读者]ADD CHECK([性别]='女'or[性别]='男')GO5.4-6创立索引操作如下:CREATEINDEX[IX_借阅]ON[dbo].[借阅]([读者证号],[图书编号])ON[PRIMARY]GOCREATEINDEX[IX_征订]ON[dbo].[征订]([读者证号])ON[PRIMARY]GO查找图书表中的所有信息代码如下:SELECT*FROM图书查找图书表中高等教育出版社出版的图书代码如下:SELECT*FROM图书WHERE出版社=’高等教育出版社’查找读者表的所有信息代码如下:SELECT*FROM读者查找读者表中所有男生的信息代码如下:SELECT*FROM读者WHERE性别=’男’查找借阅表的所有信息代码如下:SELECT*FROM借阅查找某读者2023-4-1日借书的借阅信息代码如下:SELECT*FROM借阅WHERE借阅时间=’2023-4-1’查找征订的所有信息代码如下:SELECT*FROM征订查找读者证号为读者的征订信息代码如下:SELECT*FROM征订WHERE读者证号=’100123’第六章数据库运行与维护在数据库系统运行过程中必须不断地对其进行评价、调整与修改。数据库试运行合格后,数据库即可投入正式运行。数据库投入运行标志着开发任务的根本完成和维护工作的开始。对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。应用

温馨提示

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

评论

0/150

提交评论