图书管理系统的SQL实验报告Word格式文档下载.docx
《图书管理系统的SQL实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统的SQL实验报告Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
reader表示读者表,dzzh表示读者证号,xm表示读者姓名,dzlx为读者类型,yjsl表示读者的已借数量。
press表为出版社表,cbsm表示出版社名,tel表示出版社电话,code表示出版社所在地的邮政编码,address表示出版社的地址。
administrator
gzzh
xm
mm
001
张一
123
002
张二
456
003
张三
789
004
张四
000
book
sh
sm
zz
cbsm
cbrq
jg
bz
NO101
《大学英语》
郑树棠
外语教研社
2003-06-22
29
无
NO102
《麦田里的守望者》
J.D塞林格
译林出版社
2008-01-01
18
NO103
《操作系统》
汤小丹
西安电子科技大学出版社
2007-05-09
32
NO104
《经济法学》
王国金
中国统计出版社
2006-10-09
26
reader
dzzh
dzlx
yjsl
01
王一
学生
2
02
王二
教师
1
03
王三
04
王四
borrowing
jyrq
2011-04-29
2001-04-29
2011-05-11
2011-05-09
management
press
tel
code
address
653421
05300
北京长安街
8933212
02800
苏州新华街
7835673
03900
西安兴华街
9872316
06700
天津望海路
三,SQL语句查询
举例如下
1.王一同学的所借书的编号。
selectsmas‘书号’
fromborrowing,reader
wherexm=’王一’andborrowing.dzzh=reader.dzzh
查询结果:
书号
----
2.求总藏书量,藏书总金额,最高价、最低价。
selectcount(sh)as‘总藏书量’,
sum(jg)as‘藏书总金额’
max(jg)as‘最高价’,
min(jg)as‘最低价’
frombook
总藏书量藏书总金额最高价最低价
-----------------------------------
41053218
3.目前实际已借出多少册书?
selectsum(yjsh)as'
借出数量'
fromreader
借出数量
-------
4
3.列出藏书在8本以上的书(书名、作者、出版日期)。
selectsmas’书名’,zzas’作者’,cbrqas’出版日期’
groupbysh
having(count(sm)>
8)
orderbysm
4.哪些出版社的藏书数超过100本。
selectcbsmas'
藏书种类数超过100种的出版社'
frombook,press
wherepress.cbsm=book.cbsm
groupbycbsm
having(count(sh)>
100)
orderbycbsm
5.年份最久远的书。
selectsmas‘书名’
orderbycbrq
查询结果:
书名
7.今年未借过书的借书证。
selectdzzhas’读者证号’
wheredzzhnotin(selectdzzh
fromreader
wheredatediff(year,jyrq,getdate())=0)
读者证号
--------
8.最近两年都未被借过的书。
selectsmas’书名’
whereshin(selectshfromborrowing
wheregetdate()-jyrq>
2)
9.查询译林出版社的联系电话和地址
selecttel,address
frompress
wherecbsm=’译林出版社’
查询结果
teladdress
--------------------
8933212苏州新华街
10.在adiministrator表中插入一条管理者的信息。
insertintoadiministrator(gzzh,xm,mm)
values(‘005’,’王五’‘999’)
四,数据库的安全性和完整性
(1)数据库的安全性
数据库的安全性是指保护数据库,防止非法使用,以免数据的泄漏、非法更改和破坏。
1,安全性级别:
环境级,职员级,os级,网络级和数据库系统级
2,用户使用数据库的方式成为权限。
用户访问数据库的权限有:
读权限、插入权限、修改权限、删除权限。
用户修改数据库模式的权限有:
索引权限、资源权限、修改权限、撤销权限。
3,权限的转授与回收
在数据库系统中,为了保证数据的安全性,用户必须首先从DBA处获得权限,才能执行对数据的操作。
同时,数据库系统也允许用户将获得的权限转授给其他用户,或把已授给其他用户的权限再收上来。
SQL的授权和回收语句
授权语句
GRANT权限表ON数据库元素TO用户名表
[WITHGRANTOPTION]
回收语句
REVOKEONFROM[RESTRICT|CASCADE]
其例如下
1,把对reader表和book表的全部权限授权给用户U2。
grantallpriviligesontablereader,bookto001
2,把查询book表和修改书号的的权限授给用户U1。
grantselect,update(sh)ontablebookto002
3,把对表reader的查询权限授予所有用户。
grantselectontablereadertopublic
4,把用户U3对reader表的insert权限收回。
revokeinsertontablereaderfrom003
5,收回所有用户对表book的查询权限。
Revokeselectonbookfrompublic
(2)数据库的完整性
数据的完整性是指数据的正确性和相容性。
为了维护数据库数据的完整性,数据库必须提供一种机制,用来检查数据库中的数据是否满足规定的条件,这个条件即是完整性约束条件。
完整性规则由“触发条件”,“约束条件”和违反时要完成的动作三部分组成。
在关系数据库中,完整性规则分为3类:
1域完整性规则,用于定义属性的取值范围。
2域联系规则,定义一个或多个关系中,属性值间的联系、影响和约束。
3关系完整性规则,定义更新操作对数据库中值的影响和限制。
五,数据库的备份与恢复
数据库备份是恢复数据库结构、对象和数据的备份,以便数据库遭受破坏时能够修复数据库。
数据库恢复是指备份的数据库再加载到数据库服务器中。
SQLServer所支持的备份是和还原模型相关联的,不同的还原模型决定了相应的备份策略。
SQLServer提供了三种还原模型,用户可以根据自己数据库应用的特点选择相应的还原模型。
1故障还原模型
1)大容量日志记录模型
使用数据库备份和日志备份,但对大量数据操作的记录,采用提供最佳性能和减少日志空间的方式。
2)简单模型
可以将数据库恢复到上次备份时。
3)完全模型
默认采用此模型,它使用数据库备份和日志备份,能够较为完整地防范媒体故障。
2数据库备份方式
1)数据库完全备份
数据库完全备份将备份数据库中所有的数据以及数据库对象。
2)数据库差异备份
数据库差异备份只记录自上次数据库备份后发生更改的数据。
3)事务日志备份
事务日志是自上次备份事务日志后对数据库执行的所有事务的一系列记录。
4)文件或文件组备份
可以备份和还原数据库中的个别文件。
六,心得体会
对于本次实验,我通过查阅书籍和浏览网络资源制作了关于图书馆管理系统的E—R图,并自己设计了表结构和查询语句,通过这些工作,虽然此次实验做得离专业标准还有一定距离,但这次实验使我对数据库原理及其应用有了更深一步的认识,自己的能力也得到了一定提升。
在实验中遇到了很多实际性的问题,在实际操作中才发现书本上理论性的东西与实际中运用的还是有一定出入的,所以有些问题不但要深入理解,更要不断地更正以前的错误思维。
在今后的专业学习生涯里,我会以此次数据库原理的学习为基础,学好专业知识,让自己的专业知识得到进一步的巩固。