图书管理系统数据库详细设计
图书管理系统数据库设计
图书管理系统
数据库设计
项目名称:图书管理系统
指导老师:
姓名:
目录
一、 需求分析…………………………….. 2
二、 概念设计…………………………….. 5 三、 逻辑设计…………………………...... 8 四、 物理设计……………………………. 10 五、 实施阶段……………………………. 16 六、 运行和维护………………………..... 18
一、需求分析
1.1 系统目标
图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强. 数据安全性好的库。而对于后者则要求应用程序功能完备, 易使用等特点。
系统开发的总体任务是实现各种信息的系统化,规范化和自动化。
1.2 需求定义
图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。 本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效
的实施。
1.3 功能需求
(1)有关读者种类标准的制定、种类信息的输入、包括种
类编号、种类名称、借书数量、借书期限等。 (2)读者有关信息的修改、查询等。
(3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。
(4)读者基本信息的查询、修改
(5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格 (6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额
(7)图书管理 书籍号、管理员编号、销书数量、销书日期。
一、 概念设计
根据需求分析我们规划出实体有:管理员信息实体、图书信息实体、读者信息实体、借阅信息实体、管理信息实体。各个实体具体的描述E-R 实体如下。
1、图书管理员信息模块
2、借阅者信息模块
3、图书信息模块
4. 管理信息模块
5、完整的E —R 图
三、逻辑结构设计
1、数据库逻辑设计:
从E —R 模型到理论关系模型的转换,通过E_R模型到关系模型的转换我们可以得到如下关系模式 (1)借阅关系
属性:借书证号、书的编号、借出日期、归还日期、推迟日期、应罚款总额 主键:借书证号、编号 (2)管理员与图书关系
属性:管理员编号 、书的编号、销毁日期、销毁数量 主键:管理员编号、图书编号
2、数据库逻辑结构
(1). 书籍信息表 由大量图书构成记录 图书数据结构如下:
(2、)读者信息表: 读者记录的数据结构如下
(3)借阅信息表: 借阅数据构成
(4)管理员信息表:其结构如下
(5)管理表:
有队图书管理的信息构成
四、 物理设计
从理论关系模型到实施数据库建立、物理文件的安排和、建立索引 1、 建立索引
为提高在表中搜索元组的速度,在实际现实的时候应该基于键码建立索引是个表中建立索引的表项: (1) 读者信息(读者图书证号) (2) 书籍信息(书籍编号)
(3) 管理员—书籍(管理员编号,图书编号) (4)
管理员(管理员编号)
(5)
借阅信息(读者图书证号,图书编号)
2、 将上面的逻辑结构设计转换为SQL sever 2005据
支持的实际数据模型,也就是数据库的逻辑结构。 图书管理系统数九库各个表中的的设计如下:
(1)
on
(name =Mylibrary_data1,
filename ='d:\Mylibrary_data1.mdf', size =10, maxsize =50, filegrowth =4),
(name =Mylibrary_data2,
filename ='d:\Mylibrary_data2.ndf', size =8, maxsize =20, filegrowth =2) log on
(name =Mylibrary_log1,
filename ='d:\Mylibrary_log1.ldf', size =10, maxsize =20, filegrowth =2) go
查看数据库建立信息:
sp_helpdb MyLibrary
go
建立图书馆数据库(MyLibrary )
create database MyLibrary
(2)在MyLibrary 表中建立管理员表(adminis )
use MyLibrary go
Create table admins
(Id nvarchar (10) not null, adNam nvarchar (20) not null, GLSk nvarchar (10) not null, constraint pk_admins primary key (Id )) go
查看表信息:
select * from
admins
sp_help
admins
(2)
在数据库中建立图书表(BOOk )
use MyLibrary go
Create table Book
(Ip nvarchar (10) not null, bookName nvarchar (20) not null, author nvarchar (20) not null, LB nvarchar (10) not null,
publisher nvarchar (10) not null, pubilshdata nvarchar (8) not null, buydata nvarchar (8) not null, stocknum int not null, price decimal (6, 2) not null, constraint pk_Book primary key (Ip )) go 结果:
(3)建立读者信息表(Reader ):
Create table Reader
(ReadId nvarchar (10) not null, Name nvarchar (20) not null, Class nvarchar (10) not null, Department nvarchar (10) not null,
constraint pk_Reader primary key (ReadId )) go
显示:sp_help Reader
(4)在数据库中建立借阅信息表(loanInfo ):
use MyLibrary go
Create table loanInfo
(Ip nvarchar (10) not null, ReadId nvarchar (20) not null, loandate nvarchar (20) not null, bakedate nvarchar (10) not null, latedate nvarchar (10) not null, penalsum int not null, constraint pk_loanInfo primary key (Ip )) go
(5)建立管理员管理书的管理表(Manage )
Create table Manage
(Ip nvarchar (10) not null, Id nvarchar (10) not null, bookName nvarchar (20) not null,
Booksdestroyeddate nvarchar (8) not null, destroyNum int not null, constraint pk_Manage primary key (Ip ))
sp_help Manage
五、 实施阶段
1、在数据库中用DML 语言对adminis 表加入数据
insert admins
values ('001' , ' 张三' , 'IT 计算机' ) values ('002' , ' 李四' , ' 经济学' ) select * from admins
3、 用DML 语言对BOOk 表添加数据
insert Book
values ('00001' , 'C 语言' , ' 谭浩强' , 'IT 计算机' , ' 电子工业出版社' , '20090801' , '20100101' , '50' , '20.00' ) insert Book
values ('00003' , ' 贸易关系' , ' 谭浩强' , ' 经济学' , ' 电子工业出版社' , '20090801' , '20100101' , '50' , '20.00' )
select * from
Book
4、 用DML 语言对Reader 表添加数据
insert Reader
values ('00001' , ' 王五' , '10级计应三班' , ' 电子与信息工程系' )
select * from Reader
5、用DML 语言对loanInfo 表添加数据
insert loanInfo
values ('00001' , '00001' , '20110112' , '20110212' , '10' , 5)
select * from loanInfo
5、 用DML 语言对Manage 表添加信息
insert Manage
values ('00001' , '001' , 'C 语言' , '20110112' , '20' )
select * from Manage
六、 运行和维护
1、 对数据库性能的监测、分析和改善。
在数据库运行过程中,监督系统运行,对监测数据进行分析,
找出改进系统性能的方法是数据库管理员的又一重要任务。目前有些数据库管理系统产品提供了监测系统性能参数的工具,数据库管理员利用这些工具方便地得到系统运行过程中一系列性能参数的值。数据库管理员应仔细分析这些数据,判断当前系统运行状况是否是最佳,应当做哪些改进。例如调整系统物理参数,或对数据库进行重组织或重构造等。
2、 数据库的转储和恢复。
数据库的转储和恢复是系统正式运行后最重要的维护工作之一。要针对不同的应用要求制定不同的转储计划,以保证一旦发生故障能尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏。
3、 数据库的安全性和完整性。
各级环境数据库系统主管单位应保证以下安全保护措施的正常执行。
(1) 环境数据库系统重要部分的冗余或备份措施。 (2) 计算机病毒防治措施。 (3) 网络攻击防范、追踪措施。
(4) 环境数据库系统运行和用户操作日志记录保存60 日
以上措施。
(5) 记录环境数据库系统用户网络地址的措施。 (6) 环境数据库系统身份登记和识别确认措施。
4、 数据库的重组和重构。
数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA (数据库管理员)就要对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织)。DBMS (数据库管理系统(database management system))一般都提供数据重组织用的实用程序。在重组织的过程中,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。 部分修改数据库的模式和内模式实现数据库的重组。