1.前言 (2)1.1选题的理由和实际意义 (2)1.2国内外关于该课题的研究现状及趋势 (3)2需求分析 (5)2.1 用户对系统要求 (5)2.2功能介绍 (5)3 系统设计 (7)3.1定义 (7)3.2系统模块图 (7)3.4 数据表的设计 (8)3.5 用例列举 (11)3.5.1建立数据表 (11)3.5.2建立视图 (14)3.5.3建立索引 (15)3.5.4约束条件的增加、删除、修改 (15)3.5.5查询语句 (15)3.5.6建立存储过程,触发器 (17)4 总结 (18)1.前言(本部分要有因果关系,前后通顺)1.1选题的理由和实际意义随着IT事业的发展,如今,我们已经全面跨入信息时代。
计算机被广泛的应用于各个行业,人工战略已经转化为信息战略,如何在短时间内获取大量信息并整合信息,成为立足于时代的关键。
为了适应考生人数的急剧增长,当今社会各大高校都在进行扩招政策,学生数量的急剧增加带来信息量的成倍增长,由于信息管理的不善与疏忽,各大高校大小事故时有发生。
进行正确的信息管理,对于信息及时处理和反应,能够最大程度的减少学校以及在校学生的损失,减小潜在危机。
学生宿舍是学生生活的基本单位,是同学休息与学习的地方,为了保障同学入住学生宿舍的安全性,信息的处理和管理极为重要。
据了解,本校的宿舍信息管理仍然使用传统的手工方式,主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。
数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。
学校的宿舍管理缺乏系统,规范的信息管理手段。
建立学生宿舍管理系统,使宿舍管理工作系统化,规范化,便捷化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。
随着高校规模的扩大,在校学生的基本情况随之层次化、多样化、复杂化,相应的,学生管理工作面临严峻的挑战。
高校学生信息日渐庞大,相应的宿舍管理工作变得复杂而困难。
传统的账本化工作模式,手工记录学生信息并存档,这样的人工管理方式费时、费事、费力,信息获取慢,更新滞后,查阅困难,容易出错。
为了给学生提供一个安全舒适的工作、生活、学习环境,方便宿舍管理工作的同时为学生、教师提供准确实时的信息至关重要。
本校的宿舍信息管理,主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。
数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。
以上的管理缺陷对学生宿舍管理造成了相当大的阻力,工作进展困难,问题解决的周期过长,资料整改工作量过大。
为了改善学生宿舍管理情况,运用数据库技术对学生信息进行处理和统一管理,在校园内实现宿舍无纸化办公。
利用计算机的特点,利用互联网进行远程操作,制定学生客户端,教师客户端,管理员客户端,实现有针对性信息化管理,充分发挥计算机的高效性、可靠性、保密性、大容量、低成本等特点,建立学生宿舍管理系统,对宿舍相关信息进行统一管理。
新型管理方式——学生宿舍管理系统,将帮助宿舍管理人员提高工作效率,全面地掌握宿舍情况,提高宿舍安全系数,快速解决学生入住学生宿舍遇到的问题,帮助管理人员与教师及时掌握学生情况。
对此类系统数据库的设计也就是十分重要的课题,也具有重要的现实意义。
1.2国内外关于该课题的研究现状及趋势信息技术的日益发展深入到社会的各个角落,学生宿舍管理也不例外,尤其作为高等院校的宿舍管理工作,是高校各项工作的一个重要组成部分,其管理水平的高低将直接影响到人才培养的质量。
随着高等教育的发展、高校规模的扩大、学生人数增加、学生宿舍各种信息的汇总、统计和分析等管理工作面临着诸多困难,管理工作也越来越繁重和琐碎。
因此宿舍管理的信息化、网络化越来越受到人们的重视,它既可以大大提高学生宿舍管理的绩效,也可以为学生解决后顾之忧。
同时随着计算机技术的普及和发展,管理的自动化已成为必然趋势。
因此,为了提高高校的整体管理水平,计算机在高等院校宿舍管理中的应用日益普及,这使得学生宿舍管理自动化的实现成为高校管理环节中的重要一环。
在传统模式下利用人工进行学生宿舍管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。
诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率,针对这些情况,我们可使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,这一技术具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。
这些优点能够极大地提高学生信息管理的效率,使我们的学校在市场经济的发展过程中具有一定的竞争优势,也是学校实现科学化,正规化,现代化的重要条件。
实现了科学、统一管理,避免了人工操作产生的错误,大大提高了工作效率。
随着计算机科学的迅速发展,计算机应用领域的不断扩大,许多性能好,功能齐全,应用面广,兼容性强的应用软件相应推出,可见计算机已经得到了广泛的应用,几乎各行各业都有关于计算机的使用,这使得计算机已成为社会中普遍存在的事物。
由于计算机的使用,使得人们在于管理、应用及服务等各个领域使用数据方面变得更加简洁,更加方便,大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面。
在企业管理,办公自动化等方面得到了普遍应用,受到用户的广泛欢迎。
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
随着计算机的普及,使用微机管理学生宿舍,将会被越来越多的学校采纳,学生宿舍管理系统将会得到越来越普遍的应用。
2需求分析目前,我们学校的宿舍管理都是由人工管理的,信息都是由文本记录的。
针对这一实际情况,我们设计了学生宿舍管理系统。
2.1 用户对系统要求(1)信息要求:宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,报修的所有信息和来访者的信息,以利于对整个宿舍楼的全面管理。
(2)处理要求:当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。
比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;当宿舍财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。
(3)安全性与完整性要求:○1安全性要求:○2完整性要求:2.2功能介绍(这部分应详细说明)学生住在宿舍楼中,每幢宿舍楼都会有若干名老师负责本宿舍楼的日常管理。
(1)学生的基本信息:入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。
(2)宿舍的基本信息:每间宿舍都有唯一的楼号和宿舍号,入校时,宿舍会装公用电话机,相应地就有宿舍电话号码。
(3)工作人员基本信息:每幢宿舍都有驻楼阿姨和保洁阿姨的编号。
(4)报修的基本信息:宿舍楼中经常出现财产的损坏,比如灯泡坏了,厕所的马桶出故障了等,这时,同学们需要将财产损坏情况报告给宿舍楼管理员,以便学校派人进行维修。
这时,需要记录报修的宿舍号和损坏的财产编号,同时记录报修的时间和损坏的原因。
当损坏的财产维修完毕后,应记录解决时间,表示该报修成功解决。
(5)来访者基本信息每幢宿舍对于每一次的人员来访都要做好相应的登记。
包括来访者和被访者的信息。
3 系统设计3.1定义(1)系统名称:学生宿舍管理系统(2)数据库管理软件:Microsoft SQL Server 2005(3)数据库设计采用软件:Microsoft Office Version 2003 (4)运行平台:windows 2000/xp/linux(5)数据库的安全性设计:3.2系统模块图图3.1 功能模块图3.4 数据表的设计学生住宿表:(学号,姓名,性别,专业,入住时间,联系方式,楼号,宿舍号)宿舍表:(楼号,宿舍号,电话号码,可住人数,已住人数)员工表:(员工号,员工姓名,性别,职位,家庭地址,联系方式,楼号)临时设备租赁表:(设备号,设备名,租赁日期,归还日期,租赁费用,学号)报修表:(楼号,宿舍号,物品号,报修原因,提交日期,解决日期,报修费用)水电费表:(楼号,宿舍号,月份,用电量,电费,用水量,水费)来访者表:(来访人姓名,被访人姓名,所属关系,证件名称,来访日期,来访时间,结束时间,学号)(1)学生住宿表,主要记录学生住宿的基本信息。
表3-1 学生住宿表(2)员工表,主要记录员工的基本信息。
表3-2员工表(3)宿舍表,主要记录宿舍的入住信息。
表3-3员工表(4)设备租赁表,主要记录设备的租赁信息。
表3-4 设备租赁表(5)报修表,主要记录物品的报修信息。
表3-5报修表(6)水电费表,主要是每个月记录各个宿舍的水电使用情况以及相应的费用。
表3-6设备租赁表(7)来访者表,主要记录来访者的信息。
表3-7 设备租赁表3.5 用例列举(本部分应理解应用,会提问)3.5.1建立数据表(1)宿舍表Create table 宿舍表( 楼号char(2),宿舍号char(3),primary key(楼号,宿舍号),宿舍电话char(12) not null,可住人数smallint not null,已住人数smallint not null,);(2)学生住宿表Create table 学生住宿表(学号char(8) primary key,姓名varchar(10) not null,性别char(2) default '男' check(性别in ('男','女')),专业varchar(20) not null,联系方式char(11),入住时间datetime not null,楼号char(2) not null,宿舍号char(3) not null,foreign key(楼号,宿舍号) references 宿舍表(楼号,宿舍号), );(3)员工的基本信息表Create table 员工表(员工号char(4) primary key,员工姓名varchar(10) not null,年龄smallint check(年龄>14 and 年龄<65),楼号char(2),性别char(2) check (性别in('男','女')),职位varchar(20) not null,联系方式char(11),);(4)设备的租赁信息表Create table 设备租赁表(设备号char(8) primary key,设备名Varchar(20) not null,租赁日期Datetime not null,归还日期Datetime not null,租赁费用decimal(5,2) not null,学号char(8) foreign key references 学生住宿表(学号), );(5)报修信息表create table 报修表(楼号char(6) not null,宿舍号char(6) not null,物品号char(8) not null,保修原因char(50) not null,提交日期datetime not null,解决日期datetime not null,保修费用decimal(5,2) not null,);(5)水电费表Create table 水电费表(楼号char(2) not null,宿舍号char(3) not null,月份Varchar(4) not null,用电量decimal(5,2) not null,电费decimal(5,2) not null,用水量decimal(5,2) not null,水费decimal(5,2) not null,);(6)来访者信息表Create table 来访者表(来访者姓名varchar(10) not null,被访者姓名varchar(10) not null,所属关系Varchar(20) not null,证件名称Varchar(20) not null,来访日期Datetime not null,来访时间Datetime not null,结束时间Datetime not null,备注Varchar(50),学号char(8) foreign key references 学生住宿表(学号),);3.5.2建立视图(1)建立物流管理专业的学生住宿的视图Create view 物流管理学生住宿表AsSelect 学号,姓名,楼号,宿舍号From 学生住宿表Where 专业=’物流管理’;(2)建立住在22号楼的学生信息的视图Create view 22号楼学生住宿表AsSelect 学号,姓名,专业From 学生住宿表Where 楼号=’22’;(3)建立职位是管理员的员工信息的视图Create view 管理员信息表AsSelect *From 员工表Where 职位=’管理员’;(4)建立4月份各个宿舍的水电使用情况的视图Create view 4月水电表AsFrom 水电表Where 月份=’4’;(5)建立22号楼各个宿舍的信息的视图Create view 22号楼宿舍信息表AsSelect *From 宿舍表Where 楼号=’22’;3.5.3建立索引create unique index 住宿_学号on 学生住宿表(学号);create unique index 宿舍楼_宿舍号on 宿舍表(楼号,宿舍号);create cluster index 学生_姓名on 学生住宿表(姓名);Create unique index IX_员工号on 员工表(员工号);Create unique index IX_设备号on 设备租赁表(设备号);3.5.4约束条件的增加、删除、修改(可没有)(1)在学生住宿表中增加一属性为学院,数据类型为varchar(20), (2)Alter table 学生住宿表add 学院varchar(20);(3)删除学生住宿表中新增的属性学院(4)Alter table 学生住宿表drop column 学院;(5)在设备租赁表中,增加设备名取唯一值的约束条件(6)Alter table 设备租赁表add unique(设备名);3.5.5查询语句(1)查询员工姓名为李倩的基本信息From 员工表Where 员工姓名='李倩';(2)查询年龄在22岁到32岁的员工号,员工姓名,职位Select 员工号,员工姓名,职位From 员工表Where 年龄between 22 and 32;(3)查询所有姓黄的来访者信息Select *From 来访者表Where 来访者姓名like '黄%';(4)查询张三所在的宿舍的已住人数Select 宿舍表.楼号, 宿舍表.宿舍号,已住人数From 宿舍表,学生住宿表Where 姓名='张三' and 宿舍表.楼号=学生住宿表.楼号and 宿舍表.宿舍号=学生住宿表.宿舍号;(5)查询住在22号楼123宿舍所住的学生信息Select 学号,姓名,专业,联系方式From 学生住宿表Where 楼号='22' and 宿舍号='123';(6)查询物流专业的学生住宿人数Select count(学号)From 学生住宿表Where 专业='物流专业';(7)查询姓名为李四的学生所租的设备信息Select *From 设备租赁表Where 学号in (select 学号From 学生住宿表Where 姓名='李四');(8)查询员工号为0124的员工所在楼的住宿信息Select *From 宿舍表Where 楼号in (select 楼号From 员工表Where 员工号='0124');3.5.6建立存储过程,触发器(1)存储过程,返回指定的月份的水费总额和电费总额Create proc pro@benning varchar(4),@ending varchar(4),@all_waterpay decimal(8,2),@all_elecpay decimal(8,2) output/* 给存储过程定义四个参数:开始月份和结束月份的水费总额和电费总额*/ASselect @all_waterpay=sum(水费), @all_elecpay=sum(电费)From 水电费表where 月份between @benningand @ending(2)触发器,当学生退房,即删除某一学生时,这学生所租的设备也删除Create trigger triOn 学生住宿表For deleteASIF @@rowcount = 0returndelete 设备租赁表where 学号in (select 学号from deleted)IF @@error !=0beginrollback tranreturnendreturngo六总结(本部分应表述一些实质性内容)这两周下来,学到了不少东西,以前对SQL,只能按书上按部就班的写,写SQL语句是会了,但数据逻辑和方法方面,一点都不够到位,没有对以前的知识进行系统的了解,没有把各个部分知识整合在一起,通过这次学生宿舍管理系统课程设计,使我对数据库设计的各个方面都加深了理解,了解到数据库是一环扣一环的,只有数据流程图和数字字典做好了,才能进行下面的E-R图设计,中途不能有办点马虎,也体会到把知识应用于实践是不容易的,同时也学生课本所没有的东西,一些问题也只有真正做设计的时候才会出现。