1、实例4学生宿舍管理系统数据库设计实例4:学生宿舍管理系统数据库设计1. 系统需求分析阶段1.1.2 需求分析阶段的任务 (1)处理对象:系统要处理的对象包括宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息等七个方面,各个对象包括信息如下所示(详细的数据见于数据字典):1宿舍楼基本信息(Dormitory):包括 宿舍楼编号、宿舍楼所在校区、宿舍楼再校区中区域、每一幢宿舍楼楼管处的电话、宿舍楼楼管员信息等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率;2学生基本信息(Student):包括 学生编号、学生所在学院信息、
2、学生姓名、学生性别、学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级等方面的信息,可以方便学信息的查询和更新;3宿舍基本信息(Room,Fitment,FitmentDestruction,FitmentCompensate):宿舍基本信息包括四个数据结构(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品损坏信息(FitmentDestruction),宿舍损坏物品赔偿信息),每个数据结构中的数据项见数据字典;4楼道工作人员基本信息(Worker):包括 工作人员编号、工作人员姓名、工作类型、工资、性别、联系方式、工作时间等数据项,可以方便管理人员对宿舍楼道工人的
3、任用、信息查询及更改;5宿舍保卫处基本信息(SafeGuard):包括保卫处名称、人员数目、负责人信息、联系电话等四方面的信息;6宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):事故信息包括三个数据结构(事故信息、事故处理信息、事故赔偿信息),具体的数据项见数据字典;物品出入基本信息(ArticalInOut):包括出入物品的学生信息、出入的物品信息、出入物品时的负责人信息、出入物品时间,尽量减少宿舍事故的发生,保障学生宿舍财产的安全。(2)处理功能要求系统主要完成一下几个功能:1宿舍楼基本信息查询与修改;2学生基本信息查询与更新;
4、3每一幢宿舍楼中宿舍信息的查询与信息更新;4宿舍保卫处基本信息的查询和修改;5宿舍事故基本信息及事故处理信息的查询和修改;6宿舍楼物品出入审批及记录;(3)安全性和完整性要求安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,欲用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。完整性要求用于描述宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息中数据项能否为null,以及一些用户自定义完整性(符合实际要求),详细完整性要求见于系统
5、的逻辑设计阶段。1.1.3 需求分析阶段成果(1)体会与收获系统需求分析主要采取实地询问记录和楼管处查询宿舍学生信息的方式,同时借鉴学长在做数据库开发这方面的经验。通过实地调查和询问,了解目前学生宿舍管理的现状,以及目前学生宿舍管理中一些问题,并对实际查询业务实地参与,了解了学生、楼管员、宿舍管理者、宿舍保卫人员对系统的信息处理要求,以及他(她)们对现存人工管理方式不能满足信息处理要求的苦恼。同时在调查中牵涉的许多的人际交流,恰当的询问方式,由于平时几乎没有做过这方面的调查,开始时有点胆怯和不知从何入手,但过了两三幢宿舍楼之后,开始的胆怯就感觉不到了。(2)学生宿舍管理系统业务流程图新生入住宿
6、舍业务流程图: 查询业务流程图(查询宿舍学生信息、楼道工作人员信息、宿舍楼信息等):毕业生离宿业务流程图: 楼道工作人员任用业务流程图:宿舍楼物品出入业务流程图:宿舍事故处理业务流程图:(3)数据流程图顶层数据流程图:第2层数据流程图:从学生角度出发第2层数据流程图:从管理者角度出发图2.3 从管理者角度出发的2层数据流程图第3层数据流程图:从新生角度出发 第3层数据流程图:从毕业生角度出发 第3层数据流程图:从宿舍楼物品出入出发 第3层数据流程图:从宿舍事故角度出入出发 第3层数据流程图:从楼道工作人员的任用角度出发 第3层数据流程图:从管理者和外来访客的角度出发(4)数据字典(a)数据项:
7、系统涉及的数据项有71项表1.1 数据项列表数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-1StuNo学生编号char(9)学号DI-2DepName学生所在学院char(20)学院DI-3StuName学生姓名char(10)姓名DI-4StuSex学生性别char(2)性别DI-5StuHome学生来自省份char(10)祖籍DI-6StuBorth学生出生时间Date出生日期DI-7StuETime学生入学时间Date入学时间DI-8StuPerfect学生所在专业char(20)专业DI-9StuClass学生所在班级编号Int编号DI-10WorNo工作人员编号ch
8、ar(5)编号DI-11WorName工作人员姓名char(10)姓名DI-12WorType工作类型char(8)工作类型DI-13WorWage工作人员工资Int月工资DI-14WorSex工作人员性别char(2)性别DI-15WorPhNo工作人员联系方式char(12)电话DI-16WorTime工作人员工作时间char(30)工作时间DI-17RNo宿舍编号char(6)舍号DI-18RHeader舍长信息等于StuNamechar(10)舍长DI-19ROne宿舍学生信息同上char(10)舍员1DI-20RTwo宿舍学生信息同上char(10)舍员2DI-21RThree宿舍学
9、生信息同上char(10)舍员3DI-22RFour宿舍学生信息同上char(10)舍员4DI-23RFive宿舍学生信息同上char(10)舍员5DI-24RSix宿舍学生信息同上char(10)舍员6DI-25RGrade宿舍学生所属年级等于StuETimechar(4)年级DI-26RDepart宿舍学生所在学院等于DepNamechar(20)学院DI-27RPerfect宿舍学生所学专业等于StuPerfectchar(20)专业DI-28RClass学生所在班级编号等于StuClasschar(2)班级DI-29DorNo宿舍楼编号smallint宿舍楼号DI-30DorCampu
10、s宿舍楼所属校区char(4)校区DI-31DorLocation宿舍楼在校区位置char(4)宿舍区位DI-32DorPhNo宿舍楼管处电话char(12)电话DI-33DorAdminist宿舍楼楼管员信息等于WorNochar(10)楼管员DI-34SGName保卫处名称char(15)名字DI-35SGWorNum保卫处人员总数Int人员数目DI-36SGHeader保卫处负责人信息char(10)负责人DI-37SGPhone保卫处电话char(12)电话DI-38FitName宿舍物品名称char(16)宿舍物品DI-39FitPrice宿舍物品价格Float价格DI-40FitN
11、um每一种宿舍的数量Int数量DI-41FDFitment损坏物品信息等于FitNamechar(16)物品名DI-42FDStudent损坏的学生信息等于StuNochar(9)学生DI-43FDRoom损坏物品宿舍信息等于RNochar(6)舍号DI-44FDFitNum损坏物品的数量Int数量DI-45FCompFit赔偿物品信息等于FitNamechar(16)物品名DI-46FCompStu需赔偿学生信息等于StuNochar(9)学生DI-47FCompMon赔偿价格Float赔偿价格DI-48FCompPrin赔偿负责人信息等于WorNochar(10)负责人DI-49FComp
12、Date赔偿日期Date日期DI-50FCompNum赔偿物品数量Int数量DI-51AcNo事故编号int编号DI-52AcType事故类型char(10)类型DI-53AcArtical事故损失物品char(30)物品名DI-54AcArNum事故损失物品数量Int数量DI-55AcStu事故受害学生等于StuNochar(9)学生DI-56AcDate事故发生日期Date日期DI-57AcPrin事故负责人信息等于SGHeaderchar(15)负责人DI-58AcStuPh受害人联系方式char(12)学生电话DI-59AcVerify事故是否属实Bool核查DI-60ARNo事故调查
13、编号char(4)编号DI-61ARName事故调查名称char(15)调查DI-62ARPrin事故调查负责人等于SGHeaderchar(10)负责人DI-63ARResult事故调查结果Bool结果DI-64ACStu事故赔偿学生信息等于StuNochar(10)学生DI-65ACArtical事故赔偿物品信息char(30)物品名DI-66ACDate事故赔偿日期Date日期DI-67ACPrin事故赔偿负责单位等于SGHeaderchar(15)负责单位DI-68AIOStu要求物品出入学生等于StuNochar(10)学生DI-69AIOArtical出入物品信息char(20)物
14、品名DI-70AIOPrin出入物品审查人等于WorNochar(10)负责人DI-71AIODate出入物品日期Date日期DI-72AIONo物品出入序号Int序号(b)数据结构:表1.2 数据结构列表数据结构编号数据结构名数据结构含义组成DS-1Student宿舍学生信息StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClassDS-2Worker宿舍楼工作人员信息WorTime,WorName,WorType,WorWage,WorSex,WorPhNo,WorNoDS-3Room宿舍信息RNo,
15、RHeader,ROne, RClass,RThree,RFour,RFive,RSix,RGrade,RDepart,RPerfect,RTwo,DS-4Dormitory宿舍楼信息DorNo,DorCampus,DorPhNoDorLocation,DorAdministDS-5SafeGuard宿舍保卫处信息SGName,SGWorNum,SGHeader,SGPhoneDS-6Fitment宿舍物品配备信息FitName,FitPrice,FitNumDS-7FitmentDestruction宿舍物品损坏信息FDFitment,FDStudent,FDRoom,FDFitNumDS-
16、8FitmentCompensate宿舍损坏物品赔偿信息FCompFit,FCompStu,FCompPrin,FCompDate,FCompNumDS-9Accident宿舍事故注册信息AcNo,AcType, AcStu,AcDate,AcArtical,AcVerify,AcPrin,AcArNum,AcStuPhDS-10AccidentResearch宿舍事故调查信息ARNo,ARName,ARPrin,ARResultDS-11AccidentCompensate事故损失物品赔偿信息ACStu,ACArtical,ACDate,ACPrinDS-12ArticalInOut宿舍楼物
17、品出入信息AIOStu,AIOArtical,AIOPrin,AIODate,AIONo(5)处理逻辑描述(判定表或判定树)表1.3 处理逻辑列表判定条件决策判断用户查询涉及的功能模块宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块
18、、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。2. 概念设计阶段2.1 引言概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。2.2 概念模型设计(1)根据不同的对象,从第3层数据流程图(中层数据流程图)入手,分别画出分ER图:(a)从数据流程图图2.4 与图 2.5 抽象出的分ER图:图3.1 分ER图1图3.2 分ER图2图3.3 分ER图3(b)从数据流
19、程图图2.6与图2.8 抽象出的分ER图:图3.4 分ER图4(c)从数据流程图图2.7 抽象出的分ER图:图3.5 分ER图5(2)各分ER图中每个实体的属性如下所示:学生: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,DorLocatio
20、n,DorPhNo,DorAdminist); 宿舍物品:Fitment(FitName,FitPrice,FitNum); 楼道工作人员:Worker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime); 保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone); 各分ER图中联系的属性如下所示:物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);宿舍物品处理:包含物品损坏和物品赔偿两个数据结构(将在逻辑设计阶段给出);事故:包含宿舍
21、事故注册、宿舍事故调查、事故损失物品赔偿三个数据结构(具体的结构将在系统逻辑设计阶段给出)。 (注:为了节省篇幅,实体与属性的关系没有用图形表示,实体的标识码用下划线划出。)(3)合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:2.3 新系统流程 新系统流程图:3逻辑设计阶段3.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组
22、织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务3.2数据组织3.2.1将E-R图转换为关系模型由于宿舍楼与楼道工人的联系方式是1:n(一对多),可以将其之间的联系与n端实体楼道工人合并,宿舍楼与宿舍之间的联系、宿舍与学生之间的联系方式也是1:n,同样也将其之间的联系与n端实体宿舍、学生合并,而宿舍物品与学生、学生与楼道工作人员之间的联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,保卫处与学生之间的联系是1:n(一对多),但是它们之间的联系事故则包含数据结构,为了便于模型优化,将其联系也转化成独立的关系模
23、式,具体的基本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);宿舍物品:Fi
24、tment(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, DorCampu
25、s,DorLocation);宿舍物品处理包含两个数据结构(宿舍物品损坏信息,宿舍物品损坏赔偿信息),基于表的各个属性都是原子项的考虑,现将宿舍物品处理分解为:宿舍物品损坏、宿舍损坏物品赔偿,具体如下:宿舍物品损坏:FitmentDestruction(FitName,StuNo,RNo,FDFitNum, DorNo,DorCampus,DorLocation);(消除命名冲突)宿舍物品损坏赔偿:FitmentCompensate(FitName,StuNo,FCPrin,FCompDate, FCompNum);(消除命名冲突)宿舍事故包含三个数据结构(宿舍事故注册信息、宿舍事故调查信息、
26、宿舍事故损失物品赔偿信息),同样基于表的原子性的考虑也将事故分解为:事故注册、事故调查、事故赔偿,具体如下:事故注册:Accident(AcNo,AcType, StuNo,AcDate,AcArtical,AcVerify,SGName,AcArNum,AcStuPh);事故调查:AccidentResearch(AcNo,ARName,SGName,ARResult);事故赔偿:AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)3.2.2模
27、型优化关系模式Worker,Dormitory,Fitment,SafeGuard,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是宿舍关系模式(Room)中存在着一些不应该有的数据冗余,现将模型优化为:Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);虽然Room中还存在一些数据冗余,
28、但可以提高查询效率。3.2.3数据库模式定义表2.1 数据库模式定义表编号逻辑结构(基本表)定义完整性和安全性TWorker(详见附录11)(详见附录11)T2Dormitory(详见附录12)(详见附录12)T3Room(详见附录13)(详见附录13)T4Fitment(详见附录14)(详见附录14)T5Student(详见附录15)(详见附录15)T6SafeGuard(详见附录16)(详见附录16)T7ArticalInOut(详见附录17)(详见附录17)T8FitmentDestruction(详见附录18)(详见附录18)T9FitmentCompensate(详见附录19)(详见附录19)T10Accident(详见附录110)(详见附录110)T11AccidentResearch(详见附录111)(详见附录111)T12AccidentCom
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1