当前位置:文档之家› 数据库学生公寓管理系统

数据库学生公寓管理系统

目录1引言 (1)2正文 (1)2.1设计环境 (1)2.2需求分析 (1)2.2.1 基本信息 (1)2.2.2 用户对系统要求 (2)2.2.3 系统功能分析: (2)2.2.4 业务流程概述 (2)2.2.5 数字字典 (3)2.2.6数据结构表 (5)2.3概念结构设计 (5)2.4逻辑结构设计 (5)2.4.1逻辑设计的任务和目标 (5)2.4.2将E-R图转换为关系模型 (6)2.5物理设计阶段的目标与任务 (8)2.6数据实施和维护 (9)2.6.1建立数据库、数据表、视图、导入数据 (9)2.6.2删除 (11)2.6.3修改 (11)2.6.4查询语句 (11)3小结 (13)参考文献 (14)学生公寓管理系统1引言学生宿舍管理系统是应对学生宿舍管理的现代化、网络化,逐步摆脱当前学生宿舍管理的人工管理方式,提高学生宿舍管理效率而开发的,它包括基本信息管理、住宿管理、服务管理、来访者管理等四大功能模块。

该系统开发由需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施与维护阶段等阶段组成。

2正文2.1设计环境在众多的数据库管理系统中,Microsoft SQL Server 2000作为微软的一个成熟的数据库管理系统,并和Windows操作系统平台兼容很强,并操作简便,得到了很多程序员以及企业的认可和推崇。

本次设计,开发环境:操作系统:Windows XP应用软件:Power DesignerMicrosoft SQL Server 20002.2需求分析目前,我们学校的宿舍管理都是由人工管理的,信息都是由文本记录的。

针对这一实际情况,我们设计了学生宿舍管理系统。

经过实际分析调查,一个学生宿舍管理系统主要是要方便宿舍管理人员的工作,提高其工作效率,不仅可以方便广大学生,而且还可以方便于教师和相关人员。

2.2.1 基本信息学生住在宿舍楼中,每幢宿舍楼都会有舍管阿姨负责本宿舍楼的日常管理。

(1)公寓的基本信息:每栋楼都有自己的楼号、楼里的管理人员以及人员编号。

(2)宿舍的基本信息:每间宿舍都有唯一的楼号和宿舍号,可住人数和已住人数。

(3)寝室学生信息每个学生都有学生姓名、所住的楼号宿舍号、以及相对应的学号。

(4)寝室设备维修信息登记哪个楼哪个宿舍的什么设备需要维修,记录维修时间,维修情况,维修结束情况。

(5)公寓来宾信息来宾访问时,登记姓名,身份证件号,所访问宿舍号,学生姓名、访问日期。

2.2.2 用户对系统要求(1)、信息要求:宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,报修的所有信息和来访者的信息,以利于对整个宿舍楼的全面管理。

(2)、处理要求:当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。

比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;当宿舍财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。

(3)、安全性与完整性要求:A、安全性要求:(1)系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;(2)系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;(3)系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。

B、完整性要求:(1)各种信息记录的完整性,信息记录内容不能为空;(2)各种数据间相互的联系的正确性;(3)相同的数据在不同记录中的一致性。

2.2.3 系统功能分析:本系统主要有以下功能:基本信息管理、住宿管理、维修服务管理、来访者管理。

基本信息管理包括学生信息、宿舍信息、工作人员信息;住宿信息包括入住、调房;服务管理包括维修;来访者管理包括来访者信息登记、来访者查询。

数据库操作功能:查询、删除、修改、插入;2.2.4 业务流程概述系统的业务是系统要达到的业务目标,业务流程分析是系统分析中的基础环节。

根据以上系统功能的分析,我们将学生宿舍管理业务分成公寓信息管理、学生住宿管理、维修服务管理、来访者管理四个模块。

.基本信息管理宿舍信息管理:主要是记录宿舍的基本状况,可住人数,已住人数,所住人员登记,便于工作人员分配寝室。

学生信息管理:宿舍的学生信息主要来自学生处提供的,对于已住进宿舍的学生,工作人员从学生处提取相关信息,进行统一管理,如果学生毕业之后,相应的信息也将被删除。

员工信息管理:记录在宿舍、楼管处工作的员工信息,及时增、删、改,便于有个统一的收集、管理、宿舍更好的运作。

报修:学生把需要维修的设备向楼管处提出申请,填写相应的维修单,工作人员根据维修单派发维修员工对设备进行维修,楼管处再把已修信息反馈给学生。

外来访客登记来访信息,楼管处根据外来访客所登记的信息表,从宿舍、工作人员信息、学生信息这三张表单中,查询外来访客所要访问的人员的基本信息,最后经过核实,确定其是否可以访问。

2.2.5 数字字典公寓数据字典寝室学生数据字典寝室数据字典寝室设备报修数据字典来访者数字字典2.2.6数据结构表2.3概念结构设计概念结构是将需求分析抽象为信息结构即概念模型的过程,这样才能更好地、更准确的用某一DBMS实现这些需求,是整个数据库设计的关键,它主要特点是能真实、充分地反映现实社会,包括事物和事物之间的联系,能满足用户对数据的处理需求,是对现实世界的一个真实模型,而且还易于理解,也方便用户的操作,对数据的修改和各种模型的转换。

从以上的数据流程图中,我们选择了第二层数据流程图作为设计E-R图的出发点,从分析数字字典和数据结构中可以看出,整个系统功能是围绕“学生宿舍”问题进行处理,学生住进宿舍,工作人员管理宿舍,处理宿舍提供的各种服务,另外,还有来访者对学生的来访。

图2.3概念结构设计2.4逻辑结构设计2.4.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

图2.4.1逻辑结构设计2.4.2将E-R图转换为关系模型由于楼号与楼里的宿舍是1:n关系,员工和宿舍,宿舍和宿舍设备,学生和来访者也是1:n关系,同样也将其之间的联系与n端实体员工,设备,来访者合并,具体的基本E-R 图向关系模型的转化如下:学生住宿表:(学号,姓名,专业,入住时间,联系方式,楼号,宿舍号)宿舍表:(楼号,宿舍号,电话号码,可住人数,已住人数)员工表:(员工号,员工姓名,性别,职位,家庭地址,联系方式,楼号)临时设备租赁表:(设备号,设备名,租赁日期,归还日期,租赁费用,学号)报修表:(楼号,宿舍号,物品号,报修原因,提交日期,解决日期,报修费用)来访者表:(来访人姓名,被访人姓名,所属关系,证件名称,来访日期,来访时间,结束时间,学号)图2.4.2 E-R图逻辑结构定义:由以上分析,得出上述5个表格结构如下:公寓信息表,主要记录楼号和管理人员信息。

寝室信息表,主要记录宿舍的入住信息。

寝室学生信息表,主要记录学生住宿的基本信息。

报修表,主要记录物品的报修信息。

来访者表,主要记录来访者的信息。

2.5物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。

建立关系式,将概念图转化为物理模型:图2.5 物理设计2.6数据实施和维护2.6.1建立数据库、数据表、视图、导入数据建立数据库将所得到物理模型用PowerDesigner生成数据库,保存SQL语言为StudentGY.sql。

打开SQL Server 2000 企业管理器;点击分析查询,创建新的数据库:create database 学生宿舍管理系统;选中新建的数据库,将StudentGY.sql中的语句复制到查询分析器中,点击执行,即可得到所建立的数据库。

图2.6.1 数据库建立视图1.建立住在D01号楼的学生信息的视图Create view D01号楼学生住宿表AsSelect *From 寝室学生信息Where 楼号=’D01’;2.建立D01号楼各个宿舍的信息的视图Create view D01号楼各个宿舍信息表AsSelect *From 寝室信息Where 楼号=’22’;导入数据1./*寝室信息表格记录插入*/Insert into 寝室信息Values ('D01','102','李鹏,张伟',6,1)截图如下:图2.6.1 导入数据2.6.2删除删除来宾证件号为111111111111111111的信息Delete from 公寓来宾访问表where 来宾身份证号='111111111111111111'2.6.3修改修改寝室设备维修情况表中D01号楼101宿舍的已住人数Update 寝室信息Set 已住人数=5Where楼号='D01' and 宿舍号='101';效果图:修改前:修改后:2.6.4查询语句1.查询员工姓名为王红的基本信息Select *From 公寓信息Where 管理人员姓名='王红';2.查询所有姓王的来访者信息Select *From 公寓来宾访问表Where 来宾姓名like '王%';图2.6.4查询所有姓王的来访者信息3.查询住在D01号楼101宿舍所住的学生信息Select 所住人员姓名From 寝室信息Where 楼号='D01' and 宿舍号='101';图2.6.3-1查询住在D01号楼101宿舍所住的学生信息4.查询员工号为00001的员工所在楼的住宿信息Select *From 寝室信息Where 楼号in (select 楼号From 公寓信息Where 管理人员编号='00001');图2.6.3-2查询员工号为00001的员工所在楼的住宿信息3小结这两周下来,学到了不少东西,以前对SQL,只能按书上按部就班的写,写SQL语句是会了,但数据逻辑和方法方面,一点都不够到位,没有对以前的知识进行系统的了解,没有把各个部分知识整合在一起,通过这次学生宿舍管理系统课程设计,使我对数据库设计的各个方面都加深了理解,了解到数据库是一环扣一环的,只有数据流程图和数字字典做好了,才能进行下面的E-R图设计,中途不能有办点马虎,也体会到把知识应用于实践是不容易的,同时也是学生课本所没有的东西,一些问题也只有真正做设计的时候才会出现。

相关主题