数据库大作业图书管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图书管理系统

需求分析

❖信息需求:

为了加强图书的管理,设计图书管理系统,方便用户借阅、管理员管理,减少管理员的工作量。

1)主要信息需求

1.图书信息:简介、出版日期、出版社、作者、书名、书号

2.读者信息:姓名、性别、读者编号、所在系、联系电话

3.借阅信息:借书日期、还书日期、工作号、书号、是否续借、读者编号

4.管理员信息:姓名、性别、电话、工资、工作号

5.管理_书籍信息:工作号、书号、添加时间、是否在馆

6.管理_读者信息:工作号、读者编号、借还确认、违章情况、累计借书

2)信息间的主要联系

1.一个读者可以借阅多本书籍(1:m)

2.一本图书可以被一个读者借阅(1:1)

3.一个图书管理员可以管理多个读者(1:n)

4.一个读者信息只能被一个图书管理员管理(1:1)

5.一本图书可以被多个图书管理员管理(1:n)

6.一个图书管理员可以管理多本图书(1:m)

❖处理需求:

1.借阅功能:可以方便地借阅图书、续借图书、归还图书

2.查询功能:按图书编号查找图书、按图书名称查找图书、按图书作者查找图书、能够按照自己的图书证编号查询自己的状态信息

3.读者注册功能:能够对新的读者进行登记,或注销读者的信息

4.图书录入功能:能够将新到的图书信息输入到系统的图书信息库中

5.统计功能:按图书编号统计书籍数量、按图书名称统计数量、按作者统计书籍数量

❖安全性需求

1.管理员的权限最高,可以查询、修改借阅关系表、管理员_书籍表、管理员_读者表

2.读者,可以查看图书基本信息、个人自己的借阅信息。不可以对其中的信息进行添加、修改等操作。

❖完整性需求

1.在图书管理信息表中,书号、书名、作者、出版社、出版日期、简介输入信息的时候都有类型、长度要求。书号、书名、作者不能为空,其中书号为主码2.在读者信息表中,其中的各类信息都有类型、长度要求。读者编号、读者姓名、读者性别、所在系不能为空,读者编号为主码

3.在管理员信息表中,其中的各类信息都有类型、长度要求。工作号、姓名、性别不能为空,工作号为主码

4.在借阅关系表中,其中的各类信息都有类型、长度要求,且均不可为空。

工作号、书号为外码

5.在管理员_书籍表中,其中的各类信息都有类型、长度要求。工作号、书号不能为空,且为外码

6.在管理员_读者表中,其中的各类信息都有类型、长度要求,均不可为空。

工作号、读者编号为外码

借书 图书

还书

拒绝信息

图2 第0层数据流图

概念结构设计❖局部E-R图

1.读者—借阅—图书

一个读者可以借阅多本书籍(1:m)

一本图书可以被一个读者借阅(1:1)

图R图

一个图书管理员可以管理多个读者(1:n)

一个读者信息只能被一个图书管理员管理(1:1)

_

一本图书可以被多个图书管理员管理(1:n)

一个图书管理员可以管理多本图书(1:m)

图3 管理员_

❖全局E-R图

将数据关系模式优化,最终达到第三范式。优化后的关系模式:

1.读者(读者编号、读者姓名、读者性别、联系电话、所在系、违章情况、累计借

书)

2.图书(书号、书名、作者、出版社、出版日期、简介)

3.管理员(工作号、姓名、性别、电话、工资)

4.借阅(读者编号、书号、是否续借、借书日期、还书日期)

5.管理员_图书(工作号、书号、添加时间、是否在馆)

6.管理员_读者(工作号、读者编号、确认借还)

物理概念设计

❖数据的存储结构

根据以上的逻辑概念设计,得出各类数据的存储结构

1.图书信息表

数据库建立

❖建表

1.图书信息表BOOK

CREATE TABLE BOOK

( 书号char(20) PRIMARY KEY NOTNULL ,

书名char(50) NOTNULL ,

作者char(20) NOTNULL ,

出版社char(50)

出版日期data ,

简介char(200)

) ;

2.读者信息表STUDENT

CREATE TABLE STUDENT

( 读者编号char(20) PRIMARY KEY NOTNULL , 读者姓名char(10) NOTNULL ,

读者性别char(2) NOTNULL ,

联系电话char(10) ,

所在系char(20) NOTNULL ,

违章情况char(2) ,

借书累计int

) ;

3.管理员信息表MANAGER

CREATE TABLE MANAGER

( 工作号char(12) PRIMARY KEY NOTNULL ,

姓名char(20) NOTNULL ,

性别char(2) NOTNULL ,

电话char(12) ,

工资char(12)

) ;

4.借阅关系表R—B

CREATE TABLE R—B

( 工作号char(12) NOTNULL ,

书号char(20) NOTNULL ,

读者编号char(20) NOTNULL ,

借书日期data NOTNULL ,

还书日期data NOTNULL ,

是否续借char(4) NOTNULL,

PRIMARY KEY (书号,读者编号) ,

FOREIGN KEY (书号) REFERENCES (书号) ,

FOREIGN KEY (读者编号) REFERENCES (读者编号) ) ;

5.管理员_图书表M—B

CREATE TABLE M—B

( 工作号char(12) NOTNULL ,

书号char(20) NOTNULL ,

添加时间data ,

是否在馆char(14) ,

PRIMARY KEY (工作号,书号) ,

FOREIGN KEY (工作号) REFERENCES (工作号) ,

FOREIGN KEY (书号) REFERENCES (书号)

相关文档
最新文档