安徽机电职业技术学院.docx
《安徽机电职业技术学院.docx》由会员分享,可在线阅读,更多相关《安徽机电职业技术学院.docx(20页珍藏版)》请在冰点文库上搜索。
安徽机电职业技术学院
安徽机电职业技术学院
《网络数据库sqlserver2000》课程实训报告
图书馆图书借阅信息数据库系统
姓名:
项新生
小组名称:
SQL开发小组
小组成员:
王东东王照松周龙
张海梅许恩俊项新生
指导教师:
张婷婷
班级:
软件3071
完成日期:
2009年5月11日
内容摘要
伴随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。
本文介绍了在SQLServer2000环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。
通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。
文章详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
本系统界面友好,操作简单,比较实用。
在此次实训中,我们利用所学的SQLServer数据库的知识,对图书馆的图书借阅信息数据系统进行设计。
能让我们在设计的同时,对SQLServer数据库有一个更加全面的认识。
并且我们也会形成良好的团队合作精神,按时、按量完成对本系统的设计工作。
关键字:
Informationdatasystemtoborrowbooks、student、teacher。
目录
第一章问题的描述4
1.1需求分析4
1.2E-R图5
1.3表关联图7
第2章数据库的设计8
2.1数据表设计8
2.2视图的设计10
2.3Transact-SQL语句12
2.4存储的过程15
第3章详细的设计17
3.1表字段录入17
3.2解决思路18
3.3代码及注释19
第4章实训总结20
4.1小组成员的分工20
4.2心得体会:
20
第5章参考文献21
第一章问题的描述
1.1需求分析
图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。
对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。
基于上述考虑本系统主要利用在图书馆内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息共享。
图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。
现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。
因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。
系统功能分析
(1)借阅者可以通过网络查询书籍信息和预订书籍.
(2)借阅者能够借阅书籍和还书
(3)图书管理员能够处理借阅者的借阅和还书请求.
(4)系统管理员可以对系统的数据进行维护,如增加、删除的更新书目,增加、删除和更新借阅者账户,增加和删除书籍.
用计算机对图书借阅工作中的各种借阅信息,各种借阅状态,所有借阅的书和所有与书有关系的读者进行自动控制,随时掌握每一本书在时间上和空间上的位置,随时了解每一位读者借阅的具体情况,从而对图书馆的藏书工作和读者工作进行调整和完整,提高图书的借阅效率。
能迅速反馈图书借阅工作中的各种信息,反馈的信息量大。
简化借阅工作手续,提高了借阅效率。
系统能把读者和图书置于严密的自动控制之中。
因此,本次实训的图书借阅信息数据系统的需求为:
在表的设计基础之上,对视图的设计,并且最为重要的是实现查询、表的添加、删除、更新和插入等Transact-SQL语句的书写。
从而培养我们对一个系统整体开发、设计以及团队合作等各个方面的能力。
1.2E-R图
(学生借书ER图)
(教职工借书ER图)
1.3表关联图
第2章数据库的设计
2.1数据表设计
(1)book表:
列名
数据类型
长度
允许空
bookid
varchar
20
notnull
bookname
varchar
20
null
publish
varchar
20
null
author
varchar
20
null
buytime
datetime
8
null
(2)student表:
列名
数据类型
长度
允许空
studentid
varchar
20
notnull
studentname
varchar
20
null
class
varchar
20
null
telephone
varchar
20
null
sex
char
2
null
(3)sread表:
列名
数据类型
长度
允许空
studentid
varchar
20
notnull
studentname
varchar
20
null
bookid
varchar
20
null
bookname
varchar
20
null
borrowtime
datetime
8
null
returntime
datetime
8
null
fine
money
8
null
(4)staff表:
列名
数据类型
长度
允许空
staffid
varchar
20
notnull
staffname
varchar
20
null
sex
char
2
null
telephone
varchar
20
null
(5)Tread表:
列名
数据类型
长度
允许空
staffid
varchar
20
notnull
staffname
varchar
20
null
bookid
varchar
20
null
borrowtime
datetime
8
null
returntime
datetime
8
null
fine
money
8
null
telephone
varchar
20
null
publish
varchar
20
null
表的设计是本系统中最基本的元素,后面的所有的工作大都围绕它去做。
因此,我们对这次表的设计是经过精心的了解之后设计出来的。
2.2视图的设计
VEIW1booksreadSQL语句如下:
SELECTdbo.book.bookid,dbo.book.bookname,dbo.book.publish,dbo.book.author,
dbo.sread.studentid,dbo.sread.studentname,dbo.sread.borrowtime,
dbo.sread.returntime,dbo.book.buytime
FROMdbo.bookINNERJOIN
dbo.sreadONdbo.book.bookid=dbo.sread.bookid
截图如下:
VIEW2bookTread:
SQL语句如下:
SELECTdbo.Tread.staffname,dbo.Tread.staffid,dbo.book.bookname,dbo.book.bookid,
dbo.Tread.borrowtime,dbo.Tread.returntime,dbo.Tread.fine,dbo.Tread.telephone,
dbo.Tread.publish,dbo.book.buytime,dbo.book.author
FROMdbo.bookINNERJOIN
dbo.TreadONdbo.book.bookid=dbo.Tread.bookid
截图如下:
2.3Transact-SQL语句
(1)查询借阅了“计算机文化基础(或其他表中存在的图书名称)”的学生基本信息
selectstudent.studentid,student.studentname,student.class,student.telephone,student.sex,sread.bookid,sread.booknamefromstudentinnerjoinsreadonstudent.studentid=sread.studentid
wherebookname='计算机文化基础'
截图如下:
(2)列出图书催还教职工名单和联系方式。
selectstaffid,staffname,telephone,overtime=cast(returntime-borrowtimeasint)fromtread
where(returntime-borrowtime)>30
截图如下:
(3)统计“张晓晓”同学过期的图书,并计算应该缴纳的罚金。
(每过期一天罚0.1元)
selectbookid,bookname,studentname,fine=cast((returntime-borrowtime)asint)*0.1fromsreadwherestudentname='张晓晓'
截图如下:
2.4存储的过程
Transact-SQL语句如下:
IFexists(SELECTnameFROMsysobjects
WHEREname='X_pro1'ANDtype='p')
DROPprocedureX_pro1
GO
CREATEprocedureX_pro1@anvarchar(8)
AS
SELECTbookid,bookname,author,publish
FROMbook
WHEREbook.bookid=@a
GO
截图如下:
调用存储过程X_pro1
executeX_pro1@a='0001'
截图如下:
第3章详细的设计
3.1表字段录入
表字段的输入,我们采用的是在企业管理器中,直接的输入。
(1)book表:
(2)student表:
(3)sread表
(4)staff表:
(5)Tread表:
3.2解决思路
思路如下:
●先审题对有多少张表及表中的字段进行设定
●依据表对视图进行设计
●再依据表对Transact-SQL语句设计
●通过老师的PPT对存储过程进行设计
●仔细检查实验的内容,发现错误进行修改
●填写实训报告,制作PPT。
等待老师答辩
3.3代码及注释
1.selectstaffid,staffname,telephone,overtime=cast(returntime-borrowtimeasint)fromtread
where(returntime-borrowtime)>30/*通过cast()函数将日期时间类型转换为整型,并输出超过30天的教职工信息*/
2.selectbookid,bookname,studentname,fine=cast((returntime-borrowtime)asint)*0.1fromsreadwherestudentname='张晓晓'/*计算罚金*/
3.selectbookid,bookname,publish,author,buytime
frombook
wheredatediff(month,buytime,getdate())<1/*调用getdate()函数来获取当前时间,在结合datediff函数来进行时间比较*/
4.selectdistinctstaffid,staffname,booknamefromtreadinnerjoinsreadonsread.bookid=tread.bookid/*使用distinct来进行查询的筛选,去掉重复的内容*/
5.CREATEprocedureX_pro1@anvarchar(8)
AS
SELECTbookid,bookname,author,publish
FROMbook
WHEREbook.bookid=@a
GO/*创建X_pro1存储过程,用于显示book中的bookid,bookname,author,publsh字段*/
第4章实训总结
4.1小组成员的分工
成员
分工情况
许恩俊
实训报告的设计与填写,参与其他成员讨论
张海梅
ER图的设计、相关表的创建、参与实训报告的编写
王冬冬
关系图的创建、主要的T-SQL语句的书写
王照松
视图的创建,查询“没有借书的学生的相关信息”及“所有近一个月的新书”及其它SQL查询的讨论。
项新生
图书催还、统计过期图书并缴纳罚金、PPT的制作、和相关问题讨论
周龙
数据库功能的测试、参与创建表、存储过程的创建、
4.2心得体会:
一周的数据库系统项目实训,让我在各方面都有了一定的提高。
本次试验我的工作主要是列出图书催还教职工名单和联系方式。
统计“张晓晓”同学过期的图书,并计算应该缴纳的罚金。
(每过期一天罚0.1元)。
在编写过期图书缴纳罚金的问题上遇到了一些问题,就是每过期一天如何缴纳罚金的SQL语句的编写,最后在老师同学的帮助下最终解决了这一问题。
通过本次试验我更加熟悉掌握了SQL2000数据库的创建、查询、视图设计、创建存储过程。
基本达到了要求的技能目标:
能熟练使用SQL2000完成基本操作;掌握SQL2000企业管理器与查询分析器的使用;能完成较复杂的查询操作,培养自己的自学能力,培养自己的解决问题的能力。
存储过程补充知识点的学习,给了我一个拓展知识的空间。
通过实训,我从单一,片面的学习进入了全面,系统的学习。
并在实训中加深了对数据库的理解,并积累了经验。
通过项目设计,我加深了对SQLServer2005数据库知识和VB.NET的学习和理解。
以前的学习中,我不太注意知识的回顾和总结;但现在为了使设计的项目更加完整,科学;在项目设计开始前我便把所有知识和设计要点复习了一遍,并进行了总结,这样在项目设计的时候便能够得心应手。
项目设计后,实践又加深了我对知识的理解。
这次实训使我学到了很多书上没有的知识,同时也使我清楚地认识到自己优点和缺点,自己存在的不足。
所以,我会努力学习,尽快地提高自己的能力。
第5章参考文献
(1)SQLServer2000数据库设计权威指南(ProfessionalSQLServer2000DatabaseDesign)作者:
(美)(DavidsonLouis)戴维森 出版社:
清华大学出版社
(2)深入浅出SQLServer2000开发.管理与应用实例(IT名人堂)作者:
邹建
出版社:
大连理工大学出版社
(3)SQLServer2000中文版基础教程作者:
宋振会出版社:
清华大学出版社
(4)MicrosoftSQLServer2000ReportingServices/SQLServer数据库专业技术丛书作者:
(美)拉森|译者 出版社:
西安交通大学出版社