广西交通职业技术学院信息工程系作品设计报告书题目:《图书管理系统》班级网络2012-1班学号20120404026姓名唐张森课程名称数据库应用技术指导教师乐文行二O一三年六月目录数据库课程设计报告书一、设计目标1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。3.培养把所学知识运用到具体对象,并能求出解决方案的能力。二、数据库存储设计指导思想在数据库存储设计的无数选择中,简单是系统架构师和DBA的秘密武器。简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O特性,总有这么一种可能,一个富有经验的DBA拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。三、任务角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL实现的查询语言及查询结果。2.上机实现。11.问题描述1.1背景随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。1.2数据需求图书馆管理信息系统需要完成功能主要有:1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。4.书籍类别信息的查询、修改,包括类别编号、类别名称。5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。9.还书信息的输入,包括借书证编号、书籍编号、还书日期。10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。212.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等1.4关系模式(一)书籍类别(种类编号,种类名称)(二)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)(四)借阅(借书证编号,书籍编号,读者借书时间)(五)还书(借书证编号,书籍编号,读者还书时间)(六)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。2.方案图表设计2.1E-R图根据1)所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。用E-R图一一描述这些实体。2.1.1类别实体E-R图:图2-1类别实体E-R图32.1.2读者信息实体E-R图:图2-2读者信息实体E-R图2.1.3信息实体E-R图:4信息实体E-R图:图2-4记录信息实体E-R图2.1.5记录信息实体E-R图:5图2-5记录信息实体E-R图2.1.6罚款信息实体E-R图:6图2-6罚款信息实体E-R图2.1.6总的信息实体E-R图:图2-7总的信息实体E-R图7超期罚款D62.2数据流程图D5归还信息录入基本信息录入D2D1基本信息录入基本信息录入D3D4借阅信息录入读者信息返回书籍信息返回书籍类别设置读者登记书籍类别信息管理书籍登记读者信息管理书籍信息管理借阅信息管理8图2-7系统的数据流程图2.3数据字典表2-1book_sytle书籍类别信息表表中列名数据类型可否为空说明bookstylenovarcharnotnull(主键)种类编号bookstyleVarcharnotnull种类名称表2-2system_readers读者信息表格表中列名数据类型可否为空说明readeridvarcharnotnull(主键)读者借书证号readernamevarcharnotnull读者姓名readersexvarcharnotnull读者性别readertypevarcharnull读者种类regdatedatetimenull登记日期表2-3system_book书籍信息表表中列名数据类型可否为空说明bookidVarcharNotnull(主键)书籍编号booknameVarcharNotnull书籍名称bookstyleVarcharNotnull书籍类别bookauthorVarcharNotnull书籍作者bookpubVarcharNull出版社名称bookpubdateDatetimeNull出版日期bookindateDatetimeNull登记日期isborrowedVarcharNotNull是否被借出9表2-4borrow_record借阅记录信息表表中列名数据类型可否为空说明readeridVarcharNotnull(外主键)读者借阅证编号bookidVarcharNotnull(外主键)书籍编号borrowdateVarcharNotnull读者借书时间表2-5return_record借阅记录信息表表中列名数据类型可否为空说明readernameVarcharNotnull(外主键)读者借阅证编号readeridVarcharNotnull(外主键)书籍编号returndatedatetimeNotnull读者还书时间表2-6reader_fee罚款记录信息表readeridvarcharNotnull读者借书证编号readernamevarcharNotnull读者姓名bookidvarcharNotnull(外主键)书籍编号booknamevarcharNotnull书籍名称bookfeevarcharNotNull罚款金额borrowdatedatetimeNotNull借阅时间102.4关系图:图2-8数据库存表关系图113.数据库源代码3.1数据库建立3.1.1创建数据库USEmastergoCREATEDATABASEtangzhangsentsgON(NAME=librarysystem,FILENAME='c:\tangzhangsenlibrary.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='library',FILENAME='c:\tangzhangsenlibrary.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)go3.1.2书本类别表建立createtablebook_style(bookstylenovarchar(30)primarykey,bookstylevarchar(30))3.1.3创建书库表createtablesystem_books(bookidvarchar(20)primarykey,12booknamevarchar(30)Notnull,bookstylenovarchar(30)Notnull,bookauthorvarchar(30),bookpubvarchar(30),bookpubdatedatetime,bookindatedatetime,isborrowedvarchar(2),foreignkey(bookstyleno)referencesbook_style(bookstyleno),)3.1.4借书证表建立createtablesystem_readers(readeridvarchar(9)primarykey,readernamevarchar(9)notnull,readersexvarchar(2)notnull,readertypevarchar(10),regdatedatetime)3.1.5借书记录表建立createtableborrow_record(bookidvarchar(20)primarykey,readeridvarchar(9),borrowdatedatetime,foreignkey(bookid)referencessystem_books(bookid),foreignkey(readerid)referencessystem_readers(readerid),)3.1.6还书记录表建立createtablereturn_record(bookidvarchar(20)primarykey,readeridvarchar(9),returndatedatetime,foreignkey(bookid)referencessystem_books(bookid),foreignkey(readerid)referencessystem_readers(readerid))133.1.7罚款单表建立*/createtablereader_fee(readeridvarchar(9)notnull,readernamevarchar(9)notnull,bookidvarchar(20)primarykey,booknamevarchar(30)Notnull,bookfeevarchar(30),borrowdatedatetime,foreignkey(bookid)referencessystem_books(bookid),foreignkey(readerid)referencessystem_readers(readerid))3.2数据初始化3.2.1将书籍类别加入表book_style中insertintobook_style(bookstyleno,bookstyle)values('1','修真小说')insertintobook_style(bookstyleno,bookstyle)values('2','穿越小说')insertintobook_style(bookstyleno,bookstyle)values('3','恐怖小说')insertintobook_style(bookstyleno,bookstyle)values('4','都市小说')insertintobook_style(bookstyleno,bookstyle)values('5','科幻小说')insertintobook_style(bookstyleno,bookstyle)