为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

学生宿舍管理系统数据库设计

2017-09-19 19页 doc 387KB 131阅读

用户头像

is_105949

暂无简介

举报
学生宿舍管理系统数据库设计学生宿舍管理系统数据库设计 1 需求简介 1.1 功能 1.宿舍楼基本信息查询与修改; 2.学生基本信息查询与更新; 3.每一幢宿舍楼中宿舍信息的查询与信息更新; 4.宿舍保卫处基本信息的查询和修改; 5.宿舍事故基本信息及事故处理信息的查询和修改; 6.宿舍楼物品出入审批及记录; 1.2 数据 1.宿舍楼基本信息(Dormitory):包括 宿舍楼编号、宿舍楼所在校区、宿舍楼在校区中区域、每一幢宿舍楼楼管处的电话、宿舍楼楼管员信息等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率; 2.学生基本信息(Student):...
学生宿舍管理系统数据库设计
学生宿舍管理系统数据库 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.2 ER图合并 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选择的SQL SERVER 2005,根据该系统特点设计数据库的模式如下。 1.楼道工人(Worker)基本信息表,用于记录楼道工人的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 WorNo char(5) 00000~99999 是 Not null WorName char(10) 否 Not null WorType char(8) 否 Not null WorWage Int 大于500(元/月) 否 Not null WorSex char(2) 男、女 否 Not null WorPhNo char(12) 否 Null WorTime char(30) 否 Null DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null 2.宿舍楼(Dormitory)基本信息表,用于记录宿舍楼的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null DorPhNo char(12) 否 Null DorAdminist char(10) 否 Null 3.宿舍(Room)基本信息表,用于记录宿舍的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 RNo char(6) 01-001~99-999 是 Not null RHeader char(10) 否 Null RGrade char(4) 否 Not null RDepart char(20) 否 Not null RPerfect char(20) 否 Not null DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null 4.宿舍楼配备物品(Fitment)基本信息表,用于记录宿舍楼配备物品的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 FitName char(16) 是 Not null FitPrice float 大于0 否 Not null FitNum Int 大于0 否 Not null DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null 5.宿舍学生(Student)基本信息表,用于记录宿舍学生的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 StuNo char(9) 00000000~999999999 是 Not null DepName char(20) 否 Not null StuName char(10) 否 Not null StuSex char(2) 男、女 否 Not null StuHome char(10) 否 Not null StuBorth datetime 否 Not null StuETime datetime 否 Not null StuPerfect char(20) 否 Not null StuClass int 大于0小于10 否 Not null RNo char(6) 01-001~99-999 是 Not null DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null 6.宿舍保卫处(SafeGuard)基本信息表,用于记录保卫处的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 SGName char(15) 是 Not null SGWorNum int 大于0 否 Not null SGHeader char(10) 否 Not null SGPhone char(12) 否 Null 7.宿舍楼物品出入(ArticalInOut)基本信息表,用于记录物品出入的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 StuNo char(9) 00000000~999999999 是 Not null AIOArtical char(16) 否 Null AIOPrin char(9) 否 Not null AIODate datetime 是 Not null AIONo Int 大于0 是 Not null DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null 8.宿舍配备物品损坏(FitmentDestruction)基本信息表,用于记录物品损坏的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 FitName char(16) 是 Not null StuNo char(9) 00000000~999999999 是 Not null RNo char(6) 01-001~99-999 是 Not null FDFitNum Int 大于等于0 否 Not null DorNo smallint 00~99 是 Not null DorCampus char(4) 四面八方其中之一 是 Not null DorLocation char(4) 四面八方其中之一 是 Not null 9.宿舍配备物品损坏赔偿(FitmentCompensate)基本信息表,记录损坏物品赔偿的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 FitName char(16) 是 Not null StuNo char(9) 00000000~999999999 是 Not null FCPrin char(10) 是 Not null FCompDate datetime 否 Not null FCompNum int 大于等于0 否 Not null 10.宿舍事故注册(Accident)基本信息表,用于记录宿舍事故注册的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 AcNo int 0000~9999 是 Not null AcType char(10) 否 Not null StuNo char(30) 00000000~999999999 是 Not null AcDate datetime 是 Not null AcArtical char(30) 否 Not null AcVerify bool 否 Null SGName char(15) 是 Null AcArNum int 大于等于0 否 Not null AcStuPh char(12) 否 Null 11.宿舍事故调查(AccidentResearch)基本信息表,用于记录宿舍事故调查的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 AcNo int 0000~9999 是 Not null ARName char(15) 是 Not null SGName char(15) 是 Not null ARResult bool 否 Not null 12.宿舍事故赔偿(AccidentCompensate)基本信息表,用于记录宿舍事故赔偿的基本信息: 属性名 数据类型 取值范围 是否是主属性或外键 完整性 AcNo int 0000~9999 是 Not null ACStu char(10) 00000000~999999999 是 Not null AcArtical char(30) 否 Not null ACDate datetime 否 Not null SGName char(15) 是 Not null 3.4 用户子模式设计 编号 用户子模式(View) 作用(共性:提供数据保密和安全保护机制) V-1 WorView 便于查询和修改楼道工人的基本信息 V-2 DormView 方便宿舍楼的基本信息的查询、更新 V-3 RoomView 以便于宿舍的基本信息的查询和更新 V-4 FitView 用于宿舍楼配备物品的基本信息的查询 V-5 StuView 便于查询和更改学生的基本信息 V-6 SGView 方便学生查询宿舍保卫处的基本信息 V-7 ArIOView 以便于物品出入的管理和信息的查询、更改 V-8 FDView 便于宿舍物品损坏的的登记及处理和信息的查询 V-9 FCView 查询损坏物品赔偿的基本信息,便于宿舍物品的管理 V-10 AccView 方便学生事故的注册及保卫人员对事故注册的查询 V-11 ARView 便于学生查询宿舍事故调查的基本信息 V-12 ACView 方便宿舍事故赔偿的信息查询和更新 View的具体结构略。 4 物理结构设计 4.1 存储结构 由于系统数据不多,所以只在两个盘驱分别建立一个主数据文件和一个日志文件就可以了。 4.2 索引 为数据库中各基本表建立的索引如下: 由于基本表Room,Student的主码RNo,StuNo经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引; Dormitory的主码DorNo,DorCampus,DorLocation经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引; 基本表Student的属性StuName,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引; 基本表Fitment、SafeGuard的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引; 基本表Worker,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。 5 实施 5.1 建立数据库 create database Student_Dormitory_Management; 5.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)      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) references                         Dormitory(DorNo,DorCampus,DorLocation), check(WorWage >= 0), check(WorSex = ‘男’ or WorSex = ‘女’)); (2)宿舍楼基本信息表的建立: create table Dormitory( 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(DorNo>0 and 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, DorNo  smallint              not null, DorCampus  char(4)     not null, DorLocation  char(4)     not null, primary key(RNo), foreign key(DorNo, DorCampus, DorLocation) references                         Dormitory(DorNo,DorCampus,DorLocation)); (4)宿舍楼配备物品基本信息表的建立: create table Fitment( FitName  char(16)        not null unique, FitPrice  float            not null, FitNum  int             not null, DorNo  smallint         not null, DorCampus  char(4)    not null, DorLocation  char(4)    not null, primary key(FitName), foreign key(DorNo, DorCampus, DorLocation) references                         Dormitory(DorNo,DorCampus,DorLocation)); (5)宿舍学生基本信息表的建立: create table Student(         StuNo  char(9)            not null unique,         DepName  char(20)        not null,         StuName  char(10)        not null,         StuSex  char(2)            not null,         StuHome char(10)        not null,         StuBorth  Datetime        not null,         StuETime  Datetime    not null,         StuPerfect  char(20)    not null,         StuClass  int             not null,         RNo  char(6)            not null,         DorNo  smallint         not null,         DorCampus  char(4)    not null,         DorLocation  char(4)    not null,         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,         SGWorNum  int         not null,         SGHeader  char(10)    not null,         SGPhone  char(12)        null,         primary key(SGName),         check(SGWorNum > 0)); (7)宿舍楼物品出入基本信息表的建立: create table ArticalInOut(         StuNo  char(9)            not null,         AIOArtical  char(16)    null,         AIOPrin  char(9)        not null, AIODate  datetime        not 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, DorCampus, 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(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 FitmentCompensate(         FitName  char(16)        not null,         StuNo  char(9)            not null,         FCPrin  char(15)        not null,         FCompDate  Datetime    not 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)宿舍事故注册基本信息表的建立: create table Accident(         AcNo  int                not null unique,         AcType  char(10)        not null,         StuNo  char(9)            not null,         AcDate  datetime        not null,         AcArtical  char(30)        not null,         AcVerify  bool            null,         SGName  char(15)        not null,         AcArNum  int             not null,         AcStuPh  char(12)        not null,         primary key(AcNo,AcDate),         foreign key(StuNo) references Student(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  bool            not null,         primary key(SGName),         foreign key(AcNo) references Accident(AcNo),         foreign key(SGName) references SafeGuard(SGName),); (12)宿舍事故赔偿基本信息表的建立: create table AccidentCopensate(         AcNo  int                 not null,         ACStu  char(9)            not null,         AcArtical  char(30)        not null,         AcDate  Datetime        not null,         SGName  char(15)        not null,         foreign key(AcNo) references Accident(AcNo),         foreign key(ACStu) references Student(StuNo),         foreign key(SGName) references SafeGuard(SGName)); 5.3建立视图 (1)用于查询和更新楼道工人基本信息的视图定义如下:             create view WorView(编号,姓名,工作类型,工资,性别,联系方式,                                 工作时间,宿舍楼编号,校区,区位)                 as                 select *                    from Worker                 with check option;     (2)方便于宿舍楼基本信息查询、更新的视图定义如下:             create view DormView (宿舍楼编号,校区,区位,楼管处电话,楼管)                 as                 select *                 from dormitory                 with check option;     (3)显示宿舍基本信息的视图定义如下:             create view RoomView (宿舍编号,舍长,年级,学院,专业,宿舍楼编号,                                     校区,区位)                 as                 select *                 from  Room                 with check option;     (4)可用于宿舍楼配备物品基本信息查询、更新的视图定义如下:             create view FitView (物品名,价格,数量,宿舍楼编号, 校区,区位)                 as                 select *                 from Fitment                 with check option;     (5)用于查询和更新学生基本信息的视图定义如下:             create view StuView (学号,学院,姓名,性别,祖籍,出生日期,入学时间,                                 专业,班级,宿舍编号, 宿舍楼编号,校区,区位)                 as                 select *                 from Student                 with check option;     (6)显示宿舍保卫处基本信息的视图定义如下:             create view SGView (名称,人员数目,负责人,电话)                 as                 select *                 from SafeGuard                 with check option;     (7)以便于物品出入管理和出入物品信息查询、更新的视图定义如下:             create view ArIOView (学号,出入物品,负责人,日期,序号,宿舍楼编号,                                     校区,区位)                 as                 select *                 from ArticalInOut                 with check option;     (8)便于宿舍配备物品损坏登记及损坏宿舍物品查询的视图定义如下:             create view FDView (物品名,学号,宿舍号,损坏数量,宿舍楼编号,校区,                                 区位)                 as                 select *                 from FitmentDestruction                 with check option;     (9)用于查询损坏物品赔偿基本信息 ,便于宿舍物品管理的视图定义如下:             create view FCView (物品名,学号,负责人,日期,赔偿数量)                 as                 select *                 from FitmentCompensate                 with check option;     (10)方便学生事故的注册及保卫人员对事故注册查询的视图定义如下:             create view AccView (编号,事故类型,学号,日期,损失物品,属实,                               负责单位,损失数量,学生联系方式)                 as                 select *                 from Accident                 with check option;     (11)便于宿舍以外事故调查的视图定义如下:             create view ARView (编号,调查名称,负责单位,调查结果)                 as                 select *                 from AccidentResearch                 with check option;     (12)方便宿舍事故赔偿信息查询和更改的视图定义如下:             create view ACView (编号,学号,赔偿物品,日期,负责单位)                 as                 select *                 from AccidentCompensate                 with check option; 5.4建立索引 create unique index 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 SafeGuardName on SafeGuard(SGName);
/
本文档为【学生宿舍管理系统数据库设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索