岗位职责 实施方案 自查报告 整改措施 先进事迹材料 应急预案 工作计划 调研报告 调查报告 工作汇报 其他范文
首页 > 其他范文 > 其他范文

《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)

作者:huaer时间:2020-12-14 下载本文

《SQL Server 数据库设计》

课程设计报告 课题名称:图书馆管理系统_ 班级:_ 软大班____ 学号:_ __ 姓名:___ ___ 完成日期:_2011-X-X_ _ 课程设计报告内容 项目名称 图书馆管理系统数据库设计 姓名 其他参与人员 本人在本项目中主要完成的工作 系统需求分析 系统功能分析 数据库设计 数据库物理结构设计 数据库安全设计 数据库的实现 系统功能实施需要的语句 完成任务的体会 这次实训最大的体会就是明白到自己之前有多么的懒惰,学过的东西没有去复习和联系。导致这次实训到临时来学习。零时来翻课件学习语句,还好在老师的帮助下,攻克了很多难题。这次最大的收获就是学会了分析一个系统的需要,明白了不管学什么都要用心去练习。这次实训虽然遇到了很多困难,但是我也发现,只要用心的去学,去钻,就一定能弄懂。

目录 一、系统需求分析:

3 系统目标 3 系统的功能需求 4 系统功能描述 4 二、本项目的系统设计 4 系统的功能分析 4 系统的功能模块设计 5 三、数据库设计 5 数据库需求分析:

5 图书馆管理流程图 6 图书馆管理系统实体E-R图 7 数据库的完整性要求 7 四、数据库的物理结构设计:

8 图书信息表 8 借阅表 8 读者信息表 8 读者类别表 9 管理员信息表 9 五、数据库安全设计 9 六、数据库的实现 10 创建图书信息表 10 创建借阅表 10 读者信息表 11(读者类别表 11 管理员信息表 11 七、系统功能实施需要的语句 12 读者类别表 12 读者信息表 13 管理员信息表 15 借阅表 16 图书信息表 18 视图 19 存储过程 20 触发器 21 一、系统需求分析:

A.系统目标:本系统将实现用计算机管理图书馆的功能。具体完成图书信息管理、读者信息管理、管理员信息管理及图书借阅管理等功能。

B.系统的功能需求:本系统用户分为读者用户和管理员用户两类,管理员用户负责系统的维护,包括对图书信息、读者信息、借阅信息的录入、修改、查询、删除等。读者用户只具有查询书籍和自己信息的权限。

C.系统功能描述:

系统开发的主要目的是实现图书馆信息管理的系统化、规范化和自动化。图书馆信息管理系统主要提供对图书信息的管理及读者信息的管理。需要完成的主要功能有:

1、有关读者信息的输入、修改和查询;

2、图书信息的输入、修改和查询;

二、本项目的系统设计 a)系统的功能分析:

A.图书信息管理:

图书信息的插入、修改及删除,内容ISBN、书名、作者、价格、出版社、出版日期、在馆状态、简介、备注。管理员用户可以对图书信息进行修改等操作。读者用户只可以查询图书信息。

B.读者信息管理:

读者信息:读者编号、读者姓名、读者性别、读者类别编号、联系电话、生效时间、失效时间、违章状况、已借数目、备注。

管理员对读者信息进行增加、删除、查询及修改等操作。读者只能对读者信息进行查询操作。

C.管理员信息管理。

管理员信息:管理员工作号、姓名、性别、电话、住址、备注。管理员对管理员信息的添加删除修改等操作。

D.图书借阅管理。

借阅信息:管理员工作号、ISBN、读者编号、借书日期、还书日期、是否续借、备注。管理员对借出的书籍、借书的人、借书时间、还书时间进行登记,超出时间登记违规情况。

b)系统的功能模块设计 对上述功能进行集中分析、分块,按照结构化程序设计的要求,得到功能模块图如下:

三、数据库设计(一)数据库需求分析:

通过对图书馆管理过程的内容和数据流程分析,设计如下的数据项和数据结构。系统的实体集和实体属性:

图书信息:ISBN、书名、管理员工作号、作者、价格、出版社、出版日期、在馆状态、简介、备注。

读者信息:读者编号、读者姓名、读者性别、读者类别编号、联系电话、生效时间、失效时间、违章状况、已借数目、备注。

管理员信息:管理员工作号、姓名、性别、电话、住址、备注。

(二)图书馆管理流程图(三)图书馆管理系统实体E-R图(四)数据库的完整性要求 通过各种约束,默认值,规则和触发器实现数据的完整性。由于学生管理系统的重要性和各个数据之间的复杂相关性,保证数据的完整性很重要,不能随便删除、修改数据。

1、通过check约束保证成绩输入的正确性。

2、通过各种外键保证数据的完整性,不能随便删除数据。外键在建表时列出(见后)。

3、通过主键保证实体的完整性。外键在建表时列出(见后)。

4、创建触发器,保证在添加借阅信息时,自动将该借阅的书籍在馆状态改为否。

创建触发器,保证在添加借阅信息时,自动将该读者的已借数目累计加1。

也可以通过其他方法保证数据的完整性。

四、数据库的物理结构设计:

一、图书信息表 列名(字段名)

数据类型与长度 空否 说明 ISBN varchar(12)否 主键 书名 varchar(50)否 管理员工作号 varchar(20)否 外键 作者 varchar(12)是 价格 int 是 出版社 varchar(50)是 出版日期 datetime 是 在馆状态 varchar(20)否 简介 varchar(200)是 备注 varchar(200)是 二、借阅表 列名(字段名)

数据类型与长度 空否 说明 管理员工作号 varchar(20)否 外键 ISBN varchar(12)否 外键 读者编号 varchar(12)否 外键 借书日期 datetime 否 还书日期 daterime 否 是否续借 char(4)否 备注 varchar(100)是 三、读者信息表 列名(字段名)

数据类型与长度 空否 说明 读者编号 varchar(12)否 主键 读者姓名 varchar(50)否 读者性别 varchar(2)否 读者类别编号 varchar(20)否 外键 联系电话 varchar(50)是 生效时间 datetime 是 失效时间 datetime 是 违章状况 varchar(2)是 已借数目 int 否 备注 varchar(100)是 四、读者类别表 列名(字段名)

数据类型与长度 空否 说明 读者类别编号 varchar(20)否 主键 读者类别名称 varchar(50)否 可借数目 int 否 可借天数 int 否 五、管理员信息表 列名(字段名)

数据类型与长度 空否 说明 管理员工作号 varchar(20)否 主键 姓名 varchar(12)否 性别 varchar(2)否 电话 varchar(12)是 住址 varchar(12)是 备注 varchar(100)是 五、数据库安全设计 1、本数据库的角色成员有:管理员(系统管理员、学校及系领导)、读者。

2、管理员将授予数据库的所有权限,读者只有查询本人信息绩的权限和查询图书信息权限,六、数据库的实现(1.)创建图书信息表 create table 图书信息表(ISBN varchar(12)Not null primary key , 书名 varchar(50)Not null , 管理员工作号 varchar(20)Not null , 作者 varchar(12)null , 价格 int null , 出版社 varchar(50)null , 出版日期 datetime null , 在馆状态 varchar(20)Not null , 简介 varchar(200)null , 备注 varchar(200)null;)(2.)创建借阅表 create table 借阅表(管理员工作号 varchar(20)Not null , ISBN varchar(12)Not null, 读者编号 varchar(12)Not null , 借书日期 datetime Not null , 还书日期 daterime Not null, nullNot null续借 char(4)Not null , 备注 varchar(100)null)(3.)读者信息表 create table 读者信息表(读者编号 varchar(12)Not null primary key , 读者姓名 varchar(50)Not null, 读者性别 varchar(2)Not null , 读者类别编号 varchar(20)Not null , 联系电话 varchar(50)null , 生效时间 datetime null , 失效时间 datetime null , 违章状况 varchar(2)null , 已借数目 int Not null, 备注 varchar(100)null)

(4.)读者类别表 create table读者类别表(读者类别编号 varchar(20)Not null primary key , 读者类别名称 varchar(50)Not null , 可借数目 int Not null , 可借天数 int Not null)(5.)管理员信息表 create table 管理员信息表(管理员工作号 varchar(20)Not null primary key , 姓名 varchar(12)Not null , 性别 varchar(2)Not null , 电话 varchar(12)null , 住址 varchar(12)null , 备注 varchar(100)null)七、系统功能实施需要的语句 /*读者类别表*/ /*添加记录*/ insert into 读者类别表(读者类别编号,读者类别名称,可借数目,可借天数)values('01','学生',5,30)insert into 读者类别表(读者类别编号,读者类别名称,可借数目,可借天数)values('02','老师',10,100)insert into 读者类别表(读者类别编号,读者类别名称,可借数目,可借天数)values('03','领导',10,100)/*修改记录*/ update 读者类别表 set 读者类别名称='领导或老师' where 读者类别名称='老师' /*删除记录*/ delete from 读者类别表 where 读者类别编号='03' /*查询记录*/ select * from 读者类别表 /*读者信息表*/ /*添加记录*/ insert into 读者信息表(读者编号,读者姓名,读者性别,读者类别编号,联系电话,生效时间,失效时间,违章状况,已借数目,备注)values('201002040104','周书婷','女','01','***','2010-09-06','2013-05-06','无',0,'10软大一班')insert into 读者信息表(读者编号,读者姓名,读者性别,读者类别编号,联系电话,生效时间,失效时间,违章状况,已借数目,备注)values('201002040101','张洋','男 ','01','***','2010-09-06','2013-05-06','无',0,'10软大一班')insert into 读者信息表(读者编号,读者姓名,读者性别,读者类别编号,联系电话,生效时间,失效时间,违章状况,已借数目,备注)values('201002040102','周力','男','01','***','2010-09-06','2013-05-06','无',0,'10软大一班')insert into 读者信息表(读者编号,读者姓名,读者性别,读者类别编号,联系电话,生效时间,失效时间,违章状况,已借数目,备注)values('201002040103','蒋翔','男','01','***','2010-09-06','2013-05-06','无',0,'10软大一班')/*修改记录*/ update 读者信息表 set 联系电话='***' where 读者姓名='周书婷' /*删除记录*/ delete from 读者信息表 where 读者编号='201002040103' /*查询记录*/ select * from 读者信息表 /*管理员信息表*/ /*添加记录*/ insert into 管理员信息表(管理员工作号,姓名,性别,电话,住址,备注)values('1001','张删','男',02885965551,'湖南省娄底市','借阅管理')insert into 管理员信息表(管理员工作号,姓名,性别,电话,住址,备注)values('1002','李志文','男',02885965552,'湖南省娄底市','借阅管理')/*修改记录*/ update 管理员信息表 set 电话='02885964442' where 管理员工作号='1002' /*删除记录*/ delete from 管理员信息表 where 管理员工作号='1001' /*查询记录*/ select * from 管理员信息表 /*借阅表*/ /*添加记录*/ insert into 借阅表(管理员工作号,ISBN,读者编号,借书日期,还书日期,是否续借,备注)values('1001','978788111','201002040104','2011-6-11','2011-6-11','否','无')insert into 借阅表(管理员工作号,ISBN,读者编号,借书日期,还书日期,是否续借,备注)values('1001','978750118','201002040104','2011-6-11','2011-6-17','否','无')/*修改记录*/ update 借阅表 set 还书日期='2010-6-14' where ISBN='978780098' /*删除记录*/ delete from 借阅表 where ISBN='978780098' /*查询记录*/ select * from 借阅表 /*图书信息表*/ /*添加记录*/ insert into 图书信息表(ISBN,书名,管理员工作号,作者,价格,出版社,出版日期,在馆状态,简介,备注)values('978780098','入党教材','1001','中共中央组织部组织局',12,'党建读物出版社','2008-06','在','入党教材','入党培训书籍')insert into 图书信息表(ISBN,书名,管理员工作号,作者,价格,出版社,出版日期,在馆状态)values('978788111','应用数学','1001','湖南中华职业教育社',25,'湖南出版社','2010-07','在')insert into 图书信息表(ISBN,书名,管理员工作号,作者,价格,出版社,出版日期,在馆状态)values('978750118','我的大学','1002','卢婷婷,赵琼',25,'新华出版社','2010-6','在')/*修改记录*/ update 图书信息表 set 出版社='湖南大学出版社' where ISBN='978788111' /*删除记录*/ delete from 图书信息表 where ISBN='978788111' /*查询记录*/ select * from 图书信息表 /*视图*/ create view 读者查询 as select 读者姓名,联系电话,生效时间 from 读者信息表 where 违章状况='无' /*存储过程*/ create procedure 借阅信息查询 as select 管理员工作号,ISBN,读者编号,借书日期,还书日期,是否续借,备注 from 借阅表 create procedure 图书信息查询 as select ISBN,书名,管理员工作号,作者,价格,出版社,出版日期,在馆状态 from 图书信息表 /*触发器*/ create trigger 图书在馆状态更改 on 借阅表 after insert as begin declare @H varchar(12),@D varchar(12),@L varchar(20),@k int,@y int select @H= ISBN,@D= 读者编号 from inserted if exists(select * from 图书信息表 where ISBN=@H)and exists(select * from 读者信息表 where 读者编号=@D)begin update 图书信息表 set 在馆状态='否' where ISBN=@H select @L=读者类别编号 from 读者信息表 where 读者编号=@D select @k=可借数目 from 读者类别表 Where 读者类别编号=@L select @Y=已借数目 from 读者信息表 where 读者编号=@D if(@Y<@K)update 读者信息表 set 已借数目=已借数目+1 where 读者编号=@D else begin rollBack print('已经达到了可借数目,不能再借书了')end end else begin rollBack print('不存在该读者或图书,不能借书')end end go

教师管理系统(数据库)课程设计

游戏道具管理系统数据库设计报告

《图书馆管理系统》开题报告.

网上书城数据库设计说明书课程设计

数据库课程设计题目第9题学校工资管理系统

《数据库课程设计题目第9题学校工资管理系统.docx》
数据库课程设计题目第9题学校工资管理系统
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
相关文章
猜你喜欢