您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 图书管理系统数据库设计示例
图书管理系统数据库设计一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。一、需求分析针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:1.读者信息属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注主键:读者学号2.书籍信息属性:ISBN,书名,作者,出版社,出版日期,简介,备注主键:ISBN3.管理员信息属性:工作号,姓名,性别,电话,家庭住址,备注主键:工作号数据流程通过对系统的调查和可行性分析,画出系统的数据流程图:1.读者学生对图书管理系统的要求有:1)能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。2)能够方便地借阅图书、续借图书、归还图书3)能够查询自己的基本资料、图书情况4)能够熟悉图书管理系统的使用。读者进入系统工作的流程为:注册→查询→修改信息→借阅续借→图书归还→注销2.图书管理员他们对图书管理系统的要求有:1)能方便的对图书进行录入登记,注销陈旧的书籍。2)能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。3)能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。图书管理员工作的流程为::注册→录入图书→录入新生→注销图书→注销学生→注销→修改个人信息→超期处理二、概念模型设计数据库需要表述的信息有以下几种:1.读者信息2.书籍信息3.管理员信息4.读者与书籍之间的关系(借阅关系E-R图)5.管理员与书籍之间的关系(管理员_书籍E-R图)6.管理员与学生之间的关系(管理员_学生E-R图)三、逻辑设计从理论‘E/R模型’到理论‘关系模型’的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:借阅关系属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。主键:工作号,读者学号,ISBN管理员_书籍关系属性:工作号,ISBN,添加时间,是否在馆主键:工作号,ISBN管理员_学生关系属性:工作号,读者学号,确认借还主键:工作号,读者学号四、数据库逻辑结构1.图书信息表字段名称数据类型是否可为空ISBN(key)varchar(20)否书名varchar(50)否作者varchar(12)否出版社varchar(50)是出版日期datetime是简介varchar(200)是备注varchar(200)是2.读者信息表字段名称数据类型是否可为空读者学号(key)varchar(12)否读者姓名varchar(10)否读者性别varchar(2)否联系电话varchar(10)是所在系varchar(12)否生效时间datatime是失效时间datatime是违章状况varchar(2)是累计借书int是备注varchar(100)是3.管理员信息表字段名称数据类型是否可为空工作号(key)varchar(12)否姓名varchar(12)否性别varchar(2)否电话varchar(12)是住址varchar(12)是备注varchar(100)是4.借阅表字段名称数据类型是否可为空工作号char(10)否ISBNchar(10)否读者学号char(10)否借书日期datetime否还书日期datetime否是否续借char(4)否备注varchar(100)是5.管理员_书籍字段名称数据类型是否可为空工作号char(10)否ISBNchar(10)否添加时间datatime是是否在馆char(14)是6.管理员_学生字段名称数据类型是否可为空工作号char(10)否读者学号char(10)否借还确认char(4)否五、物理设计从理论‘关系模型’到‘数据库建立’,物理文件的安排和建立索引1.建立索引为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:(1)读者信息(读者学号)(2)书籍信息(ISBN)(3)管理员信息(工作号)(4)借阅(工作号,读者学号,ISBN)(5)管理员_书籍(工作号,ISBN)(6)管理员_学生(工作号,读者学号)2.用SQL实现设计实现该设计的环境为Windows2000Perfessinal+MSSQLServer2000.01)建立图书信息表createtable图书(ISBNvarchar(20)notnullprimarykey,书名varchar(50)notnull,作者varchar(12)notnull,出版社varchar(50),出版日期datetime,简介varchar(200),备注varchar(200),)2)建立读者信息表createtable读者(读者学号varchar(12)notnullprimarykey,读者姓名varchar(10)notnull,读者性别varchar(2)notnull,联系电话varchar(12),所在系varchar(20)notnull,生效日期datetime,失效日期datetime,违章状态char(2)累计借书int,备注varchar(100),)3)建立管理员信息表createtable管理员(工作号varchar(12)notnullprimarykey,姓名varchar(12)notnull,性别varchar(2)notnull,电话varchar(12),家庭住址varchar(50),备注varchar(100))4)建立借阅表createtable借阅(工作号char(10)notnull,ISBNchar(10)notnull,读者学号char(10)notnull,借书日期datetimenotnull,还书日期datetimenotnull,是否续借char(4)notnull,备注varchar(100))5)建立管理员_书籍表createtable管理员_书籍(工作号char(10)notnull,ISBNchar(10)notnull,添加时间datetime,是否在馆char(4))6)建立管理员_学生表createtable管理员_学生(工作号char(10)notnull,读者学号char(10)notnull,ISBNchar(10)notnull,借还确认char(4)notnull)7)建立索引CREATEUNIQUEINDEX图书索引ON图书(ISBN)CREATEUNIQUEINDEX读者索引ON读者(读者学号)CREATEUNIQUEINDEX管理员索引ON读者(工作号)CREATEUNIQUEINDEX借阅索引ON借阅(工作号,读者学号,ISBN)CREATEUNIQUEINDEX管理员_书籍索引ON管理员_书籍(工作号,ISBN读者学号)CREATEUNIQUEINDEX管理员_学生ON管理员_学生(工作号,读者学号)8)定义视图读者表视图CREATEVIEW读者视图ASSELECT*FROM读者图书表视图CREATEVIEW图书视图ASSELECT*FROM图书管理员表视图CREATEVIEW管理员视图ASSELECT*FROM管理员者
本文标题:图书管理系统数据库设计示例
链接地址:https://www.777doc.com/doc-4919874 .html