1、学生宿舍管理系统数据库设计案例 作者: 日期:2 个人收集整理 勿做商业用途学生宿舍管理系统设计目 录1. 系统需求分析阶段11.1 引言11。2 目标与任务11.2。1 需求分析阶段的目标11。2.2 需求分析阶段的任务11.2.3 需求分析阶段成果22. 概念设计阶段112。1 引言112.2 概念模型设计122.3 新系统流程133逻辑设计阶段143.1逻辑设计的任务和目标143。2数据组织143。2。1将ER图转换为关系模型143。2.2模型优化153。2.3数据库模式定义163。2。4用户子模式设计163.3数据处理164物理设计阶段174.1物理设计阶段的目标与任务174.2数据存
2、储方面174.3系统功能模块174.3.1 楼道工人基本的信息查询和更新模块184.3.2 宿舍楼基本信息的查询和更新模块184.3。3 宿舍基本信息的查询和更新模块194.3。4 学生基本信息的查询和更新模块204.3.5 宿舍物品的查询和更新模块204.3。6 宿舍事故的查询和更新模块214。3。7 宿舍物品处理的查询和更新模块214。3。8 宿舍保卫处基本信息的查询和更新模块225数据库实施阶段225。1建立数据库、数据表、视图、索引225.1。1 建立数据库225。1.2 建立数据表225.1。3 建立视图265.1。4 建立索引285.2数据入库285。3创建各个功能的存储过程296
3、系统调试和测试29附录1 数据库逻辑结构定义34附录2 存储过程定义38附录3 所有的SQL运行语句48II1。 系统需求分析阶段1.1 引言通过对学生宿舍楼的实地调查,了解到现在的学生宿舍管理仍停留在完全的人工管理阶段,楼管处没有标准的住宿学生存档信息。这中人工管理方式费时、费事、费力,造成工作效率低下。开发出合适的学生宿舍管理系统,可以方便学生宿舍的管理,提高宿舍管理工作效率及查询效率。1。2 目标与任务1。2.1 需求分析阶段的目标(1)了解目前宿舍管理的现状以及SQL Server 2000的功能和特点.(2)通过实地调查和问答记录的方式了解宿舍管理的工作业务流程,并记录和处理相关的数
4、据。1.2.2 需求分析阶段的任务 (1)处理对象:系统要处理的对象包括宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息等七个方面,各个对象包括信息如下所示(详细的数据见于数据字典):1宿舍楼基本信息(Dormitory):包括 宿舍楼编号、宿舍楼所在校区、宿舍楼再校区中区域、每一幢宿舍楼楼管处的电话、宿舍楼楼管员信息等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率;2学生基本信息(Student):包括 学生编号、学生所在学院信息、学生姓名、学生性别、学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级
5、等方面的信息,可以方便学信息的查询和更新;3宿舍基本信息(Room,Fitment,FitmentDestruction,FitmentCompensate):宿舍基本信息包括四个数据结构(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品损坏信息(FitmentDestruction),宿舍损坏物品赔偿信息),每个数据结构中的数据项见数据字典;4楼道工作人员基本信息(Worker):包括 工作人员编号、工作人员姓名、工作类型、工资、性别、联系方式、工作时间等数据项,可以方便管理人员对宿舍楼道工人的任用、信息查询及更改;5宿舍保卫处基本信息(SafeGuard):包括保卫处名称、人
6、员数目、负责人信息、联系电话等四方面的信息;6宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):事故信息包括三个数据结构(事故信息、事故处理信息、事故赔偿信息),具体的数据项见数据字典;物品出入基本信息(ArticalInOut):包括出入物品的学生信息、出入的物品信息、出入物品时的负责人信息、出入物品时间,尽量减少宿舍事故的发生,保障学生宿舍财产的安全。(2)处理功能要求系统主要完成一下几个功能:1宿舍楼基本信息查询与修改;2学生基本信息查询与更新;3每一幢宿舍楼中宿舍信息的查询与信息更新;4宿舍保卫处基本信息的查询和修改;5宿舍事
7、故基本信息及事故处理信息的查询和修改;6宿舍楼物品出入审批及记录;(3)安全性和完整性要求安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,欲用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能.完整性要求用于描述宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息中数据项能否为null,以及一些用户自定义完整性(符合实际要求),详细完整性要求见于系统的逻辑设计阶段。1。2.3 需求分析阶段成果(1)学生宿舍管理系统业务流程图新生入住
8、宿舍业务流程图:查询业务流程图(查询宿舍学生信息、楼道工作人员信息、宿舍楼信息等):毕业生离宿业务流程图:楼道工作人员任用业务流程图:宿舍楼物品出入业务流程图:宿舍事故处理业务流程图:(2)数据流程图顶层数据流程图:第2层数据流程图:从学生角度出发第2层数据流程图:从管理者角度出发第3层数据流程图:从新生角度出发第3层数据流程图:从毕业生角度出发第3层数据流程图:从宿舍楼物品出入出发第3层数据流程图:从宿舍事故角度出入出发第3层数据流程图:从楼道工作人员的任用角度出发第3层数据流程图:从管理者和外来访客的角度出发(3)数据字典(a)数据项:系统涉及的数据项有71项表1.1 数据项列表数据项编号
9、数据项名数据项含义与其它数据项的关系存储结构别名DI-1StuNo学生编号char(9)学号DI-2DepName学生所在学院char(20)学院DI-3StuName学生姓名char(10)姓名DI4StuSex学生性别char(2)性别DI5StuHome学生来自省份char(10)祖籍DI-6StuBorth学生出生时间Date出生日期DI-7StuETime学生入学时间Date入学时间DI-8StuPerfect学生所在专业char(20)专业DI9StuClass学生所在班级编号Int编号DI-10WorNo工作人员编号char(5)编号DI11WorName工作人员姓名char(1
10、0)姓名DI12WorType工作类型char(8)工作类型DI13WorWage工作人员工资Int月工资DI-14WorSex工作人员性别char(2)性别DI15WorPhNo工作人员联系方式char(12)电话DI16WorTime工作人员工作时间char(30)工作时间DI-17RNo宿舍编号char(6)舍号DI18RHeader舍长信息等于StuNamechar(10)舍长DI-19ROne宿舍学生信息同上char(10)舍员1DI20RTwo宿舍学生信息同上char(10)舍员2DI-21RThree宿舍学生信息同上char(10)舍员3DI22RFour宿舍学生信息同上char
11、(10)舍员4DI23RFive宿舍学生信息同上char(10)舍员5DI-24RSix宿舍学生信息同上char(10)舍员6DI-25RGrade宿舍学生所属年级等于StuETimechar(4)年级DI-26RDepart宿舍学生所在学院等于DepNamechar(20)学院DI-27RPerfect宿舍学生所学专业等于StuPerfectchar(20)专业DI28RClass学生所在班级编号等于StuClasschar(2)班级DI-29DorNo宿舍楼编号smallint宿舍楼号DI30DorCampus宿舍楼所属校区char(4)校区DI-31DorLocation宿舍楼在校区位置
12、char(4)宿舍区位DI-32DorPhNo宿舍楼管处电话char(12)电话DI33DorAdminist宿舍楼楼管员信息等于WorNochar(10)楼管员DI34SGName保卫处名称char(15)名字DI35SGWorNum保卫处人员总数Int人员数目DI36SGHeader保卫处负责人信息char(10)负责人DI-37SGPhone保卫处电话char(12)电话DI-38FitName宿舍物品名称char(16)宿舍物品DI39FitPrice宿舍物品价格Float价格DI-40FitNum每一种宿舍的数量Int数量DI-41FDFitment损坏物品信息等于FitNamech
13、ar(16)物品名DI42FDStudent损坏的学生信息等于StuNochar(9)学生DI-43FDRoom损坏物品宿舍信息等于RNochar(6)舍号DI44FDFitNum损坏物品的数量Int数量DI45FCompFit赔偿物品信息等于FitNamechar(16)物品名DI46FCompStu需赔偿学生信息等于StuNochar(9)学生DI47FCompMon赔偿价格Float赔偿价格DI48FCompPrin赔偿负责人信息等于WorNochar(10)负责人DI49FCompDate赔偿日期Date日期DI50FCompNum赔偿物品数量Int数量DI-51AcNo事故编号int
14、编号DI-52AcType事故类型char(10)类型DI-53AcArtical事故损失物品char(30)物品名DI-54AcArNum事故损失物品数量Int数量DI-55AcStu事故受害学生等于StuNochar(9)学生DI56AcDate事故发生日期Date日期DI-57AcPrin事故负责人信息等于SGHeaderchar(15)负责人DI-58AcStuPh受害人联系方式char(12)学生电话DI59AcVerify事故是否属实Bool核查DI-60ARNo事故调查编号char(4)编号DI61ARName事故调查名称char(15)调查DI62ARPrin事故调查负责人等于
15、SGHeaderchar(10)负责人DI-63ARResult事故调查结果Bool结果DI-64ACStu事故赔偿学生信息等于StuNochar(10)学生DI-65ACArtical事故赔偿物品信息char(30)物品名DI66ACDate事故赔偿日期Date日期DI67ACPrin事故赔偿负责单位等于SGHeaderchar(15)负责单位DI68AIOStu要求物品出入学生等于StuNochar(10)学生DI69AIOArtical出入物品信息char(20)物品名DI-70AIOPrin出入物品审查人等于WorNochar(10)负责人DI71AIODate出入物品日期Date日期
16、DI72AIONo物品出入序号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,RFive,RSix,RGrade,RDepart,RPer
17、fect,RTwo,DS4Dormitory宿舍楼信息DorNo,DorCampus,DorPhNoDorLocation,DorAdministDS-5SafeGuard宿舍保卫处信息SGName,SGWorNum,SGHeader,SGPhoneDS6Fitment宿舍物品配备信息FitName,FitPrice,FitNumDS-7FitmentDestruction宿舍物品损坏信息FDFitment,FDStudent,FDRoom,FDFitNumDS-8FitmentCompensate宿舍损坏物品赔偿信息FCompFit,FCompStu,FCompPrin,FCompDate,
18、FCompNumDS-9Accident宿舍事故注册信息AcNo,AcType, AcStu,AcDate,AcArtical,AcVerify,AcPrin,AcArNum,AcStuPhDS-10AccidentResearch宿舍事故调查信息ARNo,ARName,ARPrin,ARResultDS-11AccidentCompensate事故损失物品赔偿信息ACStu,ACArtical,ACDate,ACPrinDS12ArticalInOut宿舍楼物品出入信息AIOStu,AIOArtical,AIOPrin,AIODate,AIONo(4)处理逻辑描述(判定表或判定树)表1.3
19、处理逻辑列表判定条件决策判断用户查询涉及的功能模块宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先确定查询所涉及的功能模块;然后,确定要查询的内容,确定查询数据流向;最后显示查询结果。判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先确定更新所涉及的功能模块;然后,
20、把更新信息传送到相应的模块中;最后,进行相应的更新操作。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)从数据流程图图2.7 抽象出的分ER图:图3.5 分ER图5(2)
21、各分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(FitName,FitPrice,FitNum);楼道工作人员:W
22、orker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime);保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);各分ER图中联系的属性如下所示:物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);宿舍物品处理:包含物品损坏和物品赔偿两个数据结构(将在逻辑设计阶段给出);事故:包含宿舍事故注册、宿舍事故调查、事故损失物品赔偿三个数据结构(具体的结构将在系统逻辑设计阶段给出)。(3)合并各分图,消除属性冲突、命名冲突、结构冲突等三
23、类冲突,得到初步E-R图,再消除不必要冗余,得到的基本ER图如下所示:2.3 新系统流程新系统流程图:3逻辑设计阶段3.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将ER图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务3。2数据组织3.2.1将E-R图转换为关系模型由于宿舍楼与楼道工人的联系方式是1:n(一对多),可以将其之间的联系与n端
24、实体楼道工人合并,宿舍楼与宿舍之间的联系、宿舍与学生之间的联系方式也是1:n,同样也将其之间的联系与n端实体宿舍、学生合并,而宿舍物品与学生、学生与楼道工作人员之间的联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,保卫处与学生之间的联系是1:n(一对多),但是它们之间的联系事故则包含数据结构,为了便于模型优化,将其联系也转化成独立的关系模式,具体的基本ER图向关系模型的转化如下:楼道工人:Worker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime,DorNo,DorCampus,DorLocation);宿舍
25、楼: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,St
26、uETime,StuPerfect,StuClass,RNo, DorNo,DorCampus,DorLocation);保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);物品出入:ArticalInOut(AIONo,StuNo,AIOArtical,AIOPrin,AIODate, DorNo,DorCampus,DorLocation);宿舍物品处理包含两个数据结构(宿舍物品损坏信息,宿舍物品损坏赔偿信息),基于表的各个属性都是原子项的考虑,现将宿舍物品处理分解为:宿舍物品损坏、宿舍损坏物品赔偿,具体如下:宿舍物品损坏:FitmentDest
27、ruction(FitName,StuNo,RNo,FDFitNum, DorNo,DorCampus,DorLocation);(消除命名冲突)宿舍物品损坏赔偿:FitmentCompensate(FitName,StuNo,FCPrin,FCompDate,FCompNum);(消除命名冲突)宿舍事故包含三个数据结构(宿舍事故注册信息、宿舍事故调查信息、宿舍事故损失物品赔偿信息),同样基于表的原子性的考虑也将事故分解为:事故注册、事故调查、事故赔偿,具体如下:事故注册:Accident(AcNo,AcType, StuNo,AcDate,AcArtical,AcVerify,SGName,
28、AcArNum,AcStuPh);事故调查:AccidentResearch(AcNo,ARName,SGName,ARResult);事故赔偿:AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)3.2.2模型优化关系模式Worker,Dormitory,Fitment,SafeGuard,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,Ac
29、cidentCompensate不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是宿舍关系模式(Room)中存在着一些不应该有的数据冗余,现将模型优化为:Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);虽然Room中还存在一些数据冗余,但可以提高查询效率。3。2。3数据库模式定义表2.1 数据库模式定义表编号逻辑结构(基本表)定义完整性和安全性TWorker(详见附录11)(详见附录11)T2Dormitory(详见附录12)(详见附录12)T3Room(详见附录13)(
30、详见附录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)T12AccidentCompensate(详见附录112)(详见附录112)3.2.4用户子模式
31、设计表2.2 用户子模式设计(View)列表编号用户子模式(View)作用(共性:提供数据保密和安全保护机制)V1WorView便于查询和修改楼道工人的基本信息V2DormView方便宿舍楼的基本信息的查询、更新V3RoomView以便于宿舍的基本信息的查询和更新V4FitView用于宿舍楼配备物品的基本信息的查询V5StuView便于查询和更改学生的基本信息V6SGView方便学生查询宿舍保卫处的基本信息V7ArIOView以便于物品出入的管理和信息的查询、更改V8FDView便于宿舍物品损坏的的登记及处理和信息的查询V9FCView查询损坏物品赔偿的基本信息,便于宿舍物品的管理V10Acc
32、View方便学生事故的注册及保卫人员对事故注册的查询V11ARView便于学生查询宿舍事故调查的基本信息V12ACView方便宿舍事故赔偿的信息查询和更新3.3数据处理系统功能模块图: 4物理设计阶段4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。4.2数据存储方面为数据库中各基本表建立的索引如下:1. 由于基本表Room,Student的主码RNo,StuNo经常在查询条件和连接操作的连接
33、条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引;2. Dormitory的主码DorNo,DorCampus,DorLocation经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引;3. 基本表Student的一属性StuName,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引;4. 基本表Fitment、SafeGuard的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;5. 基本表Worker,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,Acci
34、dentResearch,AccidentCompensate的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。4.3系统功能模块4.3.1 楼道工人基本的信息查询和更新模块将实现对楼道工人基本信息的查询和更新(修改、插入、删除)操作,方便于楼道工人的任用和更换,具体的功能模块图如下:图4.2 楼道工人基本信息的查询、更新功能模块图(注: 表示系统给用户的信息,以下与此相同)4。3.2 宿舍楼基本信息的查询和更新模块将完成对宿舍楼基本信息的查询、更新(修改、插入、删除)操作,便于宿舍的集中管理,具体的功能模块图如下所示:图4。3 宿舍楼基本信息的查询、更
35、新功能模块图4.3。3 宿舍基本信息的查询和更新模块将达到对宿舍基本信息的查询、更新(修改、插入、删除)操作的目的,具体的功能模块图如下所示:图4.4 宿舍基本信息的查询、更新功能模块图4.3.4 学生基本信息的查询和更新模块将完成对学生基本信息的查询和插入、删除、修改等更新操作,具体的功能模块如下所示:图4.5 宿舍学生基本信息的查询、更新功能模块图4。3。5 宿舍物品的查询和更新模块将实现对宿舍物品基本信息的查询、插入、删除、修改等操作,以方便于宿舍物品的配备,具体的功能模块图如下:图4。6 宿舍物品基本信息的查询、更新功能模块图4。3.6 宿舍事故的查询和更新模块将实现对宿舍事故的插入和
36、更新操作,方便宿舍事故的快速处理,及时了解事故处理的结果,具体的功能模块图如下:图4.7 宿舍事故基本信息的查询、更新功能模块图4.3。7 宿舍物品处理的查询和更新模块将完成对宿舍物品处理基本信息的查询、插入、删除、修改等操作,方便于宿舍物品的处理,具体的功能模块图如下所示:图4。8 宿舍物品处理基本信息的查询、更新功能模块图4.3.8 宿舍保卫处基本信息的查询和更新模块将实现对宿舍保卫处基本信息的查询和更新(包括更改、插入、删除)操作,方便于宿舍意外事故的处理,具体的功能模块图如下:图4.9 宿舍楼保卫处基本信息的查询、更新功能模块图5数据库实施阶段5。1建立数据库、数据表、视图、索引5。1
37、.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) null,WorTime char(30) null,DorNo smallint not null,DorCam
38、pus 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 nul
39、l,DorLocation char(4) not null,DorPhNo char(12)null,DorAdminist char(10) null,primary key(DorNo,DorCampus,DorLocation),check(DorNo0 and DorNo100);(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 nul
40、l,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 floatnot null,FitNum int n
41、ot 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 Datetimenot null,StuETime Datetimenot null,StuPerfect char(20)not null,StuClass int not null,RNo char(6)not null,DorNo smallint not nu