数据库系统概论综合性实验报告.docx
- 文档编号:29838668
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:14
- 大小:150.58KB
数据库系统概论综合性实验报告.docx
《数据库系统概论综合性实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统概论综合性实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
数据库系统概论综合性实验报告
数据库系统概论实验报告
学号
姓名
专业
计算机科学与技术
类型
综合性
学时
实验时间
一、实验题目
图书馆管理系统的设计与实现
二、实验要求
进行需求分析,设计E-R图,设计数据库结构,建立必要的视图和索引。
三、进行需求分析作出数据流图
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。
能够对图书进行注册登记,也就是将图书的基本信息(如:
书名、作者、价格等)预先存入数据库中,供以后检索。
能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息。
提供方便的查询方法。
如:
以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。
提供统计分析功能。
可以展现出图书类型比例、库存与借出比例。
提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。
能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
根据以上功能,将图书管理系统的数据分为:
数据输入部分:
主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。
数据输出部分:
主要是各种统计查询,包括:
根据图书信息(如书名、作者、出版社等)查阅图书及其借阅信息、统计输出图书类型比例等。
数据处理部分:
主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其标记为已经归还,以便再次借出。
数据流图
四、进行概念结构设计作出E-R图
实体关系图(ERD):
五、进行逻辑结构设计设计出关系模式,判断出采用那一级范式
在这个系统中实际存在的实体:
图书和借阅人,其中借阅人和图书是多对多关系,针对本系统,通过对图书借阅管理的内容和数据流程分析,设计数据项和数据结构如下:
(1)图书基本信息,其数据项有图书编号、图书名称、作者、出版社等。
(2)借阅人基本信息,其数据项有借阅人编号、借阅人姓名、电话等。
(3)图书借阅登记,其数据项有借阅序号、借阅图书编号、借阅人编号等。
为了实现图书信息录入的方便性与规范性以及相关的统计功能,还应增加出版社信息
与图书分类信息:
(4)出版社信息,其数据项有出版社编号、出版社名称、地址、电话、传真等。
(5)图书分类信息,其数据项有分类编号、分类名称、同一类型图书数目。
同时针对于本系统的多用户使用特点,增加用户信息表:
(6)用户信息表,其数据项有用户名、密码、用户权限。
为了实现图书借阅超期罚款制度,还应增设罚金规则表:
(7)罚金规则表,其数据项包括免费使用天数、罚金费率、规则启用开关。
上述关系模式中不存在对非码依赖的表达式,所有的非主属性对码完全并直接依赖,由此证明,图书读者数据库中各表均服从BCNF,其规范化程度较高,数据库设计合理。
六、建立关系模式
图书借阅管理系统数据库中各个表的设计结果如下面几个表格所示。
每个表格表示为数据库中的一个表。
借阅人基本信息表memberinfo
说明:
记录借阅人的基本情况,memberid设为主键、索引。
表1
列名
数据类型
长度
可否为空
注释
Memberid
Char
10
NotNull
借阅人编号
Membername
Char
10
Null
借阅人姓名
Id
varchar
20
Null
身份证号
Add
Char
50
Null
联系地址
Phone
Char
20
Null
联系电话
Mobile
Char
20
Null
移动电话
用户基本信息表people
说明:
记录系统用户的用户名、密码与权限,name设为主键。
表2
列名
数据类型
长度
可否为空
注释
name
Char
10
NotNull
用户名
password
Char
10
NotNull
密码
level
char
1
NotNull
权限
图书基本信息表bookinfo
说明:
记录图书基本信息,bookid设为主键、索引。
表3
列名
数据类型
长度
可否为空
注释
Bookid
Char
10
Notnull
图书编号
Isbn
Char
30
Null
图书ISBN
Classname
Char
20
Null
图书类型
Title
Char
40
Null
图书名称
publishdate
date
-
Null
出版日期
author
Char
20
Null
作者
words
int
-
Null
字数(千字)
pub
Char
30
Null
出版社
price
numeric
19.4
Null
价格
disk
Char
1
Null
附带光盘
keyword
Char
30
Null
关键词
number
int
-
Null
存放代码
Abstract
varchar
100
Null
摘要
bookonloan
Char
1
Null
图书在借标志
(Y-在借N-未借)
出版社基本信息表publishinfo
说明:
记录出版社信息,pubid设为主键。
表4
列名
数据类型
长度
可否为空
注释
Pubid
char
4
NotNull
出版社编号
Pub
char
30
Null
出版社名称
Add
char
50
Null
联系地址
Zip
char
6
Null
邮政编码
Tel
char
16
Null
联系电话
Fax
char
16
Null
传真
http
char
16
Null
网址
分类信息表bookclass
说明:
记录定制的分类情况,classid设为主键。
表5
列名
数据类型
长度
可否为空
注释
Classid
Char
2
NotNull
分类编号
Classname
Char
20
Null
分类名称
Number
int
-
Null
数目
借阅情况信息表loan
说明:
进行借阅的登记,loanid设为主键、自动增长。
表6
列名
数据类型
长度
可否为空
注释
Loanid
Int
-
NotNull
借阅序号
Bookid
Char
10
NotNull
图书编号
memberid
Char
10
NotNull
借阅人编号
Loandate
date
-
Null
借阅日期
规则信息表regular
说明:
记录设置的借阅规则,days设为主键。
表7
列名
数据类型
长度
可否为空
注释
Days
Int
4
NotNull
免费借阅天数
Fine
Dec
5.2
Null
罚金标准
Flag
Char
1
Null
规则开关
七、设计必要的索引和视图建立索引:
对数据库建立索引,索引语句在SQL语句中。
Createuniqueindexbook_idONbookinfo(bookid)
Createuniqueindexuser_idONuser(userid)
Createuniqueindexlend_idONlendinfo(lendid)
创建数据库名为library
CREATEDATABASELIBRARY
创建员工基本信息
CREATETABLEBookInfo
(bookidint(4)NOTNULLUNIQUE,
booknamevarchar(100),
pubnamevarchar(100),
bookauthorvarchar(50),
seriesvarchar(50),
ISBNvarchar(50),
SearchNOvarchar(50),
PubDatesmalldatetime(4),
Pricefloat(8),
Barcodevarchar(50)
);
CREATETABLELendInfo
(
LendIDint(4)NOTNULLUNIQUE,
BookIDint(4)NOTNULLUNIQUE,
UserIDvarchar(50)NOTNULLUNIQUE,
LendDatesmalldatetime(4),
ReturnDatesmalldatetime(4),
IsBackint(4)
);
CREATETABLEmanage
(
manageidint(4)NOTNULLUNIQUE,
Passchar(10)
);
CREATETABLEusers
(
useridint(4)NOTNULLUNIQUE,
usernamechar(10),
passchar(10),
emailchar(50),
phonechar(10),
addressvarchar(50),
BookNumint(4)
);
创建视图
创建关于书名的视图,因为查询时需要绑定。
Createviewbook_name
As
Selectbookid,pubname,bookauthor,bookname,searchNO
FROMBOOKINFO
WHEREbookname=’ASP程序设计’;
创建关于用户名的视图,因为查询时需要绑定。
Createviewuser_name
As
Selectuserid,username,phone,address,email
FROMusers
WHEREusername=’1’;
八、自我评析与总结
我给我的本次数据库实验打96分,在这次实验的过程中,我认为在进行需求分析,以及进行逻辑结构设计时较完善。
而且在关系模式中不存在对非码依赖的表达式,所有的非主属性对码完全并直接依赖,由此证明,图书读者数据库中各表均服从BCNF,其规范化程度较高,数据库设计合理。
在自己亲自对此图书馆管理系统进行设计的过程中,遇到了很多困难,查阅了各种相关资料,同时也认识到,必须要将理论知识的学习与在实践中对数据库进行设计结合起来,这样才能够了解到数据库设计的精髓。
而数据库的设计往往需要查阅大量的资料,进行相关的调查,要进行需求分析,要与用户直接接触,设计出满足他们特定要求的数据库,这是一项复杂而繁琐的工作。
在设计次数据库的过程中,我做的工作还有所欠缺,需要在今后的学习过程中进一步提高和改进。
本系统的设计也存在一定的不足,比如,未考虑新书入库和续借问题,存在着局限性,所以系统有待进一步完善。
由于经验有限,我考虑的问题难免有不妥之处,望指导老师给予批评与指正。
九、参考文献
[1]王珊萨师煊.《数据库系统概论》第四版高等教育出版社,2006,5
[2]赵增敏等《SQLServer2000案例教程》电子工业出版社2005.5
[3]姚伯元.毕业设计(论文)规范化管理与培养学生综合素质.中国高等教育网教学研究,2005-2-2
[4]王晟,马里杰编著.SQLServer数据库开发经典案例解析.清华大学出版社2006
十、教师评语:
指导教师签名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 综合性 实验 报告