图书管理系统数据库设计实验报告

更新日志

2020.7.11 修改了表的结构,表之间增加了外键联系,更加完整且符合第三范式

数据库设计实验报告

1.概述

疫情期间,大家都只能够在家里,不能去到学校,此时需要图书馆借书,就是只能通过网络操作了。因此,网上图书馆就此诞生了,有了网上图书馆,学生通过网络订阅图书是一件非常轻松的事情,只要在网上申请书籍借阅管理员可以通过快递把书籍寄给学生,并且学生在规定时间内再通过快递把书籍送还给学校图书馆。

系统一个针对学校的网上图书馆借还系统,通过网络,学生可以很轻松的查询某些书籍是否可以借到,并且还可以通过网络续借书籍。管理员可以通过该系统很容易的将书籍信息存储数据库查询学生的借还情况,并且通知那些逾期的学生尽快归还或者续借。超级管理员则对学生和管理员的信息进行修改,或者增加用户用户必修用户名密码相互匹配正确后才能登陆成功,然后在进行相应的操作。对于非法操作,该系统有识别作用。

2.需求分析

2.1需要实现功能

  1. 登陆功能登陆系统为身份验证登陆。分为学生登陆管理员登陆,超级管理员登陆。不具备注功能

  2. 学生登陆后:显示该用户基本信息。可以修改密码修改密保问题查看书籍并且预约书籍,查看已经借到的书籍的情况,还书的情况。

  3. 管理员登陆后:显示该用户的基本信息。可以修改密码修改密保问题查看书籍信息并且修改数据信息,添加书籍。查看学生的借还情况。

  4. 超级管理员登陆后:显示该用户的基本信息。可以修改密码修改密保问题查看,修改管理员的信息,添加新的管理员。添加用户学生,查看学生的情况。

  5. 修改密码:通过匹配密保问题的答案进行修改密码

  6. 修改密保问题:通过匹配密码进行修改密保问题。

  7. 预约书籍:查看书籍的具体信息后,可以对该书籍进行预约,预约到期时间1天后,如果一天后还没有借到该书籍,则自动取消预约。

  8. 查看借书情况:查看书籍的具体信息后,可以对该书籍进行续借,续借的有效时间是30天,只可以对同一书籍续借1次。

  9. 查看还书情况:查看书籍的具体信息后,可以对该书籍进行预约,预约和预约书籍功能一样。

  10. 修改书籍信息:查看书籍的具体信息后,可以对该书籍的信息进行修改。

  11. 增加书籍:增加书籍。

  12. 查看学生借还情况:查看学生的借还详细信息。

  13. 权限移交:只有超级管理员才有的功能。删除该管理员,新增加一个超级管理员。

  14. 增加管理员:增加一个新的管理员。

  15. 查看管理员信息:查看信息后,可以进行信息修改

  16. 查看学生信息:只能查看学生的信息,而不能进行修改

2.2业务流程

2.2.1学生流程图

未命名文件

2.2.2管理员流程图

未命名文件 (1)

2.2.3超级管理员流程图

命名文件 (2)

2.3功能需求分析

系统主要结构功能如下:

未命名文件 (3)

3.数据字典

名字:书籍信息表

描述数据库中书籍信息表各字段集合包含编号,书名,作者,译者,出版社,库存,进货时间

名字:学生信息表

描述数据库中学生信息表各字段集合,包括学号,姓名,学院编号,性别,出生日期,身份证号码,手机号码

名字:学生账号信息

描述数据库中学生账号信息表各字段集合,包括学号,密码,密保问题,密保答案,剩余可以借次数

名字:学生预约

描述数据库中学生预约表各字段集合,包括学号,书籍编号,预约时间,到期时间

名字:学生借书

描述数据库中学生借书表各字段集合,包括学号,书籍编号,借书时间,到期时间

名字:学生还书

描述数据库中学生还书表各字段集合,包括学号,书籍编号,还书时间

名字:管理员信息

描述数据库中管理员信息表各字段的集合,包括工号,名称,性别,手机号码email,身份证号码

名字:管理员账号信息

描述数据库中管理员账号信息表各字段的集合,包括工号,密码,密保问题,密保答案

名字:超级管理员信息

描述:数据库中超级管理员信息表各字段的集合,包括工号,姓名,性别,手机号码身份证号码,email

名字:超级管理员账号信息

描述:数据库中超级管理员账号信息信息表各字段的集合,包括工号,密码,密保问题,密保答案

名字:用户信息

描述:数据库中账户信息以及账户类型,包括工号/学号,用户类型。

数据库关系图

4.概念模型

经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构

书籍表:存放书籍记录。包括编号,书名,作者,译者,出版社,库存,进货时间,分类

学生信息:存放学生信息。包括学号,姓名,班级编号,性别,出生日期,身份证号码,手机号码

学生账号信息:存放学生账号信息。包括学号,密码,密保问题,密保答案,剩余可以借的次数。

学生预约情况:学号,书籍编号,预约时间,预约到期时间

学生借书情况:学号,书籍编号,借书时间,借书到期时间

学生还书情况:学号,书籍编号,还书时间

管理员信息:存放管理员信息。包括工号,姓名,性别,手机号码,身份证号码,email。

管理员账号信息:工号,密码,密保问题,密保答案

超级管理员信息:工号,姓名,性别,手机号码,身份证号码,email

超级管理员账号信息:工号,密码,密保问题,密保答案

职工信息:工号/学号,职位

  1. R图:

书籍实体:

学生信息实体:

未命名文件 (10)

学生账号实体:

学生预约实体:

学生借书实体:

未命名文件 (11)

学生还书实体:

管理员信息实体:

管理员账号实体:

超级管理员信息实体:

超级管理员账号实体:

职工信息:

未命名文件 (2)

所有实体的联系:

5.数据模型

将E-R图转换成的关系模式如下:

书籍信息(编号,书名,作者,译者,出版社,库存,进货时间,分类)

学生信息(学号,姓名,校区编号,性别,出生日期,身份证号码,手机号码)

学生账号信息(学号,密码,密保问题,密保答案,剩余可以借次数)

学生预约(学号,书籍编号,预约时间,到期时间)

学生借书(学号,书籍编号,借书时间,到期时间)

学生还书(学号,书籍编号,还书时间)

管理员信息(工号名称,性别,手机号码,email,身份证号码)

管理员账号信息(工号,密码,密保问题,密保答案)

超级管理员信息(工号,姓名,性别,手机号码,身份证号码,email)

超级管理员账号(工号,密码,密保问题,密保答案)

职工信息(工号/学号,职位)

6.建表代码与界面展示

6.1表创建

(书籍表)create table book

(

Bno smallint primary key not null, Bname varchar(50) not null, Bauthor varchar(50) not null, Btranslator varchar(50), Bpublish varchar(50) not null, Bsort varchar(50) not null, BinTime date not null, Bstock smallint not null, Bacount int not null ) (学生信息表) create table studentimfornation ( Sno varchar(20) primary key not null, Sname varchar(20) not null, no smallint not null, Ssex nchar(1) not null, Sbirthday date , Sid varchar(20) not null, Sphone varchar(13), Sno foreign key references studentsacount(sno) ) (学生账号表) create table studentaccount ( sno varchar(20) primary key not null, Spassword varchar(18) not null, Squestion varchar(50) , Sanswer varchar(20), Sstats smallint not null, ) (学生预定表) create table studentorder ( sno varchar(20) primary key not null, bno smallint not null, sorder date not null, soverdue date not null, Bno foreign key references book(Bno) Sno foreign key references studentacount(sno) ) (学生借书表) create table studentborrow ( sno varchar(20) primary key not null, Bno smallint not null, Sborrow date not null, soverdue date not null Bno foreign key references book(Bno) Sno foreign key references studentacount(sno) ) (学生还书表) create table studentreturn ( sno varchar(20) primary key not null, bno smallint not null, sreturn date not null, Bno foreign key references book(Bno) Sno foreign key references studentacount(sno) ) (管理员信息表) create table admitinformation ( ano varchar(

原文地址:https://blog.csdn.net/weixin_42164324/article/details/127735568

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_10279.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注