(完整word版)数据库课程设计-学生宿舍管理系统_第1页
(完整word版)数据库课程设计-学生宿舍管理系统_第2页
(完整word版)数据库课程设计-学生宿舍管理系统_第3页
(完整word版)数据库课程设计-学生宿舍管理系统_第4页
(完整word版)数据库课程设计-学生宿舍管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(完整word版)数据库课程设计--学生宿舍管理系统(完整word版)数据库课程设计--学生宿舍管理系统(完整word版)数据库课程设计--学生宿舍管理系统学生宿舍管理系统课程设计摘要:学生宿舍管理系统是应对学生宿舍管理的现代化、网络化,逐步摆脱当前学生宿舍管理的人工管理方式,提高学生宿舍管理效率而开发的,它包括宿舍学生基本信息管理、楼道工人基本信息管理、宿舍楼基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍楼物品出入基本信息管理、宿舍楼保卫处基本信息管理、宿舍配备物品及处理管理等八大功能模块,并提供了对各功能模块的查询和更新功能,且这两种功能基本上是通过存储过程来实现的,其中宿舍学生基本信息管理、宿舍基本信息管理是系统开发的重点。该系统开发由系统需求分析、概念设计、逻辑设计、数据库实施、系统调试和测试阶段组成.目录TOC\o”1—3”\h\z\u,显示出学生在哪个宿舍住,该宿舍住着几个人,什么时候入住6.2、数据更新操作宿舍调整登记。创建一个存储过程用于登记个别学生调整宿舍的记录。同时跟新原来的住宿信息表,使得调整后学生的宿舍信息表能同步进行。这里避免创建触发器的繁杂,只使用了更新的语句.CREATEPROCEDUREchange_dorm@stu_numint,@dst_dormint,@reasonvarchar(50)ASBEGIN SETNOCOUNTON; declarecur1cursorfor SELECTdorm_numfromstay_infowherestu_num=@stu_num—-查询需要调整的人员的原来住的宿舍 opencur1 declare@srcint-—声明游标以获取查询结果 fetchcur1into@src insertintochange_info(stu_num,src,dst,ch_date,ch_reason)values(@stu_num,@src,@dst_dorm,GETDATE(),@reason)updatestay_infosetdorm_num=@dst_dormwherestu_num=@stu_num-—将调整的信息插入到调整登记信息表中 closecur1 END执行存储过程如下:需要登记的信息成功录入到调整信息表中原住宿信息表数据。调整宿舍后:6.3、数据维护操作6。3。1同步更新触发器是系统使用过程中,需要使用一个触发器来同步信息。例如当有学生要住宿时,该宿舍已住人数要增加1,而宿舍信息中的相应空余床位数要减1。所以在住宿登记表中使用以下触发器.SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETRIGGERtri1ONstay_infoAFTERINSERTASBEGIN SETNOCOUNTON; declare@dorm_numint,@have_inint declarecur2cursorfor selectdorm_num,have_infromstay_info opencur2 fetchcur2 while(@@FETCH_STATUS〈〉—1) begin fetchnextfromcur2into@dorm_num,@have_in updatestay_infosethave_in=(@have_in+1)wheredorm_num=@dorm_num—-更新相应宿舍的已住人数,增加1。 updatedorm_infosetavi_bad=((selectavi_badfromdorm_infowheredorm_num=@dorm_num)-1)wheredorm_num=@dorm_num--更新宿舍信息表中的可用床位数(空余床位数) end closecur2ENDGO执行登记住宿信息表的存储过程插入前:插入后:6。3.2、按学院分配宿舍存储过程创建一个存储过程,用于按学院分配宿舍。使得能按同学院的学生能尽量的在同一宿舍住。USE[sdms]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[allowdorm_byfac] @facvarchar(20)ASBEGIN declare@offsetint,@bad_amountint,@sumint set@offset=1 set@bad_amount=1 set@sum=(selectdistinct(stu_num)fromstu_infowherefac=@fac) while(@sum〉0) begin declare@stu_numint,@dorm_numint set@stu_num=(SELECTtop(@bad_amount)stu_numfromstu_infowherefac=@facandstu_numnotin(selecttop(@offset)stu_num fromstu_infowherefac=@fac)) set@dorm_num=(selectdorm_numfromdorm_infowhereavi_bad=4) insertintostay_infovalues(@dorm_num,@stu_num,4,GETDATE()) set@sum=@sum—1 endEND执行存储过程,如图:7、收获、体会和建议做课程设计的这段时间来学到了很多东西,以前对SQL,只会照着书上的SQL语句写,没有对以前的知识进行系统的了解,没有把各个部分知识结合在一起.通过做这次课程设计,我对数据库设计的各个方面都加深了理解,只有数据流程图和数字字典做好了,才能进行下面的E—R图设计,仔仔细细做才能不出问题.体会到把知识应用于实践是不容易的,学到了课本上没有的知识,只有实践才能找出自己的问题。通过本次课程设计我对数据库的理解更加深刻了,清楚的认识了视图、索引、存储过程、触发器、一对多、多对多的设计模型。并且在这个宿舍管理设计中也都用上了.以前都只用mysql进行开发,虽然都支持标准的sql语句,但是在一些细节方面还是值得注意的,比如sqlserver中独特的TOP语句就值得考量。在其他数据库中的LIMIT语句虽然更加强大,sqlserver也有他方便的地方.通过本次我合作自主的制作本作品对数据库有了一个很好的整体理解,虽然有不足之处,但是自己完成确实有趣味。由于时间比较紧,我们所做的课程设计肯定还存在许多的不足之处,程序中也存在许多小错误,在以后的学习中会慢慢改过来努力做得更好。8、主要参考文献。《SQLServer从入门到精通》清华大学出版社明日科技SQLServer开发团队编著数据库原理与应用技术:SQLServer作者:_blank”赵彦出版社:HYPERLINK”/search.aspx?index=3&q=%e6%b8%85%e5%8d%8e%e5%a4%a7%e5%ad%a6%e5%87%ba%e7%89%88%e7%a4%be”\t”_blank”清华大学出版社HYPERLINK”/7556155"\t”_blank”MySQL技术内幕SQL编程作者:HYPERLINK"/search。aspx?index=2&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论