学生宿舍管理系统数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息工程学院
oracle数据库课程设计
学生宿舍管理系统数据库设计姓名: 2005544532范春江专业:计算机科学与技术
指导老师:***
完成日期:2008、6、26
摘要
学生宿舍管理系统就是应对学生宿舍管理得现代化、网络化,逐步摆脱当前学生宿舍管理得人工管理方式,提高学生宿舍管理效率而开发得,它包括宿舍学生基本信息管理、楼道工人基本信息管理、宿舍楼基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍楼物品出入基本信息管理、宿舍楼保卫处基本信息管理、宿舍配备物品及处理管理等八大功能模块,并提供了对各功能模块得查询与更新功能,且这两种功能基本上就是通过存储过程来实现得,其中宿舍学生基本信息管理、宿舍基本信息管理就是系统开发得重点。
该系统开发由系统需求分析阶段、概念设计阶段、逻辑设计阶段、数据库实施阶段、系统调试与测试阶段、参考文献、附录等阶段组成.
关键字:学生宿舍管理,宿舍管理现代化,宿舍管理网络化,人工管理,功能模块,存储过程
目录
1、系统需求分析阶段ﻩ错误!未定义书签。
1、1 引言 ............................................................................................. 错误!未定义书签。
1、2目标与任务ﻩ错误!未定义书签。
1、2、1 需求分析阶段得目标...................................................... 错误!未定义书签。
1、2、2需求分析阶段得任务................................................ 错误!未定义书签。
1、2、3 需求分析阶段成果ﻩ错误!未定义书签。
2、概念设计阶段.................................................................................... 错误!未定义书签。
2、1 引言ﻩ错误!未定义书签。
2、2 概念模型设计 ............................................................................ 错误!未定义书签。
2、3 新系统流程 ................................................................................ 错误!未定义书签。
3.逻辑设计阶段ﻩ错误!未定义书签。
3、1逻辑设计得任务与目标................................................................ 错误!未定义书签。
3、2数据组织..................................................................................... 错误!未定义书签。
3、2、1将E—R图转换为关系模型 .......................................... 错误!未定义书签。
3、2、2模型优化ﻩ错误!未定义书签。
3、2、3数据库模式定义 ............................................................ 错误!未定义书签。
3、2、4用户子模式设计 .......................................................... 错误!未定义书签。
3、3数据处理ﻩ错误!未定义书签。
4.物理设计阶段 ........................................................................................... 错误!未定义书签。
4、1物理设计阶段得目标与任务 ........................................................ 错误!未定义书签。
4、2数据存储方面 .............................................................................. 错误!未定义书签。
4、3系统功能模块 ............................................................................... 错误!未定义书签。
4、3、1楼道工人基本得信息查询与更新模块 ......................... 错误!未定义书签。
4、3、2 宿舍楼基本信息得查询与更新模块 ............................. 错误!未定义书签。
4、3、3 宿舍基本信息得查询与更新模块................................. 错误!未定义书签。
4、3、4 学生基本信息得查询与更新模块ﻩ错误!未定义书签。
4、3、5 宿舍物品得查询与更新模块 ...................................... 错误!未定义书签。
4、3、6 宿舍事故得查询与更新模块 .......................................... 错误!未定义书签。
4、3、7 宿舍物品处理得查询与更新模块ﻩ错误!未定义书签。
4、3、8 宿舍保卫处基本信息得查询与更新模块 ....................... 错误!未定义书签。
5。
数据库实施阶段ﻩ错误!未定义书签。
5、1建立数据库、数据表、视图、索引 ............................................. 错误!未定义书签。
5、1、1 建立数据库ﻩ错误!未定义书签。
5、1、2 建立数据表ﻩ错误!未定义书签。
5、1、3 建立视图ﻩ错误!未定义书签。
5、1、4 建立索引 ........................................................................ 错误!未定义书签。
5、2数据入库....................................................................................... 错误!未定义书签。
5、3创建各个功能得存储过程ﻩ错误!未定义书签。
6.系统调试与测试ﻩ错误!未定义书签。
7。
实习心得 ................................................................................................. 错误!未定义书签。
8.存在得问题及建议ﻩ错误!未定义书签。
致谢 .............................................................................................................. 错误!未定义书签。
参考文献....................................................................................................... 错误!未定义书签。
附录1 数据库逻辑结构定义ﻩ错误!未定义书签。
附录2存储过程定义ﻩ错误!未定义书签。
附录3 数据查瞧与存储过程功能得验证..................................................... 错误!未定义书签。
附录4所有得SQL运行语句ﻩ错误!未定义书签。
1、系统需求分析阶段
1、1引言
通过对北校区25个学生宿舍楼得实地调查,了解到现在得学生宿舍管理仍停留在完全得人工管理阶段,楼管处没有标准得住宿学生存档信息。
这中人工管理方式费时、费事、费力,造成工作效率低下。
开发出合适得学生宿舍管理系统,可以方便学生宿舍得管理,提高宿舍管理工作效率及查询效率。
1、2 目标与任务
1、2、1 需求分析阶段得目标
(1)了解目前宿舍管理得现状以及SQL Server 2000得功能与特点。
(2)通过实地调查与问答-记录得方式了解宿舍管理得工作业务流程,并记录与处理相关得数据。
(3)与指导教师交流个人想法,征求意见,改正不合理得地方,为下面得概念设计与逻辑设计奠定基础.
1、2、2 需求分析阶段得任务
(1)处理对象:
系统要处理得对象包括宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息等七个方面,各个对象包括信息如下所示(详细得数据见于数据字典):
1.宿舍楼基本信息(Dormitory):包括宿舍楼编号、宿舍楼所在校区、宿舍楼再校区中区域、每一幢宿舍楼楼管处得电话、宿舍楼楼管员信息等方面,这样可以方便管理者对宿舍楼得管理,提高查询效率;
2。
学生基本信息(Student):包括学生编号、学生所在学院信息、学生姓名、学生性别、学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级等方面得信息,可以方便学信息得查询与更新;
3。
宿舍基本信息(Room,Fitment,FitmentDestruction,Fitmentpensat e):宿舍基本信息包括四个数据结构(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品损坏信息(FitmentDestruction),宿舍损坏物品赔偿信息),每个数据结构中得数据项见数据字典;
4.楼道工作人员基本信息(Worker):包括工作人员编号、工作人员姓名、工作类
型、工资、性别、联系方式、工作时间等数据项,可以方便管理人员对宿舍楼道工人得任用、信息查询及更改;
5.宿舍保卫处基本信息(SafeGuard):包括保卫处名称、人员数目、负责人信息、联系电话等四方面得信息;
6.宿舍事故基本信息(Accident,AccidentResearch,Accidentpensate):事故信息包括三个数据结构(事故信息、事故处理信息、事故赔偿信息),具体得数据项见数据字典;
物品出入基本信息(ArticalInOut):包括出入物品得学生信息、出入得物品信息、出入物品时得负责人信息、出入物品时间,尽量减少宿舍事故得发生,保障学生宿舍财产得安全。
(2)处理功能要求
系统主要完成一下几个功能:
1。
宿舍楼基本信息查询与修改;
2。
学生基本信息查询与更新;
3.每一幢宿舍楼中宿舍信息得查询与信息更新;
4.宿舍保卫处基本信息得查询与修改;
5.宿舍事故基本信息及事故处理信息得查询与修改;
6.宿舍楼物品出入审批及记录;
(3)安全性与完整性要求
安全性先通过视图机制,不同得用户只能访问系统授权得视图,这样可提供系统数据一定程度上得安全性,再通过用户授权机制,欲用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次得安全保密功能.
完整性要求用于描述宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息中数据项能否为null,以及一些用户自定义完整性(符合实际要求),详细完整性要求见于系统得逻辑设计阶段.
1、2、3 需求分析阶段成果
(1)体会与收获
系统需求分析主要采取实地询问-记录与楼管处查询宿舍学生信息得方式,同时借鉴学长在做数据库开发这方面得经验。
通过实地调查与询问,了解目前学生宿舍管理得现状,以及目前学生宿舍管理中一些问题,并对实际查询业务实地参与,了解了学生、楼管员、宿舍管理者、宿舍保卫人员对系统得信息处理要求,以及她(她)们对现存人工管理方式不能
满足信息处理要求得苦恼。
同时在调查中牵涉得许多得人际交流,恰当得询问方式,由于平时几乎没有做过这方面得调查,开始时有点胆怯与不知从何入手,但过了两三幢宿舍楼之后,开始得胆怯就感觉不到了。
(2)学生宿舍管理系统业务流程图
新生入住宿舍业务流程图:
ﻩ查询业务流程图(查询宿舍学生信息、楼道工作人员信息、宿舍楼信息等):
毕业生离宿业务流程图:
楼道工作人员任用业务流程图:宿舍楼物品出入业务流程图:
宿舍事故处理业务流程图:
(3)数据流程图
顶层数据流程图:
第2层数据流程图:从学生角度出发
第2层数据流程图:从管理者角度出发
图2、3从管理者角度出发得2层数据流程图第3层数据流程图:从新生角度出发
ﻩﻩ第3层数据流程图:从毕业生角度出发
ﻩﻩ第3层数据流程图:从宿舍楼物品出入出发
ﻩﻩ第3层数据流程图:从宿舍事故角度出入出发
ﻩ第3层数据流程图:从楼道工作人员得任用角度出发第3层数据流程图:从管理者与外来访客得角度出发
(4)数据字典
(a)数据项:系统涉及得数据项有71项
表1、1 数据项列表
数据项编号数据项名数据项含义与其它数据项得关系存储结构别名DI-1 StuNo 学生编号char(9)学号
DI-2 DepName学生所在学院char (20)
学院
DI-3 StuName 学生姓名cha
r(10)
姓名
DI-4StuSex 学生性别char(2)性别
DI-5 StuHome 学生来自省份c
har(10)
祖籍
DI—6 StuBorth 学生出生时间Date 出生日期DI-7StuETime 学生入学时间Date入学时间
DI-8 StuPerfect 学生所在专业char(2
0)
专业
DI-9 StuClass学生所在班级编号Int编号
DI—10 WorNo 工作人员编号char(5) 编号
DI-11 WorName 工作人员姓名char(10) 姓名
DI—12 WorType 工作类型char(8) 工作类型DI-13 WorWage 工作人员工资Int月工资
DI-14WorSex 工作人员性别char
(2)
性别
DI-15WorPhNo 工作人员联系方式char(12) 电话
DI—16WorTime 工作人员工作时间char
(30)
工作时间
DI—17 RNo 宿舍编号char(6)舍号DI—18 RHeader 舍长信息等于StuName char(10) 舍长
DI-19 ROne 宿舍学生信息同上char
(10)
舍员1
DI-20 RTwo 宿舍学生信息同上char(10) 舍员2
DI-21 RThree宿舍学生信息同上char(1
0)
舍员3
DI—22 RFour 宿舍学生信息同上char(10) 舍员4
DI-23 RFive 宿舍学生信息同上char(1
0)
舍员5
DI—24 RSix宿舍学生信息同上char(1
0)
舍员6
DI-25RGrade宿舍学生所属年级等于StuETime char(4) 年级DI—26 RDepart 宿舍学生所在学院等于DepName char(20) 学院
DI-27 RPerfect 宿舍学生所学专业等于StuPerfect char
(20)
专业
DI-28 RClass学生所在班级编号等于StuClass char(2)班级
DI-29 DorNo 宿舍楼编号smallint 宿舍楼号DI-30DorCampus 宿舍楼所属校区char(4) 校区
DI-31 DorLocat
ion
宿舍楼在校区位置char(4)宿舍区位
DI—32 DorPhNo宿舍楼管处电话char(12) 电话DI—33 DorAdminist 宿舍楼楼管员信息等于WorNochar(10) 楼管员
DI-34 SGName 保卫处名称char(1
5)
名字
DI-35 SGWorNum 保卫处人员总数Int 人员数目DI—36 SGHeader保卫处负责人信息char(10)负责人
DI—37SGPhone 保卫处电话char(1
2)
电话
DI—38 FitName 宿舍物品名称char(16) 宿舍物品DI-39 FitPrice 宿舍物品价格Float价格
DI-40 FitNum每一种宿舍得数量Int数量
DI-41 FDFitment 损坏物品信息等于FitName char(16) 物品名
DI-42FDStudent 损坏得学生信息等于StuNo char
(9)
学生
DI-43 FDRoom 损坏物品宿舍信息等于RNo char(6)舍号DI-44 FDFitNum 损坏物品得数量Int数量
DI—45 FpFit 赔偿物品信息等于FitName char(1
6)
物品名
DI-46 FpStu 需赔偿学生信息等于StuNo char(9) 学生
DI—47FpMon 赔偿价格Float 赔偿价格
DI—48 FpPrin赔偿负责人信息等于WorNo char
(10)
负责人
DI—49 FpDate 赔偿日期Date 日期DI-50 FpNum 赔偿物品数量Int 数量DI-51 AcNo 事故编号int 编号DI—52 AcType 事故类型char(10) 类型DI-53 AcArtical 事故损失物品char(30) 物品名DI-54 AcArNum 事故损失物品数量Int数量DI-55AcStu 事故受害学生等于StuNo char(9) 学生
DI-56 AcDate 事故发生日期Date日期
DI-57 AcPrin事故负责人信息等于SGHeader char
(15)
负责人
DI—58 AcStuPh 受害人联系方式char(12) 学生电话DI—59AcVerify 事故就是否属实Bool核查
DI-60 ARNo事故调查编号char
(4)
编号
DI—61 ARName 事故调查名称char(15)调查DI-62 ARPrin 事故调查负责人等于SGHeader char(10) 负责人DI—63 ARResult 事故调查结果Bool 结果DI-64 ACStu 事故赔偿学生信息等于StuNochar(10)学生
DI—65 ACArtical 事故赔偿物品信息char(3
0)
物品名
DI—66 ACDate事故赔偿日期Date日期
DI—67 ACPrin 事故赔偿负责单位等于SGHeader char(1
5)
负责单位
DI-68 AIOStu 要求物品出入学生等于StuNo char
(10)
学生
DI—69 AIOArtical 出入物品信息char(2
0)
物品名
DI-70 AIOPrin出入物品审查人等于WorNochar(10)负责人DI-71 AIODate 出入物品日期Date 日期DI-72 AIONo物品出入序号Int 序号
(b)数据结构:
表1、2数据结构列表
数据结构编号数据结构名
数据结构
含义
组成
DS-1 Student 宿舍学生信息StuNo,DepName,StuName,StuSex,StuHome,
StuBorth,StuETime,StuPerfect,StuCl ass
DS—2 Worker宿舍楼工作人员信息WorTime,WorName,WorType, WorWage,WorSex,WorPhNo,WorNo
DS-3Room 宿舍信息RNo,RHeader,ROne, RClass,
数据结构编号数据结构名
数据结构
含义
组成
RThree,RFour,RFive,RSix,RGrade,
RDepart,RPerfect,RTwo,
DS—4 Dormitory 宿舍楼信息DorNo,DorCampus,DorPhNo DorLocation,DorAdminist
DS—5 SafeGuard 宿舍保卫处信息SGName,SGWorNum,SGHeader,SGPhone
DS-6 Fitment 宿舍物品配备信息FitName,FitPrice,FitNum
DS-7 FitmentDestruc
tion
宿舍物品损坏信息
FDFitment,FDStudent,FDRoom,FDF
itNum
DS-8 Fitmentpensate宿舍损坏物品赔偿信
息
FpFit,FpStu,FpPrin,
FpDate,FpNum
DS—9 Accident 宿舍事故注册信息AcNo,AcType,AcStu,AcDate, AcArtical,AcVerify,AcPrin,
AcArNum,AcStuPh
DS—10 AccidentResear
ch
宿舍事故调查信息
ARNo,ARName,ARPrin,ARResult
DS—11 Accidentpensate 事故损失物品赔偿信
息
ACStu,ACArtical,ACDate,ACPrin
DS—12ArticalInOut 宿舍楼物品出入信息
AIOStu,AIOArtical,AIOPrin,AIO
Date,AIONo
(5)处理逻辑描述(判定表或判定树)
表1、3处理逻辑列表
要查询得内容,确定查询数据流向;最后显示查询结果。
判断用户修改要涉及得模块,同时把相应得修改数据传到相应得模块之中宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先确定更新所涉及得功能模块;然后,把更新信息传送到相应得模块中;最后,进行相应得更新操作。
2、概念设计阶段
2、1 引言
概念设计阶段主要就是将需求分析阶段得到得用户需求抽象为信息结构(概念模型)得过程,它就是整个数据库设计得关键,包括概念模型设计与新系统流程两个阶段.
2、2概念模型设计
(1)根据不同得对象,从第3层数据流程图(中层数据流程图)入手,分别画出分E—R图:
(a)从数据流程图图2、4与图2、5抽象出得分E-R图:
图3、1 分E-R图1
图3、2分E-R图2
图3、3分E-R图3
(b)从数据流程图图2、6与图2、8 抽象出得分E-R图:
图3、4 分E—R图4
(c)从数据流程图图2、7 抽象出得分E-R图:
图3、5 分E—R图5
(2)各分E-R图中每个实体得属性如下所示:
学生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,
StuPerfect,StuClass);
ﻩ宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSi
x,
RGrade,RDepart,RPerfect,RTwo);
ﻩ宿舍楼:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdmini st);
ﻩ宿舍物品:Fitment(FitName,FitPrice,FitNum);
ﻩ楼道工作人员:Worker(WorNo,WorName,WorType,WorWage,WorSex,
WorPhNo,WorTime);
保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);
各分E-R图中联系得属性如下所示:
物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);
宿舍物品处理:包含物品损坏与物品赔偿两个数据结构(将在逻辑设计阶段给出);
事故:包含宿舍事故注册、宿舍事故调查、事故损失物品赔偿三个数据结构(具体得结构将
在系统逻辑设计阶段给出)。
(注:为了节省篇幅,实体与属性得关系没有用图形表示,实体得标识码用下划线划出.)
(3)合并各分E—R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R 图,
再消除不必要冗余,得到得基本E-R图如下所示:
2、3 新系统流程
新系统流程图:
3.逻辑设计阶段
3、1逻辑设计得任务与目标
以上得概念设计阶段就是独立于任何一种数据模型得,但就是逻辑设计阶段就与选用得DBMS产品发生关系了,系统逻辑设计得任务就就是将概念设计阶段设计好得基本E-R 图转换为选用DBMS产品所支持得数据模型相符合得逻辑结构。
具体内容包括数据组织(将E—R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务
3、2数据组织
3。
2。
1将E—R图转换为关系模型
由于宿舍楼与楼道工人得联系方式就是1:n(一对多),可以将其之间得联系与n端实体楼道工人合并,宿舍楼与宿舍之间得联系、宿舍与学生之间得联系方式也就是1:n,同样也将其之间得联系与n端实体宿舍、学生合并,而宿舍物品与学生、学生与楼道工作人员之间得联系方式则就是n:m(多对多),这样要把它们之间得联系转化为独立得关系模
式,保卫处与学生之间得联系就是1:n(一对多),但就是它们之间得联系事故则包含数据结构,为了便于模型优化,将其联系也转化成独立得关系模式,具体得基本E-R图向关系模型得转化如下:
楼道工人:Worker(WorNo,WorName,WorType,WorWage,WorSex,
WorPhNo,WorTime,DorNo,DorCampus,DorLocation);
宿舍楼:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RS
ix,
RGrade,RDepart,RPerfect,RTwo,DorNo,DorCampus,DorLocation);
宿舍物品:Fitment(FitName,FitPrice,FitNum,DorNo,DorCampus,DorLoc ation);
学生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,S
tuETime,
StuPerfect,StuClass,RNo, DorNo,DorCampus,DorLocation);
保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);
物品出入:ArticalInOut(AIONo,StuNo,AIOArtical,AIOPrin,AIODate,DorNo,
ﻩﻩDorCampus,DorLocation);
宿舍物品处理包含两个数据结构(宿舍物品损坏信息,宿舍物品损坏赔偿信息),基于表得各个属性都就是原子项得考虑,现将宿舍物品处理分解为:宿舍物品损坏、宿舍损坏物品赔偿,具体如下:
宿舍物品损坏:FitmentDestruction(FitName,StuNo,RNo,FDFitNum, DorNo,
DorCampus,DorLocation);(消除命名冲突)
宿舍物品损坏赔偿:Fitmentpensate(FitName,StuNo,FCPrin,FpDate,ﻩﻩﻩﻩﻩFpNum);(消除命名冲突)
宿舍事故包含三个数据结构(宿舍事故注册信息、宿舍事故调查信息、宿舍事故损失物
品赔偿信息),同样基于表得原子性得考虑也将事故分解为:事故注册、事故调查、
事故赔偿,具体如下:
事故注册:Accident(AcNo,AcType,StuNo,AcDate,AcArtical,Ac
Verify,SGName,
AcArNum,AcStuPh);
事故调查:AccidentResearch(AcNo,ARName,SGName,ARResult);
事故赔偿:Accidentpensate(AcNo,ACStu,AcArtical,ACDate,SGName);
(注:标有直线下划线得为主属性,标有波浪线下划线得就是外键属性,主属性与外键属性一起构成主码)
3.2.2模型优化
关系模式Worker,Dormitory,Fitment,SafeGuard,ArticalInOut,FitmentDestruction,Fitmentpensate,Accident,AccidentResearch,Accid entpensate不存在非主属性对主属性得部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但就是宿舍关系模式(Room)中存在着一些不应该有得数据冗余,现将模型优化为:
Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);虽然Room中还存在一些数据冗余,但可以提高查询效率。
3.2.3数据库模式定义
表2、1数据库模式定义表
编号逻辑结构(基本表)定义完整性与安全性
T-1Worker(详见附录1-1)(详见附录1-1)
T-2 Dormitory(详见附录1-2) (详见附录1-2)
T-3 Room(详见附录1-3)(详见附录1-3)
T-4Fitment(详见附录1-4)(详见附录1—4)
T-5 Student(详见附录1-5)(详见附录1-5)
T-6SafeGuard(详见附录1-6) (详见附录1-6)
T-7 ArticalInOut(详见附录1-7)(详见附录1-7)
T-8 FitmentDestruction(详见附录1-8)(详见附录1—8)
T-9Fitmentpensate(详见附录1-9)(详见附录1-9)
T-10 Accident(详见附录1—10)(详见附录1-10)
T-11 AccidentResearch(详见附录1-11) (详见附录1—11)
T—12 Accidentpensate(详见附录1-12) (详见附录1-12)
3。
2.4用户子模式设计
表2、2 用户子模式设计(View)列表
作用(共性:提供数据保密与安全保护机制)
编号用户子模式(Vi
ew)
V-1WorView 便于查询与修改楼道工人得基本信息
V-2 DormView 方便宿舍楼得基本信息得查询、更新
V-3 RoomView 以便于宿舍得基本信息得查询与更新
V—4FitView 用于宿舍楼配备物品得基本信息得查询
V-5 StuView 便于查询与更改学生得基本信息
V-6SGView 方便学生查询宿舍保卫处得基本信息
V-7 ArIOView以便于物品出入得管理与信息得查询、更改
V-8FDView 便于宿舍物品损坏得得登记及处理与信息得查询
编号用户子模式(Vi
作用(共性:提供数据保密与安全保护机制)
ew)
V-9 FCView 查询损坏物品赔偿得基本信息,便于宿舍物品得管理
V-10 AccView 方便学生事故得注册及保卫人员对事故注册得查询
V-11 ARView 便于学生查询宿舍事故调查得基本信息
V-12ACView方便宿舍事故赔偿得信息查询与更新
3、3数据处理
系统功能模块图:
4.物理设计阶段
4、1物理设计阶段得目标与任务
ﻩ数据库得物理设计就就是为逻辑数据模型选取一个最合适应用要求得物理结构得过程,在这个阶段中要完成两大任务:
(1)确定数据库得物理结构,在关系数据库中主要就是存取方法与存储结构;
(2)对物理结构进行评价,评价得重点就是时间与空间效率。
4、2数据存储方面
ﻩ为数据库中各基本表建立得索引如下:
1.由于基本表Room,Student得主码RNo,StuNo经常在查询条件与连接操作
得连接条件中出现,且它们得值唯一,考虑在两个属性上建立唯一性索引;
2.Dormitory得主码DorNo,DorCampus,DorLocation经常在查询条件中
出现,且它们得组合值唯一,考虑在它们之上建立组合索引;
3.基本表Student得一属性StuName,经常在查询条件中出现,且经常出现在相
等得比较条件中,考虑在其之上建立聚簇索引;
4.基本表Fitment、SafeGuard得属性值几乎不会有什么变化,更新率很低,可
考虑适当建立索引;
5.基本表Worker,ArticalInOut,FitmentDestruction,Fitmentpensate,
Accident,AccidentResearch,Accidentpensate得属性值经常发生变化,
权衡系统为维护索引付出得代价,可考虑不建立索引,也可以适当建立索引。
4、3系统功能模块
4。
3。
1 楼道工人基本得信息查询与更新模块
ﻩ将实现对楼道工人基本信息得查询与更新(修改、插入、删除)操作,方便于楼道工人得任用与更换,具体得功能模块图如下:
图4、2 楼道工人基本信息得查询、更新功能模块图
(注:表示系统给用户得信息,以下与此相同)
4.3。
2 宿舍楼基本信息得查询与更新模块
ﻩ将完成对宿舍楼基本信息得查询、更新(修改、插入、删除)操作,便于宿舍得集中管理,具体得功能模块图如下所示:
图4、3 宿舍楼基本信息得查询、更新功能模块图
4。
3。
3宿舍基本信息得查询与更新模块
ﻩ将达到对宿舍基本信息得查询、更新(修改、插入、删除)操作得目得,具体得功能模块图如下所示:
图4、4 宿舍基本信息得查询、更新功能模块图
4.3.4 学生基本信息得查询与更新模块
将完成对学生基本信息得查询与插入、删除、修改等更新操作,具体得功能模块如下所示:
图4、5宿舍学生基本信息得查询、更新功能模块图
4.3.5 宿舍物品得查询与更新模块
ﻩ将实现对宿舍物品基本信息得查询、插入、删除、修改等操作,以方便于宿舍物品得配备,具体得功能模块图如下:
图4、6宿舍物品基本信息得查询、更新功能模块图
4.3.6宿舍事故得查询与更新模块
ﻩ将实现对宿舍事故得插入与更新操作,方便宿舍事故得快速处理,及时了解事故处理得结果,具体得功能模块图如下:
图4、7 宿舍事故基本信息得查询、更新功能模块图
4。
3.7 宿舍物品处理得查询与更新模块
ﻩ将完成对宿舍物品处理基本信息得查询、插入、删除、修改等操作,方便于宿舍物品得处理,具体得功能模块图如下所示:
图4、8宿舍物品处理基本信息得查询、更新功能模块图
4。
3.8 宿舍保卫处基本信息得查询与更新模块
ﻩ将实现对宿舍保卫处基本信息得查询与更新(包括更改、插入、删除)操作,方便于宿舍意外事故得处理,具体得功能模块图如下:
图4、9 宿舍楼保卫处基本信息得查询、更新功能模块图
5。
数据库实施阶段
5、1建立数据库、数据表、视图、索引
5.1。
1 建立数据库
ﻩcreate databaseStudent_Dormitory_Management;
5.1。
2建立数据表
(1)楼道工人基本信息表得建立:
create table Worker(
WorNo char(5)ﻩnot nullunique,
WorName char(10) ﻩnot null,
WorTypechar(8)ﻩnot null,
WorWage intﻩnot null,
WorSex char(2)notnull,
WorPhNo char(12)null,
WorTime char(30)ﻩnull,
DorNo smallintﻩnot null,
DorCampus char(4)not null,
DorLocation char(4)not null,
primary key(WorNo),
foreign key(DorNo, DorCampus, DorLocation) referen ces ﻩﻩDormitory(DorNo,DorCampus,DorLo
cation),
check(WorWage >= 0),
check(WorSex = ‘男’ or WorSex = ‘女’));
(2)宿舍楼基本信息表得建立:
createtable Dormitory(
DorNo smallintﻩnotnull,
DorCampuschar(4) ﻩnotnull,
DorLocation char(4)ﻩnot null,
DorPhNo char(12)ﻩnull,
DorAdminist char(10) ﻩnull,
primary key(DorNo,DorCampus,DorLocation),
check(DorNo>0and DorNo<100));
(3)宿舍基本信息表得建立:
create table Room(
RNo char(6)ﻩnot null unique,
RHeader char(10)null,
RGrade char(4)ﻩnot null,
RDepart char(20) ﻩnot null,
RPerfect char(20) ﻩnot null,
DorNosmallintﻩnotnull,
DorCampuschar(4)not null,
DorLocation char(4)ﻩnot null,
primarykey(RNo),
foreign key(DorNo, DorCampus, DorLocation) references
ﻩﻩﻩDormitory(DorNo,DorCampus,DorLocation));(4)宿舍楼配备物品基本信息表得建立:
create table Fitment(
FitNamechar(16)ﻩnotnullunique,
FitPricefloatnotnull,
FitNum intﻩﻩnot null,
DorNo smallint notnull,
DorCampus char(4)not null,
DorLocationchar(4)notnull,
primary key(FitName),
foreign key(DorNo, DorCampus, DorLocation)referenc es
ﻩﻩﻩﻩDormitory(DorNo,DorCampus,DorLocation));
(5)宿舍学生基本信息表得建立:
create table Student(
ﻩStuNochar(9) ﻩnotnull unique,
ﻩDepNamechar(20)ﻩ not null,
StuNamechar(10)ﻩﻩnot null,
StuSexchar(2)ﻩnotnull,
ﻩStuHomechar(10)ﻩﻩnot null,
ﻩStuBorth Datetimeﻩnot null,
StuETimeDatetimeﻩnotnull,
ﻩStuPerfect char(20)notnull,
StuClass intﻩnot null,
ﻩﻩRNo char(6)ﻩﻩnot null,
DorNosmallintﻩnot null,
ﻩDorCampus char(4) not null,
DorLocationchar(4)ﻩnotnull,
ﻩprimary key(StuNo),
ﻩﻩforeign key(RNo)references Room(RNo),
foreign key(DorNo, DorCampus,DorLocation)references
ﻩﻩﻩﻩDormitory(DorNo,DorCampus,DorLocation), ﻩcheck(StuClass>0 and StuClass〈=10));
(6)宿舍保卫处基本信息表得建立:
create table SafeGuard(
ﻩSGName char(15)not null unique,
ﻩSGWorNumint ﻩﻩnot null,
ﻩSGHeader char(10)ﻩnot null,
ﻩﻩSGPhone char(12)ﻩnull,
primarykey(SGName),
ﻩcheck(SGWorNum>0));
(7)宿舍楼物品出入基本信息表得建立:
createtable ArticalInOut(
StuNo char(9)ﻩﻩnotnull,
ﻩﻩAIOArtical char(16)ﻩnull,
ﻩAIOPrinchar(9)ﻩﻩnotnull,
AIODate datetime notnull,
AIONo int ﻩﻩﻩnotnullunique,
DorNo smallintnotnull,
DorCampus char(4)notnull,
DorLocationchar(4)notnull,
primary key(AIONo,AIODate),
foreignkey(StuNo)references Student(StuNo),
foreign key(AIOPrin) referencesWorker(WorNo),
foreign key(DorNo,DorCampus,DorLocation) references
Dormitory(DorNo,DorCampus,DorLocation), check(AIONo >0));
(8)宿舍配备物品损坏基本信息表得建立:
create tableFitmentDestruction(
ﻩFitName char(16)ﻩnotnullunique,
ﻩStuNo char(9)ﻩnot null,
RNochar(6)ﻩﻩ not null,
FDFitNum intﻩﻩnot null,
DorNo smallint not null,
DorCampus char(4)ﻩnot null,
DorLocationchar(4)ﻩnot null,
foreign key(DorNo,DorCampus,DorLocation)reference
s
ﻩﻩDormitory(DorNo,DorCampus,DorLocation),
foreign key(FitName)references Fitment(FitName),
foreign key(StuNo) references Student(StuNo),ﻩforeignkey(RNo)referencesRoom(RNo),
ﻩcheck(FDFitNum 〉=0));
(9)宿舍损坏配备物品赔偿基本信息表得建立:
createtable Fitmentpensate(
FitName char(16) not null,
StuNo char(9)ﻩﻩ not null,
FCPrinchar(15) ﻩnot null,
FpDate Datetimeﻩnotnull,
ﻩﻩFpNum int ﻩﻩnot null,
ﻩﻩforeignkey(FitName)references Fitment(FitName),
ﻩﻩforeignkey(StuNo)referencesStudent(StuNo),
ﻩforeign key(FCPrin)references SafeGuard(SGName), check(FpNum 〉=0));
(10)宿舍事故注册基本信息表得建立:
create table Accident(
ﻩAcNointﻩﻩnotnull unique,
ﻩAcType char(10)ﻩﻩnot null,
ﻩStuNo char(9) ﻩﻩnot null,
ﻩﻩAcDatedatetime not null,
ﻩﻩAcArtical char(30)ﻩnot null,
AcVerifybool null,
ﻩﻩSGName char(15)notnull,
ﻩAcArNum int ﻩﻩnot null,
ﻩﻩAcStuPh char(12)ﻩnot null,
ﻩprimary key(AcNo,AcDate),
ﻩforeignkey(StuNo)references Student(StuNo),
ﻩforeign key(SGName) references SafeGuard(SGName),
ﻩcheck(AcArNum>0),);
(11)宿舍事故调查基本信息表得建立:
create table AccidentResearch(
AcNoint ﻩﻩnot null,
ﻩARNamechar(15)ﻩnotnull,
SGName char(15) notnull,
ﻩARResult boolﻩﻩnot null,
ﻩprimary key(SGName),
foreign key(AcNo)references Accident(AcNo),
ﻩﻩforeign key(SGName)referencesSafeGuard(SGName),);
(12)宿舍事故赔偿基本信息表得建立:
create table AccidentCopensate(
ﻩﻩAcNo int ﻩnotnull,
ﻩﻩACStu char(9)ﻩﻩﻩnotnull,
ﻩAcArtical char(30)ﻩnotnull,
ﻩAcDate Datetimeﻩﻩnot null,
ﻩSGName char(15) not null,
ﻩﻩforeign key(AcNo) references Accident(AcNo),
ﻩﻩforeignkey(ACStu)referencesStudent(StuNo),
foreignkey(SGName)references SafeGuard(SGName));
5.1。
3 建立视图
ﻩ(1)用于查询与更新楼道工人基本信息得视图定义如下:
createview WorView(编号,姓名,工作类型,工资,性别,联系方式,ﻩﻩﻩﻩﻩ工作时间,宿舍楼编号,校区,区位)
ﻩﻩﻩas
ﻩﻩ select *ﻩ
ﻩﻩfrom Worker
ﻩwith checkoption;
ﻩ(2)方便于宿舍楼基本信息查询、更新得视图定义如下:
ﻩﻩcreateview DormView(宿舍楼编号,校区,区位,楼管处电话,楼管) ﻩas
ﻩﻩﻩselect *
ﻩﻩfrom dormitory
ﻩﻩ withcheckoption;
(3)显示宿舍基本信息得视图定义如下:
ﻩﻩcreate viewRoomView (宿舍编号,舍长,年级,学院,专业,宿舍楼编号,
ﻩﻩﻩﻩﻩﻩ校区,区位)
ﻩﻩ as
ﻩﻩselect*
ﻩﻩfromRoom
ﻩﻩwith check option;
(4)可用于宿舍楼配备物品基本信息查询、更新得视图定义如下:
ﻩcreate view FitView(物品名,价格,数量,宿舍楼编号,校区,区位)
ﻩﻩﻩas
ﻩﻩselect *
ﻩﻩfrom Fitment
ﻩﻩwith check option;
(5)用于查询与更新学生基本信息得视图定义如下:
ﻩﻩﻩcreateview StuView(学号,学院,姓名,性别,祖籍,出生日期,入学时间, ﻩﻩﻩ专业,班级,宿舍编号,宿舍楼编号,校区,区位)
ﻩas
ﻩﻩﻩﻩselect *
ﻩﻩﻩfrom Student
ﻩﻩﻩwithcheck option;
(6)显示宿舍保卫处基本信息得视图定义如下:
ﻩﻩﻩcreate viewSGView (名称,人员数目,负责人,电话)
ﻩﻩﻩas
ﻩﻩselect *
ﻩfrom SafeGuard
with check option;
ﻩ(7)以便于物品出入管理与出入物品信息查询、更新得视图定义如下:
ﻩcreateview ArIOView (学号,出入物品,负责人,日期,序号,宿舍楼编号,ﻩﻩ校区,区位)
as
ﻩﻩ select *
ﻩﻩfrom ArticalInOut
ﻩﻩﻩﻩwith check option;
(8)便于宿舍配备物品损坏登记及损坏宿舍物品查询得视图定义如下:
ﻩﻩcreate viewFDView (物品名,学号,宿舍号,损坏数量,宿舍楼编号,校区, ﻩﻩﻩﻩﻩﻩ区位)
ﻩﻩﻩas
ﻩﻩﻩselect *
ﻩﻩ from FitmentDestruction
ﻩwith check option;
ﻩ(9)用于查询损坏物品赔偿基本信息,便于宿舍物品管理得视图定义如下:create viewFCView (物品名,学号,负责人,日期,赔偿数量)
ﻩﻩﻩas
ﻩselect *
ﻩﻩfrom Fitmentpensate
ﻩﻩwithcheckoption;
ﻩ(10)方便学生事故得注册及保卫人员对事故注册查询得视图定义如下:
ﻩﻩﻩcreate view AccView(编号,事故类型,学号,日期,损失物品,属实, ﻩﻩﻩ负责单位,损失数量,学生联系方式)
ﻩas
ﻩselect*
ﻩﻩﻩﻩfrom Accident
ﻩwith check option;
ﻩ(11)便于宿舍以外事故调查得视图定义如下:
create view ARView(编号,调查名称,负责单位,调查结果)
ﻩas
ﻩﻩﻩﻩselect *
ﻩfrom AccidentResearch
ﻩﻩﻩwith check option;
(12)方便宿舍事故赔偿信息查询与更改得视图定义如下:
ﻩﻩcreate viewACView (编号,学号,赔偿物品,日期,负责单位)
ﻩﻩas
ﻩﻩselect *
ﻩﻩﻩfromAccidentpensate
ﻩﻩwithcheck option;
5。
1。
4建立索引
ﻩcreateunique index StudentNo on Student(StuNo);
ﻩcreate unique index RoomNo on Room(RNo);
createunique indexDormitoryNo_Campus_Location
on Dormitory(DorNo desc,DorCampus,DorLocation);
ﻩcreate clusterindex StudentName on Student(StuName);。