数据库课程设计-学生公寓管理系统_第1页
数据库课程设计-学生公寓管理系统_第2页
数据库课程设计-学生公寓管理系统_第3页
数据库课程设计-学生公寓管理系统_第4页
数据库课程设计-学生公寓管理系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

PAGE5-摘要随着高校的不断发展,学校招生人数也在不断增长。为了便于管理学生的住宿问题,我们设计了学生公寓管理系统,借助数据库技术让学生公寓的管理更方便,同时也有助于宿舍和学生信息的及时更新。本文介绍了在SQLserver2000环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。文章介绍了学生公寓管理系统的需求分析部分主要是用户的要求及功能划分;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分包括数据库的创建及一些数据库技术运用,本系统界面友好,操作简单,比较实用。关键词:学生公寓管理系统;数据库;E—R模型;表的关系目录TOC\o"1-6"\h\z\u第1章 需求分析阶段 -5-1.1 调查用户需求 -5-1.1.1 公寓楼的基本情况 -5-1.1.2 系统对用户的要求 -6-1.2 系统功能的设计和划分 -8-1.3 数据流图 -8-1.4 数据字典 -12-第2章 概念设计阶段 -15-2.1 引言 -15-2.2 概念模型设计 -15-第3章 逻辑设计阶段 -17-3.1 逻辑设计的任务 -17-3.2 将E-R图转换为关系模型 -17-3.3 关系图 -18-第4章 物理设计阶段 -19-4.1 物理设计阶段的目的与任务 -19-4.2 数据存储方面 -19-4.3 系统功能模块 -19-第5章 数据库设计阶段 -20-5.1 创建数据库 -20-5.2 创建表 -20-5.3 创建Default约束 -24-5.4 视图 -25-5.4.1 视图的创建 -25-5.4.2 视图的T-SQL语句 -27-5.5 存储过程 -28-5.6 触发器 -29-5.7 查询 -31-5.7.1 简单查询 -31-5.7.2 模糊查询 -31-5.7.3 嵌套与连接查询 -32-5.7.4 聚合查询 -32-第6章 总结 -33-第7章 参考文献 -34-需求分析阶段调查用户需求本系统的最终用户为学生公寓楼管理员,对象是入住公寓楼内的学生。根据我们日常生活中的经验,结合对自己学校公寓楼管理老师的咨询和对同公寓楼同学的调查,得出用户的下列实际要求:公寓楼的基本情况学生住在公寓楼中,每栋公寓楼都会有若干名老师负责本公寓楼的日常管理。学生的基本信息:入校时,根据每位同学唯一的学号,并被分配到指定的公寓楼和指定的宿舍,也因此会有一个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。管理员的基本信息:为了保证信息的安全性,每位管理员都要先进行信息的登记注册,从而设置权限,保证只能看到他们所管理的本公寓楼的所有信息,并能够对信息进行及时的修改与更新。宿舍的基本信息:

每间宿舍都有唯一的宿舍号(入校时,若宿舍会装公用电话机,相应地就有宿舍电话号码)。宿舍财产的基本信息:

每个宿舍的财产属于学校,比如节能灯,床铺,电扇,柜子,桌椅等,为了对不同的财产进行区分,可以为每种财产分配不同的财产号。这样有利于财产的报修和管理。邮件收发的基本信息:

每栋公寓楼都有邮件收发的管理,当本楼的同学有信件时,相应的会有信件的到达时间,接受信件的同学姓名和他所在的宿舍号。有时,同一个学生有多封信件需要接收,需要表示一个同学有多少封信件。当信件接收后,应有一个接收信件的时间,表示信件已成功到达指定的同学手中。进行学生邮件接收登记。报修的基本信息:

比如,公寓楼中经常出现财产的损坏灯坏了,厕所的马桶出故障了等,这时,同学们需要将财产损坏情况报告给公寓楼管理员,以便学校派人进行维修。这时,需要记录报修的宿舍号和损坏的财产编号,同时记录报修的时间和损坏的原因。当损坏的财产维修完毕后,应记录解决时间,表示该报修成功解决。夜归的基本信息:

公寓楼在指定的时间关门(比如晚上11点),若有同学晚于关门时间会宿舍,需通知公寓楼管理员,同时应登记晚归学生姓名,宿舍号,时间和晚归原因,以利于学校的管理和查证。离校的基本信息:

每当放寒假或暑假时,同学们大部分都会回家;每当“五·一”或“十·一”等假期放假时,同学们也有很多不会留在宿舍。这时,为加强学校对同学假期安全的管理,离校的同学应登记离校时间,待返校后记录返校时间,以便学校查证和管理。贵重物品出入登记记录:为加强学生公寓楼的安全管理,防止物品丢失。学生的贵重物品如笔记本电脑等出入时公寓楼需登记,以便学校的查证和管理。十、水电使用情况信息每间宿舍每月都供用一定额度的水电,当水电使用超过限度时,宿舍管理员会根据水电信息表提醒学生购水电。十一、宿舍卫生考核记录:为了营造良好的学习生活环境,培养学生良好的生活习惯,学校要求学生在日常生活中对宿舍进行卫生与美化。宿舍管理员对宿舍卫生按照一定标准进行考核记录,并把考核记录作为星级宿舍评比的重要标准。系统对用户的要求一、公寓楼管理员a、信息要求:公寓楼管理员能查询上面提到的公寓楼的所有相关信息,包括某一学号的学生在公寓楼中住宿的详细信息,快件收发的所有信息,报修的所有信息,夜归的详细信息、贵重物品出入信息、水电使用信息、卫生考核信息和学生离返校的信息。以利于对整个宿舍楼的全面管理。b、处理要求:当学生基本信息发生变化时,公寓楼管理员能对其进行修改。比如,某些同学搬到其他的公寓楼去,他们在本公寓楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。当公寓楼的电话号码发生变更时,公寓楼管理员能根据有关证明做出修改。当快件到达本公寓楼时,公寓楼管理员应依据到达快件的相关信息在快件信息栏中插入一条记录,当同学们接收快件后,管理员应登记快件的接收时间,表明该信件已成功到达收信人的手中。当宿舍财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。当学生贵重物品带出时,管理员应进行登记,带回时也需进行登记,以保证学生的财产安全。当水电使用超过限度时,宿舍管理员应根据水电信息表提醒学生购水电。当卫生考核过后,管理员应进行记录,以便后期对宿舍进行评比。c.安全性与完整性要求:安全性要求:1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。完整性要求:1.各种信息记录的完整性,信息记录内容不能为空;2.各种数据间相互的联系的正确性;3.相同的数据在不同记录中的一致性。二、本公寓楼的学生a.信息要求:本公寓楼的学生能查询其所在的宿舍的所有信息,能查询本楼的指定宿舍的电话号码以利于同楼宿舍间的通信。能查询自己的快件信息。能查询自己的夜归记录和离返校记录。b.处理要求:本宿舍楼的学生能在报修信息表中插入报修信息,表示本宿舍的财产发生了损毁需要学校派人维修。学生离校时,能在离返校记录表中插入离校时间;学生返校后,能在离返校记录表中插入返校时间,表示已经回校。系统功能的设计和划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:1、用户管理部分1、处理用户注册2、处理用户登录3、用户可以查询学生信息。4、用户可以查询快件信息。5、用户可以提交与查询报修信息。6、用户可以插入与删除用户自己的离返校信息。7、用户可以修改用户自己密码。2、管理员管理部分1、处理管理员登录2、管理员可以查询学生信息。3、管理员可以发布与更新快件信息。4、管理员可以插入、修改与查询报修信息。5、管理员可以插入与查询学生夜归信息。6、管理员可以查询在校与离校学生信息。7、管理员可以修改管理员密码。8、管理员可以插入各宿舍的卫生考核信息及评比信息。9、管理员可以插入、修改与查询宿舍财产信息。10、管理员可以查询各宿舍水电使用信息。数据流图根据需求分析画出如下分数据图:图1.1报修分数据流图图1.2邮件分数据流图图1.3离返校分数据流图图1.4夜归分数据流图图1.5贵重物品出入分数据流图图1.6水电分数据流图图1.7宿舍卫生考核分数据流图把以上分数据流图合成总数据流图如下所示图1.8总数据流图数据字典表1-1学生信息数据字典属性名存储代码类型长度备注学号Snochar20住宿学生学号姓名Snamechar20住宿学生姓名性别Ssexchar4专业Sdeptchar40学生专业宿舍号Dnochar6住宿学生宿舍号入住时间Scheckindatetime8新生搬入时间表1-2宿舍数据字典属性名存储代码类型长度备注宿舍号Dnochar6宿舍电话Dphonechar15宿舍可容纳人数Dcptinyint4宿舍人数Dpersonchar4表1-3宿舍财产数据字典属性名存储代码类型长度备注物品号PnoInt2宿舍物品编号物品名Pnamechar20宿舍物品名表1-4邮件快递数据字典属性名存储代码类型长度备注姓名Snamechar20收件人姓名宿舍号Dnochar6收件人宿舍号到达时间Marrivedatetime8邮件快递到达时间接收时间Mreceivedatetime8收件人接收时间邮件数量Mnumberint4学生收到邮件数量表1-5报修数据字典属性名存储代码类型长度备注宿舍号Dnochar6报修人宿舍号物品号PnoInt4报修物品编号提交日期Rsubmitdatetime8报修提交日期解决日期Rsolvedatetime8问题解决日期报修原因Rreasonchar50物品损坏原因表1-6晚归数据字典属性名存储代码类型长度备注学号Snochar20晚归学生姓名宿舍号Dnochar6晚归学生宿舍号晚归时间Btimedatetime14学生晚归时间晚归原因BreasonrChar20学生晚归原因表1-7离校数据字典属性名存储代码类型长度备注学号Snochar20离校学生姓名宿舍号Dnochar6离校学生宿舍号离校时间Ltimedatetime8学生离校时间返回时间Lreturndatetime8学生返校时间表1-8管理员信息数据字典属性名存储代码类型长度描述编号Wnochar8管理员编号姓名Wnamechar20管理员姓名性别Wsexchar2管理员性别联系电话Wtelchar12管理员电话出生日期Wbirthdatetime8管理员出生年月表1-9贵重物品信息数据字典属性名存储代码类型长度备注学号Snochar20宿舍号Dnochar6物品类型Wtypechar20带出时间Outtimedatetime8物品带出时间带入时间Intimedatetime8物品带入时间表1-10水电使用信息数据字典属性名存储代码类型长度备注宿舍号Dnochar6剩余额度Numberchar8欠费情况Qfeichar2需要交纳费用Mfeimoney8表1-11卫生考核信息数据字典属性名存储代码类型长度备注宿舍号Dnochar6考核分数Dpiontchar4考核日期Kriqidatetime8评星等级Dgradechar2概念设计阶段引言概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键概念模型设计(1)根据不同的对象,分别画出分E-R图:图2.1学生与宿舍管理员之间的关系宿舍管理员管理学生的卫生情况、夜归情况、水电使用情况,之间存在着多对多的关系。图2.2宿舍物品与宿舍之间的关系每栋宿舍楼的宿舍都配有宿舍物品财产,存在着多对多的关系。图2.3贵重物品出入宿舍的联系图为了保障学生的财产安全,当学生的贵重物品出入宿舍楼时都要进行登记记录,学生和宿舍楼之间存在有多对一的关系。图2.4学生与宿舍之间的关系当学生入住宿舍时,学生和宿舍之间存在着多对多的关系。图2.5学生收发邮件的联系图当学生收发邮件时,学生和邮件之间存在着多对多的关系。图2.6宿舍与宿舍管理员之间的关系每个宿舍楼都有宿舍管理员,每个宿舍和宿舍管理员之间存在着多对多的关系。(2)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图:图2.8E-R图“基层”单位数据库系统中应包括宿舍楼、宿舍、宿舍物品、学生、邮件、宿舍管理员六个实体集。学生:(学号、宿舍号、姓名、性别、入住时间、离校时间、院系名)宿舍:(宿舍号、成员名、宿舍电话);宿舍楼:(宿舍楼号、宿舍管理员名、宿舍位置、宿舍楼电话)宿舍物品:(物品号、物品名);邮件:(学生姓名、宿舍号、到达时间、接收时间、邮件数量)宿舍管理员:(工作编号,姓名,性别,联系方式,出生日期)逻辑设计阶段逻辑设计的任务系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。将E-R图转换为关系模型为了便于模型优化,将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:学生表(学号,姓名,性别,专业,宿舍号,入住时间)属于第三范式宿舍表(宿舍号,宿舍电话)属于第三范式宿舍财产表(宿舍号,宿舍物品名,宿舍物品号)属于第三范式邮件表(姓名,宿舍号,到达时间,接收时间,邮件数量)属于第三范式报修表(宿舍号,物品号,提交日期,解决日期,报修原因)属于第三范式夜归表(学号,宿舍号,夜归时间,夜归原因)属于第三范式离返校表(学号,宿舍号,离校时间,返回时间)属于第三范式贵重物品表(学号,宿舍号,物品类型,带出时间,带入时间)属于第三范式水电管理表(宿舍号,剩余额度,欠费情况,需要交纳费用)属于第三范式卫生考核表(宿舍号,考核分数,考核日期,评星等级)属于第三范式关系图图3.1表与表之间的关系图物理设计阶段物理设计阶段的目的与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。数据存储方面为数据库中各基本表建立的索引如下:由于基本表宿舍,入住学生的主码Sno,Dno经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引。基本表管理员基本信息、贵重物品信息、宿舍信息的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引。基本表邮件快递数,报修信息,晚归信息,水电管理信息,卫生考核信息,的属性值经常发生变化,住宿学生信息,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。系统功能模块学生基本信息管理学生基本信息管理管理员基本信息管理宿舍的基本信息管理宿舍财产信息的管理邮件基本信息管理报修基本信息管理夜归基本信息管理离返校基本信息管理贵重物品出入信息管理水电使用信息管理宿舍卫生考核信息管理学生公寓信息管理系统图4.1系统功能模块图数据库设计阶段创建数据库直接在企业管理器里创建数据库,数据库名为:学生公寓信息管理。创建表查询分析器:管理员基本信息表的创建:createtable管理员基本信息(Wnochar(8)primarykey,Wnamechar(20),Wsexchar(2),Wtelchar(12),Wbirthdatetime)命令成功后即可在企业管理器里找到该表的相关信息,如下界面在企业管理器里建表如下:表5-1夜归信息表字段名描述类型长度是否允许为空是否为主键Sno晚归学生姓名char20否是Dno晚归学生宿舍号char6是否Btime学生晚归时间datetime8是否Breasonr学生晚归原因Char20是否表5-2宿舍财产信息表字段名描述类型长度是否为主键是否允许为空Pno宿舍物品号Int2是否Pname宿舍物品号char20否是表5-3邮件信息表字段名描述类型长度是否为主键是否允许为空Sname收件人姓名char20是否Dno收件人宿舍号char6是否Marrive邮件快递到达时间datetime8否是Mreceive收件人接收时间datetime8否是Mnumber学生收到邮件数量int4否是表5-4学生信息表字段名描述类型长度是否可以为空是否为主键Sno住宿学生学号char20否是Sname住宿学生姓名char20是否Ssex住宿学生性别char4是否Sdept学生专业char40是否Dno住宿学生宿舍号char6是否Scheckin新生搬入时间datetime8是否表5-5宿舍信息表字段名描述类型长度是否可以为空是否为主键Dno宿舍号char6否是Dphone宿舍电话char15是否Dcp宿舍可住人数char4否否Dperson宿舍人数char4否否表5-6贵重物品出入信息表字段名描述类型长度是否为主键是否允许为空Sno学号char20是否Dno宿舍号char6否否Wtype物品类型char20否否Outtime带出时间datetime8否是Intime带入时间datetime8否是表5-7水电使用信息表字段名描述类型长度是否为主键是否允许为空Dno宿舍号char6是否Number剩余额度char8否是Qfei欠费情况char2否是Mfei需交纳费用money8否是表5-8离返校信息表属性名描述类型长度是否为主键是否允许为空学号离校学生学号char20是否宿舍号离校学生宿舍号char6否是离校时间学生离校时间datetime8否是Lreturn学生返校时间datetime8否是表5-9卫生考核信息表字段名描述类型长度是否为主键是否允许为空Dno宿舍号char6是否Dpiont考核分数char4否是Kriqi考核日期datetime8否是Dgrade评星等级char2否是表5-10管理员基本信息表字段名描述类型长度是否为主键是否允许为空Wno管理员编号char8是否Wname管理员姓名char20否是Wsex管理员性别char2否是Wtel管理员电话char12否是Wbirth管理员出生年月datetime8否是表5-11报修信息表字段名描述类型长度是否为主键是否允许为空Dno报修人宿舍号char6是否Pno报修物品编号Int4是否Rsubmit报修提交日期datetime8否是Rsolve问题解决日期datetime8否是Rreason物品损坏原因char50否是创建Default约束/*创建一个Default约束,使管理员基本信息中Wsex列默认为女*/查询分析器:createdefaultdefsexas'女'sp_bindefault'defsex','管理员基本信息.Wsex'上述语句运行之前管理员基本信息表如下图所示:运行之后管理员基本信息表如下图所示:此时如果再插入记录并且性别列不填,系统会默认为女视图建立视图是由一个或多个基本表(或视图)导出的数据信息,可根据用户的不同建立不同的视图。视图的创建/*创建视图vws1*/createviewvws1(学号,姓名,性别,专业,宿舍)asselectSno,Sname,Ssex,Sdept,Dnofrom学生信息whereSsex='男'withcheckoption选中运行后出现如下画面:/*查询视图vws1*/select*fromvws1结果显示窗格:/*删除视图vws1*/dropviewvws1选中运行后出现如下画面:再次执行语句:select*fromvws1结果显示窗格:视图的T-SQL语句/*查询视图vws1*/select*fromvws1结果显示窗格:/*对视图中的性别替换:性别为男,替换为1*/select学号,姓名,性别=casewhen性别='男'then'0'end,专业,宿舍fromvws1结果显示窗格:存储过程在SQLServer中,存储过程是数据库对象之一,它有执行速度快、确保数据库的安全和自动完成需要预先执行的任务等优点。存储过程创建如下:Createprocprcse@nochar(10)asifexists(select*from学生信息whereSno=@no)select*from学生信息whereSno=@noelseprint'无此人'execprcse@no='001'运行结果如下图所示:触发器触发器是一类特殊的存储过程。触发器与表的关系密切,可用于维护表中的数据。当有数据影响到触发器维护的数据时,触发器自动执行。创建触发器之前,学生信息表如下:/*从学生信息表中删除学生的信息*/createtriggertrgde

on学生信息

fordelete

as

begin

declare@Dnochar(6)

select@Dno=Dnofrom学生信息

if

(select水电使用信息.Qfeifrom水电使用信息

whereDno=@Dno)=0

rollback

end

选中运行后显示如下界面:表明触发器以创建成功。在运行以下语句:deletefrom学生信息whereDno=9#601显示如下图,已影响1行数据:

此时在企业管理器中打开学生信息表如下

温馨提示

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

评论

0/150

提交评论