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