您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据库课程设计图书管理系统
1/26目录1前言………………………………………………………………22需求概述…………………………………………………………22.1读者登记处……………………………………………………………22.2图书总管部门…………………………………………………………22.3图书借还处…………………………………………………………23业务流程分析……………………………………………………34概念结构设计………………………………………44.1实体………………………………………………………………44.2ER图………………………………………………………………55逻辑结构设计………………………………………65.1一般逻辑模型设计………………………………………………65.2具体逻辑模型设计…………………………………………………66数据库保护设计……………………………………………76.1设计表间关系……………………………………………………………76.2完整性设计………………………………………………………………87数据库应用系统的实现………………………………………88结束语…………………………………………………………129附注SQL语言…………………………………………………………132/261前言数据库技术和Interne的飞速发展,使他们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于拥有庞大人员的学校的管理来讲,数据的有效使用是一个学校能否进行有效管理的一个关键。学校作为一个学习的地方,一定会有一个图书馆。有图书馆就必定要有管理,这样学校图书管理系统就显得更为重要。学校图书管理系统适应于绝大多数的学校图书馆的管理。应用此系统可以将众多的学生信息和图书信息进行有效的管理,提高学校的效率。2需求概述2.1读者登记处学生或教师需要通过办理图书证之后才能进行图书借阅。图书证包括借书证号,姓名,读者类型,借书人单位等信息。在读者登记处,需要把读者的有关信息添加到信息系统中保存,当读者信息发生改变时,需要对计算机里的内容进行相应的修改。当读者办理退证手续时,需要删除相应的读者信息。另外,生成超过期限未还书的读者信息表,通知读者应尽快还书等。2.2图书总管部门2.2.1图书管理部门负责书籍和出版社等的信息管理,具体如下:(1)图书信息管理。完成图书的录入、修改、删除和查询功能。在查询图书信息时,可随时查询书库中现有书籍的类型、书号、书名、作者、数量等信息。所有书籍都可由书号唯一标识。(2)为了方便业务往来,需保存出版社相关信息。这些信息包括出版社编号、名称、电话、邮编、地址、联系人等。2.3图书借还处2.3.1图书借还处负责图书的借阅和归还工作。具体如下:(1)读者借书管理。读者可以根据图书类别和书名查找自己要借阅的图书,在图书借阅登记中,借阅日期是自动填写的(当前系统日期)。(2)还书管理。在办理还书业务时,系统判断是否过期,若过期,则首先查看是否已经交了罚款。若未交,则生成一张罚款通知单。(3)完成图书在库数量的查询。此外,对于书籍、读者和出版社等信息,系统管理员可以做添加、修改、删除和查询操作。普通读者只能查询。3/263业务流程分析图书管理系统系统管理员读者管理图书读者查询图书信息借还情况种类数量书号出版社存放位置借书证号借还情况读者类型姓名4/264概念结构设计4.1实体之间的联系(有下划线的为主键),具体如下:实体1:书籍【种类、数量、存放位置、书号、书名、出版年、作者、出版社编号、价格】实体2:读者【借书证号、姓名、性别、借书人单位、读者类型】实体3:出版社【出版社编号、出版社名、电话、邮编、地址】实体4:借还情况【借书证号、书号、借书日期、还书日期】实体5:读者身份【读者类型、可借阅天数、可借阅数量】4.2改进后的整体E-R图,具体如下图所示:(转下一页)5/26读者借还书籍出版出版社还书日期借书日期电话出版社编号种类书号出版年作者书名数量存放位置地址邮编读者身份包含读者类型可借阅数量期可借阅天数姓名性别借书人单位借书证号出版社名6/265逻辑结构设计5.1一般逻辑模型设计一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定各式的纪录,数据表中的行称为纪录,列被称为字段,创建数据表的过程其实就是定义字段的过程。在此图书管理系统中需要创建5个表,即读者、书籍、借还情况、出版社、读者身份表。5.2具体逻辑模型设计读者表:创建此表所需要的字段名是:姓名、借书证号、性别、借书人单位读者类型,其中借书证号设为主键。字段名字段类型字段宽度小数点关键字读者编号char20------------主键读者姓名char10------------读者性别char2------------读者单位char30------------读者类型char4------------出版社表:用于记录书籍出版社信息,所需要的字段名是:出版社编号、出版社名、电话、邮编、地址,其中出版社编号是主键。字段名字段类型字段宽度小数点关键字出版社编号tinyint------------主键出版社名称char30------------出版社电话char50------------出版社邮编char30------------出版社地址char50------------图书表:用于记录书籍信息,所需要的字段名是:书号、书名、数量、类型、出版年、作者、出版社编号、存放位置。主键是书号。字段名字段类型字段宽度小数点关键字7/26图书编号char10------------主键图书名称char50------------图书数量tinyint------------图书类型char30------------出版时间tinyint------------图书作者char10------------出版社编号tinyint------------存放位置char30------------读者身份表:用于记录读者类型信息,是学生还是老师。所需要的字段名是:读者类型、可借阅天数、可借阅数量。主键是读者类型。字段名字段类型字段宽度小数点关键字读者类型char4------------主键可借阅天数tinyint------------可借阅数量tinyint------------借还情况表:用于记录读者借还图书的情况。所需要的字段名是:借书证号、书号、借书日期、还书日期。主键是借书证号、书号。字段名字段类型字段宽度小数点关键字读者编号char20------------主键图书编号char10------------主键借书日期datetime8------------还书日期datetime8------------6数据库保护设计6.1设计表间关系读者表通过读者类型和读者身份表联系,书籍表通过出版社编号和出版社表联系,借还情况表通过借书证号和书号与读者表和书籍表联系。6.2完整性设计8/26实体完整性约束:关系中的主属性不能为空。在数据库中使用Primarykey实现。参照完整性约束:读者与书籍,出版社与书籍,读者与读者身份,借还情况与读者和书籍表之间采用级联更新和级联删除。用户定义的完整性约束:规定姓名、书名借书日期非空,借书日期设置默认值为当前时间。7.数据库应用系统的实现7.1建数据库(学校图书管理)7.2建表7.2.1读者身份表9/267.2.2读者表7.2.3出版社表7.2.4书籍表10/267.2.5借还情况表7.3输入数据7.3.1读者身份表7.3.2出版社表11/267.3.3书籍表12/267.3.4读者表13/267.3.5借还情况表14/26结束语在设计这个系统中,不断地遇到不少问题,主要有下:(1)不熟悉业务流程图,不知如何下手。通过参考一些优秀的课程设计范本,仔细观察总结,得出业务流程图实际是要表示此数据库是怎样帮助使用者进行数据管理和查询的,整理思路画出流程图。(2)输入数据时总是不成功,出现“将截断字符串或二进制数据”信息,反复检查后才发现是建表时疏忽了字段长度。此外,还有很多很琐碎的问题,都是通过与同学讨论而得以解决。“学校图书管理系统”是本人亲手设计的。经过本人一番心血、不断的努力,这个设计才能顺利完成。其既有成功的一面也有很多不足待改善的地方。在日后的工作中定能不断的改进,使其更方便的为学校、为广大的师生服务。通过这次学校图书馆图书管理的课程设计,可以对数据库设计的整个过程有进一步了解,对SQL的运用也熟悉很多。但我知道这还不是完整的一个管理系15/26统,要让它能够得到实际运用还需要改进很多。在设计过程中,我遇到了很多问题,很多都是靠同学的帮助解决的。很多时候,同学间的互助是最直接的最快捷的。虽然并不是每个同学都很厉害,但我们可以互相讨论,研究。许多的问题就是这样发现和得以解决的。正所谓三人行,必有我师。通过这次的作业,我们同学间的合作更加紧密了。当然,和同学讨论之前,都是要先参考书籍,独立思考,得不到答案再去寻求他人帮助。这就是我对这次课程设计的一个小小的体会。虽然在这次的设计中还存在不少问题,但也收获良多。希望我在以后的学习过程中能不断的进步。16/26SELECTdbo.读者表.读者编号,dbo.借还情况表.图书编号,dbo.图书表.图书编号ASExpr1,dbo.图书表.图书名称,dbo.图书表.图书数量,dbo.图书表.图书类型,dbo.图书表.出版时间,dbo.图书表.图书作者,dbo.图书表.出版社编号,dbo.图书表.存放位置,dbo.读者表.读者姓名,dbo.读者表.读者性别,dbo.读者表.读者单位,dbo.借还情况表.借书日期,dbo.借还情况表.还书日期FROMdbo.读者表INNERJOINdbo.借还情况表ONdbo.读者表.读者编号=dbo.借还情况表.读者编号INNERJOINdbo.图书表ONdbo.借还情况表.图书编号=dbo.图书表.图书编借阅详细信息表SELECTdbo.读者表.读者编号,dbo.读者表.读者姓名,dbo.读者表.读者性别,dbo.读者表.读者单位,dbo.读者身份表.读者类型,dbo.读者身份表.可借阅天数,dbo.读者身份表.可借阅数量FROMdbo.读者表INNERJOINdbo.读者身份表ONdbo.读者表.读者类型=dbo.读者身份表.读者类型17/26读者详细信息表SELECTdbo.图书表.图书名称,dbo.图书表.图书数量,dbo.图书表.图书类型,dbo.图书表.出版时间,dbo.图书表.图书作者,dbo.图书表.出版社编号,dbo.图书表.存放位置,dbo.出版社表.出版社电话,dbo.出版社表.出版社邮编,dbo.图书表.图书编号,dbo.出版社表.出版社名称FROMdbo.出版社表INNERJOINdbo.图书表ONdbo.出版社表.出版社编号=dbo.图书表.出版社编号18/26图书详细信息表SELECTdbo.出版社表.出版社编号ASExpr12,dbo.读者身份表.读者类型ASExpr5,dbo.借还情况表.图书编号ASExpr1,dbo.出版社表.出版社名称ASExpr19,dbo.出版社表.出版社电话ASExpr20,dbo.出版社表.出版社邮编ASExpr21,dbo.出版社表.出版社地址ASExpr22,dbo.读者表.读者姓名ASExpr23,dbo.读者表.读者性别ASExpr24,dbo.读者表.读者单位ASExpr25,dbo.读者身份表.可借阅天数ASExpr6,dbo.读者身份表.可借阅数量ASExpr7,dbo.图书表.图书名称ASExpr13,dbo.图书表.图书数量ASExpr14,dbo.图书表.图书类型ASExpr15,dbo.图书表.出版时间ASExpr16,dbo.图书表.图书作者ASExpr17,dbo.借还情况表.借书日期ASExpr2,dbo.借还情况表.还书日期ASExpr3,dbo.借还情况表.读者编号ASExpr4,dbo.图书表.存放
本文标题:数据库课程设计图书管理系统
链接地址:https://www.777doc.com/doc-2333316 .html