数据库系统实验报告
- 格式:docx
- 大小:829.53 KB
- 文档页数:29
学号:
题目数据库系统综合实验
学院计算机科学与技术学院
专业计算机科学与技术
班级计算机
姓名
指导教师施继珉
2019 年12 月28 日
原创性声明
所呈交的报告是我在老师指导下进行的研究工作及取得的研究成果。除了特别加以标注和致谢的地方外,报告中不包含其他人已经发表或撰写过的研究成果。
小组成员及分工:
签名
日期
正文
1 需求分析
1.1问题背景
为了更好的服务于图书馆运转功能,现为图书馆的借还书功能设计数据库。要求能够对图书资料进行管理,如登记新书,删除不存在的书目,对已经变更的图书信息进行修改,还可以根据多种条件从数据库中查询书目的详细信息。能对新读者信息进行登记,对已经变更的读者信息进行修改,对不再借阅的读者信息进行删除。还可以查询读者的详细信息,以及读者借阅过的书目和正在借阅的书目。需要提供借阅登记表和返还登记表来管理借阅,并且提供查询借阅次数最高的前10个书目。借此为用户提供更加健全完善的服务。
1.2现实环境
1.2.1部门组成情况
图书馆可提供PC机供图书馆管理人员以及读者使用。考虑到现实背景,使用该系统
的人员为信息咨询部人员与流通部门人员,以及大学本科及以上的学生、老师。主要教育背景皆为大学本科及以上,拥有一定的计算机基础,能够使用英文实行基本的交流。
1.2.2业务活动
1)查询图书详细信息。在新书到馆时,登入书籍信息。当书籍信息发生变化或错误时,
更新书籍信息,以及删除失效书籍。
2)查询读者详细信息。添加图书馆新读者,并为其开通图书馆借还书系统的读者使用账号。删除不再使用的读者。
3)读者进行借阅与归还图书的功能,并查询自己的历史借阅记录、现在借阅记录以及未
归还图书过期信息。
4)管理员能够分别查询历史借阅、归还记录、正在借阅未归还以及正在借阅并且已到期
的记录,并多条件查找借阅归还信息。
5)提供借阅榜供查阅借阅排行前十的书籍。
1.2.3用户需求
读者:
1.登陆借还书系统,查询个人信息并更改密码
2.多条件复合查询书籍信息。
3.查询自己的历史借书记录。
4.查询自己正在借阅的图书记录。
5.查询借阅数前十的书籍。
6.借阅图书与归还图书。
管理员:
1.登陆借还书系统,修改个人密码。
2.多条件复合查询书籍信息,也可以修改某一本书的信息。
3.多条件复合查询读者信息,并修改读者信息及密码。
4.分别查询历史借阅、归还记录、正在借阅未归还以及正在借阅并且已到期的记录,并
根据多个条件查找借阅归还信息。
5.协助读者借书还书。
6.查询借阅数前十的书籍。
1.2 系统分析
1.2.1 数据字典
数据项
数据结构
数据流
1.2.2 数据流图
图1.1 一级数据流图
图1.2 二级数据流图
1.3 功能需求
图1.3 系统功能结构图
图书管理模块:包括对书籍的增删改查,查询图书借阅次数最多榜单,以及借阅和归还模块。
用户管理模块:包括对用户的增删改查,以及查询用户的借阅和归还记录模块。
1.4 非功能性需求
1.4.1性能需求
在95%情况下满足下列要求:
响应时间
以下处理响应时间不超过2s:
•查询指定条件书籍详细信息
•添加一本新书的详细信息
•修改指定条件的书籍信息
•删除指定条件的书籍信息
•对读者信息的修改操作
•读者借书以及还书操作
高并发情况下不超过上述时间的2倍
系统容量
•最大书籍数存储量为5×10^6
•最大读者记录为1×10^5
•最大信息存储时间为20年
1.4.2安全需求
•数据库设计满足规范化,至少应满足BCNF
•数据库提供日志功能,可追踪数据库历史操作
•软件系统无致命漏洞,后门,符合安全标准
•合理利用SQL中用户权限以及视图对安全性的影响
1.4.3界面要求
人性化、简单、易用的用户交互界面,用户学习时长几近为零。
1.5 开发与运行环境
开发工具
•Microsoft SQL Server 2017
•Microsoft SQL Server Management 2019
•Microsoft Visual Studio 2019
•Microsoft Office Visio 2019
运行环境
Windows平台
2 数据库设计与实现
2.1 概念设计
2.1.1 实体说明
根据需求分析形成的数据字典和数据流图,抽象得到的实体有:
在库图书(索书号,图书名称,主要作者,出版社,出版年份,在馆数量,馆藏数量,图书借阅次数)
读者(编号,姓名,性别,单位,电话,当前借阅数,可行借阅数)
管理员(工号,密码)
2.1.2 联系
实体之间的关系如下:
一个读者在同一时间内可以借多本书,一本书也可以在一天中被多个人借阅。
读者除意外情况必须归还图书,归还图书之前必须已经借阅此书。
一个管理员可以查询、修改多个读者的信息,一个读者可以被多个管理员查询、修改信息。
一个管理员可以查询、修改多本书的信息,一本书也可以被多个读者查询。
一个读者可以查询多本书的信息,一本书可以被多个读者查询。