数据库 图书借阅系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计
课设名称图书借阅系统
学生姓名李XX
学号********XXXX
班级信管1163
指导教师刘金华
成绩
目录
一、需求分析P3
1.背景
2.系统目标
3.用户需求
4.功能划分
5.功能描述
二、概念结构设计P5
1.管理员实体E-R图
2.图书信息实体E-R图
3.读者信息实体E-R图
4.整体E-R图
三、逻辑结构设计P5
1.关系
2.关系模式
3.数据库表
四、数据库实施P6
1.建表P6
2.输入数据P8
3.建立视图P11
4.创建角色并授权P12
5.创建存储过程P13
6.创建触发器P14
五、心得体会P16
一、需求分析
1.背景
在图书馆的活动中,需要通过管理图书信息、图书管理员信息以及借阅者的信息,以达到完善图书借阅系统的目的。传统的手工操作方式,存在许多缺点和弊端,比如易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范图书借阅管理行为,从而提高了管理效率和水平。
2.系统目标
图书借阅系统以计算机为工具,通过对图书馆借阅书籍所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事图书借阅管理政策的研究实施,工作计划的制定执行和工作质量的监督检查,从而全面提高工作质量。实现一个计算机综合图书借阅系统,完成1)管理员信息管理、2)图书信息管理、3)读者信息管理等功能。
3.用户需求
此系统专门为图书馆相关管理所设计。主要描述用户需求的使用范围,功能要求信息采集与各人员的使用权限。
4.功能划分
系统为用户提供三项选择:管理员信息管理、图书信息管理、读者信息管理等功能。
5.功能描述
(1)、管理员信息管理:给出所有管理员的列表信息。可以执行添加、修改、删除、查找等操作。
(2)、图书信息管理:给出所有图书信息的列表,用户可以实现添加,修改,删除,查找图书信息等操作。
(3)、读者信息管理:给出所有借阅者信息的列表,用户可以实现添加,修改,删除,查找读者信息等操作。
6.数据流图
二、概念结构设计
1.管理员实体E-R 图
2.图书信息实体E-R 图
3.读者信息实体E-R 图
4.整体E-R
图
三、逻辑结构设计
1.关系
(1)、管理关系:管理员和图书的关系是1:n ,每个管理员可以管理多本图书。 (2)、注册关系:管理员和读者的关系是1:n ,每个管理员可以为多名读者注册。
(3)、借阅关系:读者和图书的关系是m:n ,每个读者可以借阅多本图书,每本图书可被不同读者借阅。
2.关系模式
管理员(职工号,姓名,性别,联系方式)
图书信息(编号,书名,作者,出版社,分类号,库存数量) 读者(借书证号,姓名,性别,联系方式)
借阅(借书证号,编号,借书日期,还书日期,借书数量)
3.数据库表
四、数据库实施
1.建表
表的定义:在关系型数据库当中一个表就是一个关系,一个关系数据库可以包含多个表。(1)、管理员表
/* Table: 管理员*/
drop table if exists 管理员;
create table 管理员
(
职工号char(20) not null,
姓名varchar(20) not null,
性别varchar(10) not null,
联系方式char(20) not null,
primary key (职工号)
);
(2)、图书信息表
/* Table: 图书信息*/
drop table if exists 图书信息;
create table 图书信息
(
编号char(20) not null,
书名varchar(20) not null, 作者varchar(20) not null, 出版社varchar(20) not null, 分类号varchar(20) not null, 库存数量char(10) not null,
primary key (编号)
);
(3)、读者表
/* Table: 读者*/
drop table if exists 读者;
create table 读者
(
借书证号char(20) not null,
姓名varchar(20) not null, 性别varchar(10) not null, 联系方式char(20) not null,
primary key (借书证号) );
(4)、借阅表
/* Table: 借阅*/
drop table if exists 借阅;
create table 借阅
(
借书证号char(20) not null,
编号char(20) not null,
借书日期char(10) not null,
还书日期char(10) ,
借书数量int not null,
primary key (编号, 借书证号)
);
alter table 借阅add constraint FK_借阅foreign key (编号)
references 图书信息(编号) on delete restrict on update restrict;
alter table 借阅add constraint FK_借阅2 foreign key (借书证号)
references 读者(借书证号) on delete restrict on update restrict;
2.输入数据
/*图书信息表插入数据*/
INSERT
INTO 图书信息
VALUES ('066801','马克思主义','王大伟','清华大学出版社','思想哲学类','20'); INSERT
INTO 图书信息
VALUES ('066802','绿野仙踪','弗兰克','人民文学出版社','文学艺术类','20'); INSERT
INTO 图书信息
VALUES ('066803','十四分之一','宁一航','中国农业出版社','恐怖灵异类','20'); INSERT
INTO 图书信息
VALUES ('066804','物理结构模型','张俊','清华大学出版社','社会科学类','20'); INSERT
INTO 图书信息
VALUES ('066805','海洋知识史','王珊','中华书局出版社','社会科学类','20'); INSERT
INTO 图书信息
VALUES ('066806','做个好妈妈','张小蒙','北京生活出版社','生活智慧类','20'); INSERT
INTO 图书信息
VALUES ('066807','中国近代史','王大伟','北大文学出版社','历史发展类','20');
/*管理员表插入数据*/
INSERT