实例4学生宿舍管理系统数据库设计说明_第1页
实例4学生宿舍管理系统数据库设计说明_第2页
实例4学生宿舍管理系统数据库设计说明_第3页
实例4学生宿舍管理系统数据库设计说明_第4页
实例4学生宿舍管理系统数据库设计说明_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE53 / NUMPAGES53实例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学生基本信息查询与更新;3每一幢宿

4、舍楼中宿舍信息的查询与信息更新;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)数据项:系统涉与的数据项有71项表1

7、.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工作人员编号char(5)编号DI-11WorNam

8、e工作人员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宿舍学生信息同上char(10)舍员3DI-22RFo

9、ur宿舍学生信息同上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-30DorCampus宿舍楼所属校区char(4)校区DI-31Do

10、rLocation宿舍楼在校区位置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-40FitNum每一种宿舍的数量Int数量DI-41FDFitment损坏物

11、品信息等于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-49FCompDate赔偿日期Date日期DI-50FCompNum赔偿物品数

12、量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事故调查编号char(4)编号DI-61ARName事故调查名称char(1

13、5)调查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)物品名DI-70AIOPrin出入物品审查人等于WorNochar(1

14、0)负责人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,RHeader,ROne, RClass,RThree,RFour,

15、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-8FitmentCompensate宿舍损坏物品赔偿信息FCompF

16、it,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宿舍楼物品出入信息AIOStu,AIOArtical,AIOPrin,AIO

17、Date,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)从数据流程图图2.6与图2.8 抽象出的分ER图:图3.4 分ER图4(c)从

19、数据流程图图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,DorLocation,DorPhNo,DorAdminist);宿舍物品:Fitment(F

20、itName,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产品所支持的数据模型相符合的逻辑结构。具体容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出

22、系统功能模块图)两大任务3.2数据组织3.2.1将E-R图转换为关系模型由于宿舍楼与楼道工人的联系方式是1:n(一对多),可以将其之间的联系与n端实体楼道工人合并,宿舍楼与宿舍之间的联系、宿舍与学生之间的联系方式也是1:n,同样也将其之间的联系与n端实体宿舍、学生合并,而宿舍物品与学生、学生与楼道工作人员之间的联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,保卫处与学生之间的联系是1:n(一对多),但是它们之间的联系事故则包含数据结构,为了便于模型优化,将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:楼道工人:Worker(WorNo,WorN

23、ame,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,DorCampu

24、s,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);宿舍物品处理包含两个数据结构(宿舍物品损坏信息,宿舍物品损坏

25、赔偿信息),基于表的各个属性都是原子项的考虑,现将宿舍物品处理分解为:宿舍物品损坏、宿舍损坏物品赔偿,具体如下:宿舍物品损坏: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模型优化关系模式Worker,Dormitory,Fitment,SafeGuard,Arti

27、calInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是宿舍关系模式(Room)中存在着一些不应该有的数据冗余,现将模型优化为:Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);虽然Room中还存在一些数据冗余,但可以提高查询效率。3.2.3数据库模式定义表2.1 数据库模式定义表编号逻辑结构(基本表)

28、定义完整性和安全性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)T11AccidentR

29、esearch(详见附录111)(详见附录111)T12AccidentCompensate(详见附录112)(详见附录112)3.2.4用户子模式设计表2.2 用户子模式设计(View)列表编号用户子模式(View)作用(共性:提供数据和安全保护机制)V1WorView便于查询和修改楼道工人的基本信息V2DormView方便宿舍楼的基本信息的查询、更新V3RoomView以便于宿舍的基本信息的查询和更新V4FitView用于宿舍楼配备物品的基本信息的查询V5StuView便于查询和更改学生的基本信息V6SGView方便学生查询宿舍保卫处的基本信息V7ArIOView以便于物品出入的管理和信息

30、的查询、更改V8FDView便于宿舍物品损坏的的登记与处理和信息的查询V9FCView查询损坏物品赔偿的基本信息,便于宿舍物品的管理V10AccView方便学生事故的注册与保卫人员对事故注册的查询V11ARView便于学生查询宿舍事故调查的基本信息V12ACView方便宿舍事故赔偿的信息查询和更新3.3数据处理系统功能模块图:4物理设计阶段4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。4.

31、2数据存储方面为数据库中各基本表建立的索引如下:由于基本表Room,Student的主码RNo,StuNo经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引;Dormitory的主码DorNo,DorCampus,DorLocation经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引;基本表Student的一属性StuName,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引;基本表Fitment、SafeGuard的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;基本表Worker,Artical

32、InOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。4.3系统功能模块4.3.1 楼道工人基本的信息查询和更新模块将实现对楼道工人基本信息的查询和更新(修改、插入、删除)操作,方便于楼道工人的任用和更换,具体的功能模块图如下:图4.2 楼道工人基本信息的查询、更新功能模块图(注: 表示系统给用户的信息,以下与此一样)4.3.2 宿舍楼基本信息的查询和更新模块将完成对宿舍楼基本信息的查询

33、、更新(修改、插入、删除)操作,便于宿舍的集中管理,具体的功能模块图如下所示:图4.3 宿舍楼基本信息的查询、更新功能模块图4.3.3 宿舍基本信息的查询和更新模块将达到对宿舍基本信息的查询、更新(修改、插入、删除)操作的目的,具体的功能模块图如下所示:图4.4 宿舍基本信息的查询、更新功能模块图4.3.4 学生基本信息的查询和更新模块将完成对学生基本信息的查询和插入、删除、修改等更新操作,具体的功能模块如下所示:图4.5 宿舍学生基本信息的查询、更新功能模块图4.3.5 宿舍物品的查询和更新模块将实现对宿舍物品基本信息的查询、插入、删除、修改等操作,以方便于宿舍物品的配备,具体的功能模块图如

34、下:图4.6 宿舍物品基本信息的查询、更新功能模块图4.3.6 宿舍事故的查询和更新模块将实现对宿舍事故的插入和更新操作,方便宿舍事故的快速处理,与时了解事故处理的结果,具体的功能模块图如下:图4.7 宿舍事故基本信息的查询、更新功能模块图4.3.7 宿舍物品处理的查询和更新模块将完成对宿舍物品处理基本信息的查询、插入、删除、修改等操作,方便于宿舍物品的处理,具体的功能模块图如下所示:图4.8 宿舍物品处理基本信息的查询、更新功能模块图4.3.8 宿舍保卫处基本信息的查询和更新模块将实现对宿舍保卫处基本信息的查询和更新(包括更改、插入、删除)操作,方便于宿舍意外事故的处理,具体的功能模块图如下

35、:图4.9 宿舍楼保卫处基本信息的查询、更新功能模块图5数据库实施阶段5.1建立数据库、数据表、视图、索引5.1.1 建立数据库create database Student_Dormitory_Management;5.1.2 建立数据表(1)楼道工人基本信息表的建立:create table Worker(WorNo char(5) not null unique,WorName char(10) not null,WorType char(8) not null,WorWage int not null,WorSex char(2) not null,WorPhNo char(12) n

36、ull,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) references Dormitory(DorNo,DorCampus,DorLocation),check(WorWage = 0),check(WorSex = 男 or WorSex = 女);(2)宿舍楼基本信息表的建立:create table Dor

37、mitory(DorNo smallint not null,DorCampus char(4) not null,DorLocation char(4) not null,DorPhNo char(12)null,DorAdminist char(10) null,primary key(DorNo,DorCampus,DorLocation),check(DorNo0 and DorNo0 and StuClass 0);(7)宿舍楼物品出入基本信息表的建立:create table ArticalInOut(StuNo char(9)not null,AIOArtical char(16

38、)null,AIOPrin char(9)not null,AIODate datetimenot null,AIONo int not null unique,DorNo smallint not null,DorCampus char(4)not null,DorLocation char(4)not null,primary key(AIONo,AIODate),foreign key(StuNo) references Student(StuNo),foreign key(AIOPrin) references Worker(WorNo),foreign key(DorNo, DorC

39、ampus, DorLocation) references Dormitory(DorNo,DorCampus,DorLocation),check(AIONo 0);(8)宿舍配备物品损坏基本信息表的建立:create table FitmentDestruction(FitName char(16)not null unique,StuNo char(9)not null,RNo char(6)not null,FDFitNum int not null,DorNo smallint not null,DorCampus char(4)not null,DorLocation char(

40、4)not null,foreign key(DorNo, DorCampus, DorLocation) references Dormitory(DorNo,DorCampus,DorLocation),foreign key(FitName) references Fitment(FitName),foreign key(StuNo) references Student(StuNo),foreign key(RNo) references Room(RNo),check(FDFitNum = 0);(9)宿舍损坏配备物品赔偿基本信息表的建立:create table FitmentCo

41、mpensate(FitName char(16)not null,StuNo char(9)not null,FCPrin char(15)not null,FCompDate Datetimenot null,FCompNum int not null,foreign key(FitName) references Fitment(FitName),foreign key(StuNo) references Student(StuNo),foreign key(FCPrin) references SafeGuard(SGName),check(FCompNum = 0);(10)宿舍事故

42、注册基本信息表的建立:create table Accident(AcNo intnot null unique,AcType char(10)not null,StuNo char(9)not null,AcDate datetimenot null,AcArtical char(30)not null,AcVerify boolnull,SGName char(15)not null,AcArNum int not null,AcStuPh char(12)not null,primary key(AcNo,AcDate),foreign key(StuNo) references Stu

43、dent(StuNo),foreign key(SGName) references SafeGuard(SGName),check(AcArNum 0),);(11)宿舍事故调查基本信息表的建立:create table AccidentResearch(AcNo int not null,ARName char(15)not null,SGName char(15)not null,ARResult boolnot null,primary key(SGName),foreign key(AcNo) references Accident(AcNo),foreign key(SGName)

44、 references SafeGuard(SGName),);(12)宿舍事故赔偿基本信息表的建立:create table AccidentCopensate(AcNo int not null,ACStu char(9)not null,AcArtical char(30)not null,AcDate Datetimenot null,SGName char(15)not null,foreign key(AcNo) references Accident(AcNo),foreign key(ACStu) references Student(StuNo),foreign key(SG

45、Name) references SafeGuard(SGName);5.1.3 建立视图(1)用于查询和更新楼道工人基本信息的视图定义如下: create view WorView(编号,工作类型,工资,性别,联系方式,工作时间,宿舍楼编号,校区,区位)asselect *from Workerwith check option;(2)方便于宿舍楼基本信息查询、更新的视图定义如下:create view DormView (宿舍楼编号,校区,区位,楼管处,楼管)asselect *from dormitorywith check option;(3)显示宿舍基本信息的视图定义如下:creat

46、e view RoomView (宿舍编号,舍长,年级,学院,专业,宿舍楼编号, 校区,区位)asselect *from Roomwith check option;(4)可用于宿舍楼配备物品基本信息查询、更新的视图定义如下:create view FitView (物品名,价格,数量,宿舍楼编号, 校区,区位)asselect *from Fitmentwith check option;(5)用于查询和更新学生基本信息的视图定义如下:create view StuView (学号,学院,性别,祖籍,出生日期,入学时间,专业,班级,宿舍编号, 宿舍楼编号,校区,区位)asselect *f

47、rom Studentwith check option;(6)显示宿舍保卫处基本信息的视图定义如下:create view SGView (名称,人员数目,负责人,)asselect *from SafeGuardwith check option;(7)以便于物品出入管理和出入物品信息查询、更新的视图定义如下:create view ArIOView (学号,出入物品,负责人,日期,序号,宿舍楼编号,校区,区位)asselect *from ArticalInOutwith check option;(8)便于宿舍配备物品损坏登记与损坏宿舍物品查询的视图定义如下:create view F

48、DView (物品名,学号,宿舍号,损坏数量,宿舍楼编号,校区,区位)asselect *from FitmentDestructionwith check option;(9)用于查询损坏物品赔偿基本信息 ,便于宿舍物品管理的视图定义如下:create view FCView (物品名,学号,负责人,日期,赔偿数量)asselect *from FitmentCompensatewith check option; (10)方便学生事故的注册与保卫人员对事故注册查询的视图定义如下:create view AccView (编号,事故类型,学号,日期,损失物品,属实, 负责单位,损失数量,学生

49、联系方式)asselect *from Accidentwith check option;(11)便于宿舍以外事故调查的视图定义如下:create view ARView (编号,调查名称,负责单位,调查结果)asselect *from AccidentResearchwith check option;(12)方便宿舍事故赔偿信息查询和更改的视图定义如下:create view ACView (编号,学号,赔偿物品,日期,负责单位)asselect *from AccidentCompensatewith check option;5.1.4 建立索引create unique inde

50、x StudentNo on Student(StuNo);create unique index RoomNo on Room(RNo);create unique index DormitoryNo_Campus_Location on Dormitory(DorNo desc,DorCampus,DorLocation);create cluster index StudentName on Student(StuName);create unique index FitmentName on Fitment(FitName);create unique index SafeGuardN

51、ame on SafeGuard(SGName);5.2数据入库系统包括宿舍学生基本信息管理、楼道工人基本信息管理、宿舍楼基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍楼物品出入基本信息管理、宿舍楼保卫处基本信息管理、宿舍配备物品与处理管理等八大功能模块,共有12基本表,牵涉到大量数据的录入,又由于时间限制,采用事先在Excel中录入数据,然后使用SQL Server 2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。当然,附录中也给出了各个基本表插入元组的存储功能,详细容请参阅附录2。5.3创建各个功能的存储过程系统共创建了16个存储过程,具体列表如下:表3.1 创

52、建的存储过程列表:编号存储过程名称定义作用P-1p1_Worker_Insert详见附录2-1在Worker中插入一元组P-2p2_Dormitory_Insert详见附录2-2在Dormitory中插入一元组P-3p3_Room_Insert详见附录2-3在Room中插入一元组P-4p4_Fitment_Inser详见附录2-4在Fitment中插入一元组P-5p5_Student_Insert详见附录2-5在Student中插入一元组P-6p6_SafeGuard_Insert详见附录2-6在SafeGuard中插入一元组P-7p7_Artical_In_Out_Insert详见附录2-7

53、在ArticalInOut中插入一元组P-8p8_FitmentDestruction_Insert详见附录2-8在FitmentDestruction中插入一元组P-9p9_FitmentCompensate详见附录2-9在FitmentCompensate中插入一元组P-10p10_Accident_Insert详见附录2-10在Accident中插入一元组P-11p11_AccidentResearch_Insert详见附录2-11在AccidentResearch中插入一元组P-12p12_AccidentCompensate_Insert详见附录2-12在AccidentCompen

54、sate中插入一元组P-13p13_Query_Worker详见附录2-13在Worker中匹配(WorNo)查询P-14p14_Query_Worker详见附录2-14在Worker中匹配(WorName)查询P-15p15_Delete_Worker详见附录2-15在Worker中删除元组P-16p16_Update_Worker详见附录2-16在Worker中更新操作(其他表的查询、修改、删除与Worker表的大致一样,这里不再具体列出)6系统调试和测试学生宿舍管理系统的测试主要采用黑盒测试和白盒测试的方法,具体的说黑盒测试主要采用以下两种测试方法:已知系统的功能设计规格,进行测试证明每

55、个实现了的功能是否符合要求;已知系统的部工作过程,通过测试证明每种部操作是否符合设计规格要求,所有部成分是否通过检验。该学生管理系统主要采用黑盒测试的第一种测试方法,具体的测试如下:(1)查看各个基本表中的数据(借助与视图查询)(a)查看Worker表中的数据:(b)查看Dormitory表中的数据:(c)其他表的数据的查看操作显示见于附录3-1(2)检测各个存储过程的功能:(a)验证存储过程p1_Worker_Insert与p15_Delete_Worker的功能:(b)验证存储过程p1_Worker_Insert与p16_Delete_Worker的功能:(c)验证其它存储过程的功能见于附

56、录3-2附录1 数据库逻辑结构定义1.楼道工人(Worker)基本信息表,用于记录楼道工人的基本信息:表2.3 楼道工人基本信息表属性名数据类型取值围是否是主属性或外键完整性WorNochar(5)0000099999是Not nullWorNamechar(10)否Not nullWorTypechar(8)否Not nullWorWageInt大于500(元/月)否Not nullWorSexchar(2)男、女否Not nullWorPhNochar(12)否NullWorTimechar(30)否NullDorNosmallint0099是Not nullDorCampuschar(4

57、)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null2.宿舍楼(Dormitory)基本信息表,用于记录宿舍楼的基本信息:表2.4 宿舍楼基本信息表属性名数据类型取值围是否是主属性或外键完整性DorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not nullDorPhNochar(12)否NullDorAdministchar(10)否Null3.宿舍(Room)基本信息表,用于记录宿舍的基本信息:表2.5 宿舍基本信息

58、表属性名数据类型取值围是否是主属性或外键完整性RNochar(6)01-00199-999是Not nullRHeaderchar(10)否NullRGradechar(4)否Not nullRDepartchar(20)否Not nullRPerfectchar(20)否Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null4.宿舍楼配备物品(Fitment)基本信息表,用于记录宿舍楼配备物品的基本信息:表2.6 宿舍配备物品基本信息属性名数据

59、类型取值围是否是主属性或外键完整性FitNamechar(16)是Not nullFitPricefloat大于0否Not nullFitNumInt大于0否Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null5.宿舍学生(Student)基本信息表,用于记录宿舍学生的基本信息:图2.7 宿舍学生基本信息属性名数据类型取值围是否是主属性或外键完整性StuNochar(9)00000000999999999是Not nullDepNamechar

60、(20)否Not nullStuNamechar(10)否Not nullStuSexchar(2)男、女否Not nullStuHomechar(10)否Not nullStuBorthdatetime否Not nullStuETimedatetime否Not nullStuPerfectchar(20)否Not nullStuClassint大于0小于10否Not nullRNochar(6)01-00199-999是Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面

温馨提示

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

评论

0/150

提交评论