数据库 图书借阅系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档