学生宿舍管理系统数据库设计.docx
《学生宿舍管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理系统数据库设计.docx(29页珍藏版)》请在冰豆网上搜索。
学生宿舍管理系统数据库设计
学生宿舍管理系统数据库设计
1需求简介
1.1功能
1.宿舍楼基本信息查询与修改;
2.学生基本信息查询与更新;
3.每一幢宿舍楼中宿舍信息的查询与信息更新;
4.宿舍保卫处基本信息的查询和修改;
5.宿舍事故基本信息及事故处理信息的查询和修改;
6.宿舍楼物品出入审批及记录;
1.2数据
1.宿舍楼基本信息(Dormitory):
包括宿舍楼编号、宿舍楼所在校区、宿舍楼在校区中区域、每一幢宿舍楼楼管处的电话、宿舍楼楼管员信息等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率;
2.学生基本信息(Student):
包括学生编号、学生所在学院信息、学生姓名、学生性别、学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级等方面的信息,可以方便学生信息的查询和更新;
3.宿舍基本信息(Room,Fitment,FitmentDestruction,FitmentCompensate):
宿舍基本信息包括四个数据结构(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品损坏信息(FitmentDestruction),宿舍损坏物品赔偿信息),每个数据结构中的数据项见数据字典;
4.楼道工作人员基本信息(Worker):
包括工作人员编号、工作人员姓名、工作类型、工资、性别、联系方式、工作时间等数据项,可以方便管理人员对宿舍楼道工人的任用、信息查询及更改;
5.宿舍保卫处基本信息(SafeGuard):
包括保卫处名称、人员数目、负责人信息、联系电话等四方面的信息;
6.宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):
事故信息包括三个数据结构(事故信息、事故处理信息、事故赔偿信息),具体的数据项见数据字典;
7.物品出入基本信息(ArticalInOut):
包括出入物品的学生信息、出入的物品信息、出入物品时的负责人信息、出入物品时间,尽量减少宿舍事故的发生,保障学生宿舍财产的安全。
1.3数据字典
数据项列表
数据项编号
数据项名
数据项含义
与其它数据项的关系
存储结构
别名
DI-1
StuNo
学生编号
char(9)
学号
DI-2
DepName
学生所在学院
char(20)
学院
DI-3
StuName
学生姓名
char(10)
姓名
DI-4
StuSex
学生性别
char
(2)
性别
DI-5
StuHome
学生来自省份
char(10)
祖籍
DI-6
StuBorth
学生出生时间
Date
出生日期
DI-7
StuETime
学生入学时间
Date
入学时间
DI-8
StuPerfect
学生所在专业
char(20)
专业
DI-9
StuClass
学生所在班级编号
Int
编号
DI-10
WorNo
工作人员编号
char(5)
编号
DI-11
WorName
工作人员姓名
char(10)
姓名
DI-12
WorType
工作类型
char(8)
工作类型
DI-13
WorWage
工作人员工资
Int
月工资
DI-14
WorSex
工作人员性别
char
(2)
性别
DI-15
WorPhNo
工作人员联系方式
char(12)
电话
DI-16
WorTime
工作人员工作时间
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(10)
舍员3
DI-22
RFour
宿舍学生信息
同上
char(10)
舍员4
DI-23
RFive
宿舍学生信息
同上
char(10)
舍员5
DI-24
RSix
宿舍学生信息
同上
char(10)
舍员6
DI-25
RGrade
宿舍学生所属年级
等于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-30
DorCampus
宿舍楼所属校区
char(4)
校区
DI-31
DorLocation
宿舍楼在校区位置
char(4)
宿舍区位
DI-32
DorPhNo
宿舍楼管处电话
char(12)
电话
DI-33
DorAdminist
宿舍楼楼管员信息
等于WorNo
char(10)
楼管员
DI-34
SGName
保卫处名称
char(15)
名字
DI-35
SGWorNum
保卫处人员总数
Int
人员数目
DI-36
SGHeader
保卫处负责人信息
char(10)
负责人
DI-37
SGPhone
保卫处电话
char(12)
电话
DI-38
FitName
宿舍物品名称
char(16)
宿舍物品
DI-39
FitPrice
宿舍物品价格
Float
价格
DI-40
FitNum
每一种宿舍的数量
Int
数量
DI-41
FDFitment
损坏物品信息
等于FitName
char(16)
物品名
DI-42
FDStudent
损坏的学生信息
等于StuNo
char(9)
学生
DI-43
FDRoom
损坏物品宿舍信息
等于RNo
char(6)
舍号
DI-44
FDFitNum
损坏物品的数量
Int
数量
DI-45
FCompFit
赔偿物品信息
等于FitName
char(16)
物品名
DI-46
FCompStu
需赔偿学生信息
等于StuNo
char(9)
学生
DI-47
FCompMon
赔偿价格
Float
赔偿价格
DI-48
FCompPrin
赔偿负责人信息
等于WorNo
char(10)
负责人
DI-49
FCompDate
赔偿日期
Date
日期
DI-50
FCompNum
赔偿物品数量
Int
数量
DI-51
AcNo
事故编号
int
编号
DI-52
AcType
事故类型
char(10)
类型
DI-53
AcArtical
事故损失物品
char(30)
物品名
DI-54
AcArNum
事故损失物品数量
Int
数量
DI-55
AcStu
事故受害学生
等于StuNo
char(9)
学生
DI-56
AcDate
事故发生日期
Date
日期
DI-57
AcPrin
事故负责人信息
等于SGHeader
char(15)
负责人
DI-58
AcStuPh
受害人联系方式
char(12)
学生电话
DI-59
AcVerify
事故是否属实
Bool
核查
DI-60
ARNo
事故调查编号
char(4)
编号
DI-61
ARName
事故调查名称
char(15)
调查
DI-62
ARPrin
事故调查负责人
等于SGHeader
char(10)
负责人
DI-63
ARResult
事故调查结果
Bool
结果
DI-64
ACStu
事故赔偿学生信息
等于StuNo
char(10)
学生
DI-65
ACArtical
事故赔偿物品信息
char(30)
物品名
DI-66
ACDate
事故赔偿日期
Date
日期
DI-67
ACPrin
事故赔偿负责单位
等于SGHeader
char(15)
负责单位
DI-68
AIOStu
要求物品出入学生
等于StuNo
char(10)
学生
DI-69
AIOArtical
出入物品信息
char(20)
物品名
DI-70
AIOPrin
出入物品审查人
等于WorNo
char(10)
负责人
DI-71
AIODate
出入物品日期
Date
日期
DI-72
AIONo
物品出入序号
Int
序号
数据结构列表
数据结
构编号
数据结构名
数据结构
含义
组成
DS-1
Student
宿舍学生信息
StuNo,DepName,StuName,StuSex,StuHome,
StuBorth,StuETime,StuPerfect,StuClass
DS-2
Worker
宿舍楼工作人员信息
WorTime,WorName,WorType,
WorWage,WorSex,WorPhNo,WorNo
DS-3
Room
宿舍信息
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
FitmentDestruction
宿舍物品损坏信息
FDFitment,FDStudent,FDRoom,FDFitNum
DS-8
FitmentCompensate
宿舍损坏物品赔偿信息
FCompFit,FCompStu,FCompPrin,
FCompDate,FCompNum
DS-9
Accident
宿舍事故注册信息
AcNo,AcType,AcStu,AcDate,
AcArtical,AcVerify,AcPrin,
AcArNum,AcStuPh
DS-10
AccidentResearch
宿舍事故调查信息
ARNo,ARName,ARPrin,ARResult
DS-11
AccidentCompensate
事故损失物品赔偿信息
ACStu,ACArtical,ACDate,ACPrin
DS-12
ArticalInOut
宿舍楼物品出入信息
AIOStu,AIOArtical,AIOPrin,AIODate,AIONo
2概念结构设计
2.1绘制局部ER图
学生宿舍入住分ER图:
宿舍物品管理分ER图1:
宿舍物品管理分ER图2:
出入物品管理分ER图:
事故管理分ER图:
各分E-R图中每个实体的属性如下所示:
学生:
Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClass);
宿舍:
Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,
RGrade,RDepart,RPerfect,RTwo);
宿舍楼:
Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);
宿舍物品:
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);
宿舍物品处理:
包含物品损坏和物品赔偿两个数据结构(将在逻辑设计阶段给出);
事故:
包含宿舍事故注册、宿舍事故调查、事故损失物品赔偿三个数据结构(具体的结构将在系统逻辑设计阶段给出)。
2.2ER图合并
3逻辑结构设计
3.1将E-R图转换为关系模型
基本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,RSix,RGrade,RDepart,
RPerfect,RTwo,DorNo,DorCampus,DorLocation);
宿舍物品:
Fitment(FitName,FitPrice,FitNum,DorNo,DorCampus,DorLocation);
学生:
Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,
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);(消除命名冲突)
宿舍物品损坏赔偿:
FitmentCompensate(FitName,StuNo,FCPrin,FCompDate,
FCompNum);(消除命名冲突)
宿舍事故包含三个数据结构(宿舍事故注册信息、宿舍事故调查信息、宿舍事故损失物品赔偿信息),同样基于表的原子性的考虑也将事故分解为:
事故注册、事故调查、
事故赔偿,具体如下:
事故注册:
Accident(AcNo,AcType,StuNo,AcDate,AcArtical,AcVerify,SGName,
AcArNum,AcStuPh);
事故调查:
AccidentResearch(AcNo,ARName,SGName,ARResult);
事故赔偿:
AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);
(注:
标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)
3.2关系模式优化
关系模式Worker,Dormitory,Fitment,SafeGuard,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是宿舍关系模式(Room)中存在着一些不应该有的数据冗余,现将模型优化为:
Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);虽然Room中还存在一些数据冗余,但可以提高查询效率。
3.3数据库模式设计
DBMS选择的SQLSERVER2005,根据该系统特点设计数据库的模式如下。
1.楼道工人(Worker)基本信息表,用于记录楼道工人的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
WorNo
char(5)
00000~99999
是
Notnull
WorName
char(10)
否
Notnull
WorType
char(8)
否
Notnull
WorWage
Int
大于500(元/月)
否
Notnull
WorSex
char
(2)
男、女
否
Notnull
WorPhNo
char(12)
否
Null
WorTime
char(30)
否
Null
DorNo
smallint
00~99
是
Notnull
DorCampus
char(4)
四面八方其中之一
是
Notnull
DorLocation
char(4)
四面八方其中之一
是
Notnull
2.宿舍楼(Dormitory)基本信息表,用于记录宿舍楼的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
DorNo
smallint
00~99
是
Notnull
DorCampus
char(4)
四面八方其中之一
是
Notnull
DorLocation
char(4)
四面八方其中之一
是
Notnull
DorPhNo
char(12)
否
Null
DorAdminist
char(10)
否
Null
3.宿舍(Room)基本信息表,用于记录宿舍的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
RNo
char(6)
01-001~99-999
是
Notnull
RHeader
char(10)
否
Null
RGrade
char(4)
否
Notnull
RDepart
char(20)
否
Notnull
RPerfect
char(20)
否
Notnull
DorNo
smallint
00~99
是
Notnull
DorCampus
char(4)
四面八方其中之一
是
Notnull
DorLocation
char(4)
四面八方其中之一
是
Notnull
4.宿舍楼配备物品(Fitment)基本信息表,用于记录宿舍楼配备物品的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
FitName
char(16)
是
Notnull
FitPrice
float
大于0
否
Notnull
FitNum
Int
大于0
否
Notnull
DorNo
smallint
00~99
是
Notnull
DorCampus
char(4)
四面八方其中之一
是
Notnull
DorLocation
char(4)
四面八方其中之一
是
Notnull
5.宿舍学生(Student)基本信息表,用于记录宿舍学生的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
StuNo
char(9)
00000000~999999999
是
Notnull
DepName
char(20)
否
Notnull
StuName
char(10)
否
Notnull
StuSex
char
(2)
男、女
否
Notnull
StuHome
char(10)
否
Notnull
StuBorth
datetime
否
Notnull
StuETime
datetime
否
Notnull
StuPerfect
char(20)
否
Notnull
StuClass
int
大于0小于10
否
Notnull
RNo
char(6)
01-001~99-999
是
Notnull
DorNo
smallint
00~99
是
Notnull
DorCampus
char(4)
四面八方其中之一
是
Notnull
DorLocation
char(4)
四面八方其中之一
是
Notnull
6.宿舍保卫处(SafeGuard)基本信息表,用于记录保卫处的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
SGName
char(15)
是
Notnull
SGWorNum
int
大于0
否
Notnull
SGHeader
char(10)
否
Notnull
SGPhone
char(12)
否
Null
7.宿舍楼物品出入(ArticalInOut)基本信息表,用于记录物品出入的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完整性
StuNo
char(9)
00000000~999999999
是
Notnull
AIOArtical
char(16)
否
Null
AIOPrin
char(9)
否
Notnull
AIODate
datetime
是
Notnull
AIONo
Int
大于0
是
Notnull
DorNo
smallint
00~99
是
Notnull
DorCampus
char(4)
四面八方其中之一
是
Notnull
DorLocation
char(4)
四面八方其中之一
是
Notnull
8.宿舍配备物品损坏(FitmentDestruction)基本信息表,用于记录物品损坏的基本信息:
属性名
数据类型
取值范围
是否是主属性或外键
完