设计并实现一个简单的学校图书馆数据库系统.pdfVIP

设计并实现一个简单的学校图书馆数据库系统.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验题目:设计并实现一个简单的学校图书馆数据库系统

实验报告:

一、需求分析

1、E-R图

2、建立基本表

1〕图书〔书号,书名,作者,出版社,定价,类别,借阅次数,总借阅时间,总册数,剩

余册书〕

2〕学生读者〔学号,,所在系,性别,可借书量,是否有书逾期〕

3〕学生借阅〔书号,学号,,书名,借书日期,应还日期,实还日期〕

4〕教师读者〔教师号,,单位,性别,可借书量,是否有书逾期〕

5〕教师借阅〔书号,教师号,,书名,借书日期,应还日期,实还日期,是否续借〕

2、关系图

二、查询功能的实现

1、判断某位读者是否有逾期的图书〔以学生读者为例〕

CREATEPROCEDURE[判断某位学生读者是否有逾期的图书]

(@学号_1char(5))

AS

IF((SELECTCOUNT(书号)

FROM学生借阅

WHERE((DATEDIFF(day,(SELECT应还日期FROM学生借阅WHERE学号=@学号

_1),getdate()))0)AND(学号=@学号_1))=0)/*计算是否逾期*/

BEGIN

print该读者无逾期的书

UPDATE学生读者

SET是否有书逾期=1

WHERE学号=@学号_1

END

ELSE

print该读者有逾期的书

GO

功能:该存储过程通过对输入的读者号所对应的预期借阅信息进行统计,假设结果集非空则

通知逾期,同时将‘是否有书逾期’置为‘1’,否则通知逾期。〔教师读者查询同理,此处

不再赘述〕

2、图书按借阅量排序

CREATEPROCEDURE[图书按借阅量排序]AS

SELECT图书.书号,图书.书名,(图书.总册数-图书.剩余册数)as借出量

FROM图书

ORDERBY图书.借出量ASC/*按借出量升序排序*/

GO

功能:该存储过程通过图书属性中总册数与剩余册数作差作为借出量,并在结果集中按升序

排列。

3、查询已全部借出的书

CREATEPROCEDURE[查询已全部借出的书]AS

FROM图书

WHERE图书.剩余册数=0

GO

功能:该存储过程通过对剩余册书是否为零的判断实现对是否全部借出的判断。

4、查询未借出的书

CREATEPROCEDURE[查询未借出的书]AS

FROM图书

GO

功能:该存储过程通过对总册数与剩余册数的比较实现对未借出的图书的判断。

5图书按类统计

CREATEPROCEDURE[图书按类统计]

AS

SELECT类别,sum(剩余册数)as馆藏册数,(sum(总册数)-sum(剩余册数))as借出册

数,(sum(总借阅时间))as总借阅时间

FROM图书

GROUPBY类别

GO

功能:该存储过程通过分组统计函数实现对基本属性的运算,并在结果集中以新属性名列出。

三、存储过程和触发器

1、存储过程

1〕新增图书信息

CREATEPROCEDURE[新增图书信息]

(@书号_1[char](10),

@书名_2[varchar](50),

@作者_3[varchar](50),

@出版社_4[varchar](50),

@定价_5[float],

@类别_6[varchar](50),

@借阅次数_7[int],

@总借阅时间_8[int],

@总册数_9[int],

@剩余册数_10[int])

ASINSERTINTO[P宫永超].[dbo].[图书]

([书号],

[书名],

[作者],

[出版社],

[定价],

[类别],

[借阅次数],

[总借阅时间],

[总册数],

[剩余册数])

VALUES

文档评论(0)

135****0993 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档