教室标准管理系统数据库设计论文_第1页
教室标准管理系统数据库设计论文_第2页
教室标准管理系统数据库设计论文_第3页
教室标准管理系统数据库设计论文_第4页
教室标准管理系统数据库设计论文_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

山东广播电视大学数据库应用课程设计题目____________________________________________姓名______________________________教诲层次__________________________学号_____________________________省级电大___________________________专业_____________________________市级电大___________________________指引教师___________________________教学点_________________________

摘要通过调查研究,发现教室管理大多采用人工方式,不便于管理和顾客使用。本系统针对教室管理人员和顾客,采用存储过程和触发器,实现数据增删改,以便顾客操作和系统实现。重要实现了空教室查询,教师调课管理,设备维护管理和教室借用管理。其中空教室查询涉及空闲教室查询和空余座位查询以及学生出勤人数记录查询等;调课管理完毕教师调课解决及有关课表查询等;设备维护管理重要记录教室设备损坏及修复信息;借用管理完毕教室借用解决和记录等。核心字教室管理,空教室查询,数据库设计目录1.引言 11.1本系统研究意义 11.2本系统目 11.3本系统任务 12.数据库设计 12.1需求分析阶段 12.1.1引言 12.1.1需求分析目和任务 22.2概念设计阶段 82.2.1引言 82.2.2概念设计目的与任务 82.2.3概念设计阶段成果 92.3逻辑构造设计 122.3.1引言 122.3.2逻辑构造设计阶段目的和任务 122.3.3数据组织 122.3.4数据解决 142.4物理构造设计 152.4.1物理设计目的 152.4.2物理设计任务 152.4.3索引建立 152.5数据库实行 152.5.1数据库实行阶段目的和任务 152.5.2建立基本表与视图、建立触发器和存储过程、数据入库 162.5.3实行成果 162.6数据库调试与试运营 162.6.1测试办法 162.6.2测试内容 162.6.3测试成果 163.收获与体会 164.存在问题和建议 17道谢 17参照文献 17附录1数据库模式定义详细阐明 18附录2数据库基本表和视图创立 23附录3存储过程、触发器创立与数据库验证 291.引言1.1本系统研究意义在当今大学校园中,教室依然是教学活动和学生课余活动重要场合。但是教室资源有限性使师生使用并不以便。此前,一种学校对于教室安排大多是靠某些人工解决,安排起来比较复杂,容易出错,并且不易于添加和删除,更不利于查找。建立了教室安排系统后来,对教室安排就变更加容易,添加和删除也更加容易,特别是对于教室查找,上课教师查找都变更加容易。建立了教室安排系统,提高信息解决速度和精确性,可以及时,精确,有效查询和修改教室安排状况,以及更有效得对设备维护进行管理。1.2本系统目本系统着力于整合教室管理中课程安排、教师调课、设备损坏及维修以及单位借用等影响教室使用环节,实现统一管理。在此基本上提供以便有效课表查询、空教室查询、学生出勤次数查询、设备维护记录查询。1.3本系统任务本系统针对教室管理中浮现管理不统一问题,着力于将教室管理中课程安排,教师调课、单位借用等联系起来,建立一种统一管理系统,以提高解决效率,以便统一管理。同步为师生提供以便可靠查询。2.数据库设计2.1需求分析阶段2.1.1引言需求分析就是依照系统目的、需求和功能,制定和选取一种较好系统方案,不但有助于教室管理者管理,并且以便顾客查询及其他操作。本系统针对教室管理这一学校寻常事务,所设计系统应当实现课程教室安排,教师调课管理,教师借用管理,教师设备维护等基本功能及学生到课状况记录功能。因而拟定本系统功能如下:(1)空教室资源管理(2)教师调课管理(3)单位借用管理(4)设备维护管理2.1.1需求分析目和任务(1)目的通过充分与顾客接触,充分理解顾客需求,熟悉系统设计业务流程与信息解决规定及系统所涉及数据流。(2)任务本系统设计解决对象有学生信息、课程信息、教室信息、教师信息、借用单位信息以及学生课程出勤记录,教师调课记录,设备维护记录,单位借用教室记录等。解决功能规定:教室管理系统详细功能涉及三个方面:教室查询子系统,教室调课子系统,设备管理子系统,教室借用子系统。教室查询子系统重要完毕教室课程安排,空闲教室查询(无课教室),教室空余座位查询以及上学时学生到课状况查询;调课管理子系统重要完毕教师调课解决以及教师调课记录存储与查询功能;设备管理子系统重要完毕接受报告设备损坏信息,以及安排维修员维护教室,设备维护记录存储和查询;借用子系统完毕接受借用教室申请与解决,同步存储借用记录以以便查询。(3)安全性和完整性规定在这个系统中存在一种实体参加各种事务状况,因而一种实体在不同事务中也许浮现属性取值不一致,以及在事务中引用了实体表中不存在实体,因而采用外键约束来避免这种不一致状况发生。另一方面,在事务解决中,修改了一种实体属性,也许要修改其他实体,这种事务完整性约束采用触发器来实现。2.1.2需求分析阶段成果体会与收获需求分析阶段重要涉及系统所要实现功能,依照调查和访问拟定了基本功能和操作,是数据库设计有个基本目的。完毕了数据库信息规定、解决规定、安全性与完整性规定,使咱们对数据库设计阶段有了个进一步结识和理解,为此后学习工打下坚实基本。教室管理系统业务流程图通过度析教室管理事务,拟定业务流程图如下。图2.1.2图-1教室管理系统业务流程图教室管理系统数据流图依照业务流程图,去掉详细信息载体,抽象得到了顶层数据流图如图-1所示。图图-1顶层数据流图结合业务流程图,在顶层数据流基本上,细化出系统一层数据流涉及排课,调课,借用设备维护及查询等数据解决过程,如图-2所示。图图-2一层数据流图对一层数据流分析,得到某些二层数据流图如图-3至图-5所示。图-4调课管理子系统二层数据流图图图-4调课管理子系统二层数据流图图-3借用子系统二层数据流图图-5设备维护子系统二层数据流图教室管理系统数据字典依照数据流图,得到数据字典如下表所示。数据项描述如下表所示:编号数据项名别名数据类型长度取值范畴描述I-1SNo学号char8I-2Sname学生姓名char14I-3BirthYear出生年月smalldatetimeI-4Pname专业名char24I-5ClassNo班级号char6I-6AttendSum出勤次数smallintI-7Image照片ImageI-8Cno课程号char6I-9Cname课程名char16I-10TNo任课教师号char6I-11Dept学院名称char20I-12Time学时smallintI-13PersonSum应到人数smallintI-14WeekNo周次char10I-15Weekday星期char10I-16SectionNo节次char10I-17Tname教师名char14I-18Title职称char4I-19RoomNo教室号char4I-20Roomname教室名char6I-21Campusname校区名char10I-22Buildname教学楼名char6I-23Capacity容量intI-24IsUsable可用状态char4I-25RemainCapacity剩余容量intI-26Type教室类型char10I-27RentDeptname借用单位名称char20I-28Leadername负责人姓名char14I-29IDType有效证件类型char8负责人证件类型I-30RentData借用日期smalldatetimeI-31ID证件号码char20I-32Tel联系方式char12I-33RepairerNo维修员编号char4I-34Repairername维修员姓名char14I-35State状态char4维修员状态I-36Devicename损坏设备名char12I-37Ischange与否需更换char6I-38Supplyname耗材名称char10I-39RentNo借用编号char6I-40RentReason借用目char40I-41RepaireRecordNo维修记录编号char6I-42RepairTime维修时间samlldatetimeI-43DamageInfo损坏信息char50设备损坏信息描述I-44DamageTime报告时间samlldatetime数据构造描述如下表所示:数据构造编号数据构造名构成含义阐明DS-1StudentSno,Sname,BirthYear,Pname,ClassNo,AttendSum,Image,Dept学生信息DS-2TeacherTno,Tname,Dept,Title,教师信息DS-3CourseCno,Cname,Time,WeekNo,Weekday,SectionNo课程信息DS-4ClassroomRoomNo,Roomname,Campusname,Buildname,Capacity,IsUsable,RemainCapacity,Type教室信息DS-5GroupLeadername,IDType,ID,Tel单位信息DS-6RepairerRepairerNo,Repairernam,State,Tel维修员信息DS-7CurriculumCno,Tno,WeekNo,Weekday,SectionNo,RoomNo课程表DS-8RepaireRecordRepaireRecordNo,RoomNo,RepairerNo,Devicename,Ischange,Supplyname,RepaireTime维修记录DS-9AdjClassLogTNo,RoomNo,NewWeekNo,NewWeekday,NewSectionNo,NewRoomNo调课记录DS-10RentRecordRentDate,Leadername,RoomNo,WeekNo,Weekday,SectionNo借用记录DS-11DamageReportSno,RoomNo,Supplyname,DamageInfo,DamageTime设备损坏报告2.2概念设计阶段2.2.1引言概念设计是数据库设计核心。概念构造是对现实世界一种抽象,涉及三种抽象,分别是分类、汇集、概括。能不能将数据流中实体及联系抽象成适当概念模型,详细说就是ER模型,关系到后续数据库逻辑设计。2.2.2概念设计目的与任务概念设计目的在需求分析基本上,抽象出实体,实体属性,以及实体之间联系。从一层数据流开始,先绘制局部ER图,在此基本上通过消除冗余,命名冲突、属性冲突和构造冲突,得到全局ER图。概念设计详细任务1.选取中层数据流为切入点,普通选取实际系统中子系统;2.设计分E-R图,即各子模块E-R图;3.生成初步E-R图,通过合并办法,做到各子系统实体、属性、联系统一;4.消除冲突,生成全局E-R图。2.2.3概念设计阶段成果通过对数据流抽象,得到了系统ER图。E-R图是直观表达概念模型有力工具,在图中有四个基本成分:1)矩形框:表达实体类型(考虑问题对象);2)菱形框:表达联系类型(实体间联系);3)椭圆形框:表达实体类型和联系类型属性;4)直线:联系类型与涉及实体类型之间以直线连接,并在直线部标上联系种类(1:1,1:n,m:n)。详细图示如下:通过度析,学生和课程之间存在多对多关系。详细体现为一种学生选多门课,一门课被各种学生修,其联系属性为学生某门课出勤次数。其实体联系模型如下图所示:.3-1学生-课程ER图2.2.3-22.2.3-2学生-教室ER图单位与教室之间关系描述为一种单位可借各种教室,一种教室可被各种单位借用。因而两者之间为多对多关系,其联系属性有借用时间,借用因素等。.3-4单位-教室ER图维修员与教室之间也为多对多关系,两者之间联系为维修员维修教室有关属性,例如损坏设备名,修复时间,更换部件名。2.2.3-4维修员-教室ER图2.2.3-4维修员-教室ER图2.2.3-52.2.3-5教室-教师-课程ER图得到局部ER图后,通过合并,消除冗余和命名冲突,构造冲突和属性冲突,得到全局ER图如下所示:2.2.3-6系统全局ER图2.3逻辑构造设计2.2.3-6系统全局ER图2.3.1引言逻辑构造设计就是把独立于任何一种数据模型信息构造转化为与选用DBMS所支持数据模型过程。详细来说就是设计优化,不存在不合理函数依赖关系模式,以及完毕子模式和存储过程设计。2.3.2逻辑构造设计阶段目的和任务目的:依照概念设计ER图,转化为优化关系模式。任务:将ER图转化为关系模式,并运用范式理论对模式进行优化,设计数据解决,功能模块图,顾客子模式与存储过程和触发器,完毕事务解决功能。2.3.3数据组织将E-R图转换为关系模型实体型转换为关系模式。实体属性就是关系属性,实体码就是关系码。对于实体间联系则有如下不同状况:

一种m:n联系转换为一种关系模式。与该联系相连各实体码以及联系自身属性均转换为关系属性,而关系码为各实体码组合。一种1:n联系可以转换为一种独立关系模式,也可以与n端相应关系模式合并。如果转换为一种独立关系模式,则与该联系相连各实体码以及联系自身属性均转换为关系属性,而关系码为n端实体码。

一种1:1联系可以转换为一种独立关系模式,也可以与任意一端相应关系模式合并。三个或三个以上实体间一种多元联系可以转换为一种关系模式。与该多元联系相连各实体码以及联系自身属性均转换为关系属性,而关系码为各实体码组合,具备相似码关系模式可合并。由ER图可以转化出如下关系模式:(1)学生(SNo,Sname,Sex,BirthYear,Pname,ClassNo,AttendSum,Photo,Dept)(2)课程信息(CNo,Cname,Time,WeekNo,Weekday,SectionNo,Pname,ClassNo,StuNum)(3)教师信息(TNo,Tname,Dept,Title,Sex,Tel)(4)单位信息(RentDeptname,Leadername,IDtype,ID,Tel)(5)维修员(RepairerNo,Repairername,Statement,Tel)(6)维修记录(RoomNo,RepairerNo,RepaireRecordNo,RepaireResult,RepairTime,Supplyname)(7)课程安排(CNo,TNo,RoomNo,WeekNo,Weekday,SectionNo,Pname,ClassNo,NewWeekday,(8)NewWeekNo,NewSectionNo,NewRoomNo,AdjLessonID)(9)学生出勤记录(SNo,CNo,AttendSum)(10)学生使用教室(SNo,RoomNo,DamageTime,DamageInfo,Devicename,LeaveTime,EnterTime)(11)教室信息(RoomNo,Roomname,Campusname,Buildname,Capacity,IsUusable,Type,RemainCapacity)(12)单位借用记录(RoomNo,Deptname,RentReason,WeekNo,Weekday,SectionNo)对模式进行检查和优化。先依照一事一地原则直觉判断,除了课程安排模式以及学生使用教室关系模式描述信息不是同一种事物外,其她都符合。在依照范式理论分析,除了课程安排模式外,都不存在某些函数依赖和传递函数依赖。课程安排关系中包括了课程表信息和调课信息。操作上存在大量冗余。因而应当拆提成两个模式。课程安排(CNo,TNo,RoomNo,WeekNo,Weekday,SectionNo,Pname,ClassNo)调课记录(CNo,Tno,RoomNo,WeekNo,Weekday,SectionNo,NewWeekday,NewWeekNo,NewSectionNo,NewRoomNo,AdjLessonID)将学生使用教室关系模式分解得到两个关系模式:设备损坏报告(SNo,RoomNo,DamageTime,DamageInfo,Devicename)学生进出教室表(SNo,RoomNo,EnterTime,LeaveTime)通过优化,得到数据库关系模式由十三张二维表构成,详细模式阐明见附录一。2.3.4数据解决依照需求分析,得到本系统重要由四个模块构成,分别为空教室查询,教师调课管理,教室借用管理和设备维护管理。空教室查询中包括空闲教室和教室空余座位查询以及学生上课出勤查询记录;调课管理子系统重要包括教室调课管理与课表查询;教室借用子系统重要完毕教室借用管理和记录查询功能;设备管理子系统重要有设备损坏报告记录查询和设备维护记录查询。2.3.4-1系统功能模块图因而系统功能模块图如2.3.4-1系统功能模块图表2.3.4-1顾客子模式设计视图编号视图名称数据项描述备注V1V_AttendenceSNo,Sname,Cname,Attendsum用于查看学生出勤次数V2EMPTYCLASSROOMRooname,Campusname,Buildname,IsUsable,Type,RemainCapacity用于空教室查询V3KECHENGBIAO上学时间,地点,教师,班级等用于课表查询V4MENDRECORDSRepaireRecordNo,Repairername,Roomname,Devicename,Supplyname,RepaireTime用于维修记录查询V5RentRecordsRoomname,RentDeptname,Leadername,Tel,RentReason,WeekNo,Weekday,SectionNo用于查询教室借用记录等2.4物理构造设计2.4.1物理设计目的物理设计阶段目的是依照SQLServer详细功能,设计优化物理数据库构造,使得在数据库上运营各种事务响应时间最小,存储空间运用率高,事务吞吐量大。2.4.2物理设计任务物理设计阶段为逻辑数据模型选获得一种最适当应有环境物理构造过程,也就是数据库物理设计。数据库物理设计普通分为两个环节:拟定数据库物理构造,在关系数据库中重要指存取办法和存储构造;对物理构造进行评价,评价重点是时间和空间效率。2.4.3索引建立1.建立唯一性索引在课程安排表上建立课程号唯一索引,以加快查询速度。CREATEUNIQUEINDEXIndex_CourseONCURRICULUM(CNoASC)在教室信息表上建立教室状态索引CREATEINDEXIndex_RoomStatementONCLASSROOM(RemainCapacityASC)2.5数据库实行2.5.1数据库实行阶段目的和任务数据库实行阶段就是设计人员用RDBMS提供数据定义语句和其她实用程序将数据库逻辑设计和物理设计成果严格描述出来,成为DBMS可以接受源代码,再通过调试产生目的模式。此阶段涉及两项重要工作,一是数据载入,另一项是应用程序编码和调试。2.5.2建立基本表与视图、建立触发器和存储过程、数据入库依照详细系统功能,对数据库某些基本表,建立了插入、删除、更新、查询存储过程,详情见附录4。数据入库通过两种途径:一是EXCEL表格导入信息,二是存储过程录入信息。2.5.3实行成果建立基本表与视图SQL语句及成果见附件2。2.6数据库调试与试运营2.6.1测试办法通过对基本表和视图进行查询、插入、删除和更新,然后特意输入错误数据,以检查基本表完整性约束功能,在操作过程中可以使用存储过程进行,尽量使用存储过程,查看用触发器保证事务对表级联操作效果。然后在查询分析器里对表或视图操作成果进行审核,看与否对的。2.6.2测试内容针对系统几大功能模块,涉及待测试内容重要有:1.测试教室空教室查询成果与否对的。2.测试对学生出勤次数记录查询与否对的。3.测试教室调课与单位借用解决与否符合规定4.测试设备报损和维护时解决与否符合系统规定。2.6.3测试成果见附录33.收获与体会在本次实习中,我通过实际设计数据库过程训练,掌握了数据库设计环节与办法。加深了对数据库设计每一环节理解,例如对每一种环节目、任务和所要得到技术文档。在训练过程中,我感受到了需求分析重要性。整个过程中,较多时间投入到了需求分析阶段,通过进一步分析业务流程和顾客需求,明确了系统解决信息内容,即数据字典内容。同步对系统功能也有了大体理解。在接下来概念设计、逻辑构造设计和物理设计阶段,我更是加深了对每一阶段特点理解,并且按照每一阶段任务,设计了ER图,数据库模式和顾客子模式,以及存储过程和触发器,来完毕事务逻辑。通过这次综合训练,我加深了对数据库理论理解,纯熟了对数据库各种操作,特别是存储过程和触发器使用。与此同步,通过课程论文撰写及排版,熟悉了科技论文书写格式和排版规定。在原则化训练过程中,强化了我对数据库设计理解。在实习中,我发现自己理论知识还并不是很夯实,这就规定在后来要加强数据库理论学习,并且争取机会,多做类似实战训练。4.存在问题和建议本次实习旨在对数据库设计过程培训和熟悉,进而养成数据库设计良好办法。由于时间有限,并且对真正业务流程不是十分熟悉,因而难免浮现偏差,而只是对详细业务简朴模仿。因而存在问题是与实际业务解决不太符合,功能不太完善。在逻辑设计阶段,对课程表信息在数据库中存储方式不太清晰。因而在后来研究中应当更加详细地熟悉详细业务,进而对系统进行完善和补充。道谢在为期两周实习过程中,自始至终受到了孙健敏教师、蔚继承教师、陈勇教师和杨晓辉教师支持和协助,再次表达衷心感谢!同步,在我遇到问题彷徨沮丧时,也受到了同窗们支持和勉励,再次真诚地向她们道谢!参照文献[1]王珊萨师煊,数据库系统概论(第四版),北京:高教出版社,[2]郑人杰殷人昆陶永雷,实用软件工程(第二版),北京:清华大学出版社,1997[3]王珊,数据仓库技术与联机分析解决,北京:科学出版社,1998[4]苗雪兰刘瑞新宋会群,《数据库技术及应用》机械工业出版社,

附录1数据库模式定义详细阐明附表1-1学生信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述SNoChar(8)是否Notnull学号SnameChar(14)否否Notnull学生姓名SexChar(3)男or女否否Notnull学生性别BirthYearint1970-否否出生年PnameChar(24)否否Notnull专业名ClassNoChar(5)否否Notnull班级号AttendSumint0-100否否出勤次数PhotoImage否否相片DeptChar(20)否否Notnull所在学院附表1-2课程信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述CnoChar(6)是否Notnull课程号CnameChar(20)否否Notnull课程名Timesmallint1-200否否学时WeekNoChar(10)否否Notnull周次WeekdayChar(10)否否Notnull星期SectionNo,Char(10)否否Notnull节次PnameChar(20)否否专业ClassNoChar(5)否否班级StuNumint1-300否否应到人数附表1-3教室信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述RoomNoChar(4)是否Notnull教室号RoomnameChar(6)是否教室名CampusnameChar(10)否否校区名BuildnameChar(10)否否教学楼名称CapacityInt20-500否否容量IsUusableChar(8)否否与否可用TypeChar(10)否否类型RemainCapacityint否否不不不大于Capacity剩余容量附表1-4教师信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述TnoChar(6)是否Notnull教师号TnameChar(14)是否Notnull教室名DeptChar(20)否否学院TitleChar(8)否否职称Sexchar(30)男or女否否性别TelChar(12)否否联系方式附表1-5单位信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述RentDeptnameChar(20)是否Notnull借用单位名LeadernameChar(14)否否Notnull负责人姓名IDtypeChar(6)否否Notnull证件类型IDChar(20)否否Notnull证件号TelChar(12)否否Notnull电话附表1-6维修员信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述RepairerNoChar(6)是否Notnull维修工编号RepairernameChar(14)否否Notnull维修工姓名StatementChar(6)否否状态TelChar(12)否否联系方式附表1-7学生出勤信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述SNoChar(8)是是学号CNoChar(6)是是课程号AttendSumsmallint不不大于等于0否否出勤次数附表1-8设备损坏报告表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述SNoChar(8)是参照学生标SNoNotnull学号RoomNoChar(4)是参照教室标RoomNoNotnull教室号DamageTimesmalldatetime是否损坏时间DamageInfoChar(50)否否损坏信息DevicenameChar(20)否否Notnull损坏设备名附表1-9维修记录信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述RepairerNoChar(6)是参照维修工RepairerNoNotnull维修工号RoomNoChar(4)是参照教室标RoomNoNotnull教室号RepaireRecordNoChar(6)否否Unique维修记录编号Devicenamechar(10)否否损坏设备名RepaireResultchar(6)否否维修成果Supplynamechar(10)否否更换部件名RepaireTimesmalldatetime否否维修时间附表1-10调课记录信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述CNochar(6)是参照课程信息CNoNotnull课程RoomNoChar(4)是参照教室RoomNoNotnull教室号TnoChar(6)是参照教师信息TnoNotnull教师号WeekNoChar(10)是否Notnull周次WeekdayChar(10)是否Notnull星期SectionNoChar(10)是否Notnull节次PnameChar(20)否否专业名ClassNoChar(6)否否班级号NewWeekNoChar(10)否否调节后周次NewWeekdayChar(10)否否调节后星期NewSectionNoChar(10)否否调节后节次NewRoomNoChar(4)否否调节后教室AdjLessonIDChar(6)否否unique调课单编号附表1-11课程安排信息表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述CNochar(6)是参照课程信息CNoNotnull课程RoomNoChar(4)是参照教室RoomNoNotnull教室号TnoChar(6)是参照教师信息TnoNotnull教师号WeekNoChar(10)是否Notnull周次WeekdayChar(10)是否Notnull星期SectionNoChar(10)是否Notnull节次PnameChar(20)专业名ClassNoChar(6)班级号附表1-12学生进入教室登记表属性名数据类型取值范畴与否为主属性与否为外键完整性属性描述SNoChar(8)是参照学生标SNoNotnull学号RoomNoChar(4)是参照教室标RoomNoNotnull教室号EnterTimesmalldatetime是NotnullLeaveTimesmalldatetime必要不不大于进入时间

附录2数据库基本表和视图创立一、创立数据库CREATEDATABASE教室管理;二、创立基本表USE教室管理;/*创立学生信息基本表*/CREATETABLESTUDENT(SNo Char(8)PRIMARYKEY,Sname Char(14)NOTNULL,Sex Char(3)NOTNULL,BirthYearint,Pname Char(24)NOTNULL,ClassNo Char(5)NOTNULL,AttendSumint,photoImage,Dept Char(20),CHECK(Sex='男'ORSex='女'),)/*创立课程信息表*/CREATETABLECOURSE(Cno Char(6)PRIMARYKEY,Cname Char(20)Notnull,Time smallint,WeekNo Char(10)Notnull,Weekday Char(10)Notnull,SectionNoChar(10)Notnull,Pname Char(20),ClassNo Char(5),StuNum int,CHECK(timeBETWEEN1AND200),CHECK(StuNumBETWEEN1AND300),)/*创立教室信息基本表*/CREATETABLECLASSROOM(RoomNo Char(4)PRIMARYKEY,RoomnameChar(6),CampusnameChar(10),BuildnameChar(10),Capacityint,IsUusableChar(8),Type Char(10),RemainCapacityint,CHECK(CapacityBETWEEN20AND500),CHECK(RemainCapacity<=Capacity),)/*创立教师信息基本表*/CREATETABLETEACHER(Tno Char(6)PRIMARYKEY,Tname Char(14)NOTNULL,Dept Char(20),Title Char(8),Sex char(30),Tel Char(12),CHECK(SexIN('男','女')),)/*创立借用单位信息基本表*/CREATETABLEDepartment(RentDeptnameChar(20)PRIMARYKEY,LeadernameChar(14)NOTNULL,IDtype Char(6)NOTNULL,ID Char(20)NOTNULL,Tel Char(12)NOTNULL,)/*创立维修工信息基本表*/CREATETABLERepairer(RepairerNoChar(6)PRIMARYKEY,RepairernameChar(14)NOTNULL,StatementChar(6),Tel Char(12),)/*创立学生出勤信息表*/CREATETABLEATTENDENCE(SNo Char(8),CNo Char(6),AttendSumsmallint,PRIMARYKEY(SNo,CNo),FOREIGNKEY(SNo)REFERENCESSTUDENT(SNo),FOREIGNKEY(CNo)REFERENCESCOURSE(CNo),CHECK(AttendSum>=0),)/*创立设备损坏报告基本表*/CREATETABLEDAMAGEREPORT(SNo Char(8),RoomNo Char(4),DamageTimesmalldatetime,DamageInfoChar(50),DevicenameChar(20),PRIMARYKEY(SNo,RoomNo),FOREIGNKEY(SNo)REFERENCESSTUDENT(SNo),FOREIGNKEY(RoomNo)REFERENCESCLASSROOM(RoomNo),)/*创立维修记录基本表*/CREATETABLEMENDRECORD(RepairerNo Char(6),RoomNo Char(4)NOTNULL,RepaireRecordNo Char(6)UNIQUE,Devicename char(10),RepaireResult char(6),Supplyname char(10),RepaireTime smalldatetime,FOREIGNKEY(RoomNo)REFERENCESCLASSROOM(RoomNo),FOREIGNKEY(RepairerNo)REFERENCESRepairer(RepairerNo),)/*创立课程安排基本表*/CREATETABLECURRICULUM(CNo Char(6),RoomNo Char(4),Tno Char(6),WeekNo Char(10),Weekday Char(10),SectionNoChar(10),Pname Char(20),ClassNo Char(6),PRIMARYKEY(CNo,RoomNo,TNo,WeekNo,Weekday,SectionNo),FOREIGNKEY(RoomNo)REFERENCESCLASSROOM(RoomNo),FOREIGNKEY(CNo)REFERENCESCOURSE(CNo),FOREIGNKEY(TNo)REFERENCESTEACHER(TNo),)/*创立调课记录基本表*/CREATETABLEADJUSTRECORD(CNo Char(6),RoomNo Char(4),Tno Char(6),WeekNo Char(10),Weekday Char(10),SectionNoChar(10),NewWeekNoChar(10),NewWeekdayChar(10),NewSectionNoChar(10),NewRoomNoChar(4),PRIMARYKEY(RoomNo,WeekNo,Weekday,SectionNo),FOREIGNKEY(RoomNo)REFERENCESCLASSROOM(RoomNo),FOREIGNKEY(CNo)REFERENCESCOURSE(CNo),FOREIGNKEY(TNo)REFERENCESTEACHER(TNo),)/*创立借用登记表*/CREATETABLERENTRECORD(RoomNoChar(4),DeptnameChar(20),RentReasonChar(50),WeekNoChar(10),WeekdayChar(10),SectionNoChar(10),PRIMARYKEY(RoomNo,Deptname),FOREIGNKEY(RoomNo)REFERENCESCLASSROOM(RoomNo),FOREIGNKEY(Deptname)REFERENCESDepartment(RentDeptname),)/*创立学生进出教室信息表*/CREATETABLEENTER_LEAVE(SNo Char(8),RoomNo Char(4),EnterTimesmalldatetime,LeaveTimesmalldatetime,PRIMARYKEY(SNo,RoomNo,EnterTime),FOREIGNKEY(SNo)REFERENCESSTUDENT(SNo),FOREIGNKEY(RoomNo)REFERENCESCLASSROOM(RoomNo),CHECK(lEAVETIME>ENTERTIME),)视图建立/*创立学生出勤视图*/CREATEVIEWV_AttendenceASSELECTSTUDENT.SNo,Sname,Cname,ATTENDENCE.AttendsumFROMSTUDENT,ATTENDENCE,COURSEWHERESTUDENT.SNo=ATTENDENCE.SNoANDATTENDENCE.CNo=COURSE.CNo/*建立查看空教室视图*/CREATEVIEWEMPTYCLASSROOMASSELECTRoomname,Campusname,Buildname,IsUsable,Type,RemainCapacityFROMCLASSROOMWHEREIsusable='可用'/*创立课程表视图*/CREATEVIEWKECHENGBIAOASSELECTCURRICULUM.WeekNo,CURRICULUM.Weekday,CURRICULUM.SectionNo,COURSE.Cname,TEACHER.Tname,CLASSROOM.Roomname,Buildname,CampusnameFROMCOURSE,TEACHER,CURRICULUM,CLASSROOMWHERECOURSE.CNo=CURRICULUM.CNoANDTEACHER.TNo=CURRICULUM.TNoANDCLASSROOM.RoomNo=CURRICULUM.RoomNo/*创立维修记录查询视图*/CREATEVIEWMENDRECORDSASSELECTRepaireRecordNo,Repairername,Roomname,Devicename,Supplyname,RepaireTimeFromRepairer,MendRecord,CLASSROOMwhereRepairer.RepairerNo=MendRecord.RepairerNoandMendRecord.RoomNo=CLASSROOM.RoomNo/*创立教室借用记录视图*/CREATEVIEWRentRecordsASSELECTRoomname,Department.RentDeptname,Leadername,Tel,RentReason,WeekNo,Weekday,SectionNoFROMRENTRECORD,Department,CLASSROOMWHERERENTRECORD.Deptname=Department.RentDeptnameANDCLASSROOM.RoomNo=RENTRECORD.RoomNo

附录3存储过程、触发器创立与数据库验证解决教室人数增长或减少/*创立教室人数增长时触发器*/DROPTRIGGERADDSTUDENTCREATETRIGGERADDSTUDENTONENTER_LEAVEAFTERINSERTASBEGINUPDATECLASSROOMSETRemainCapacity=RemainCapacity-1WHERERoomNoIN(SELECTRoomNoFROMINSERTED);ENDINSERTINTOENTER_LEAVEVALUES('09207035','0002','-12-30',)/*创立教室人数减少时触发器*/CREATETRIGGERPLUSSTUDENTONENTER_LEAVEAFTERDELETEASBEGINUPDATECLASSROOMSETRemainCapacity=RemainCapacity+1WHERERoomNoIN(SELECTRoomNoFROMDELETED)ENDDELETEFROMENTER_LEAVEWHERESNo='09207035'解决设备损坏时当教室损坏时,将教室状态设立为不可用。CREATETRIGGERDAMAGEEVENTONDAMAGEREPORTAFTERINSERTASBEGINUPDATECLASSROOMSETIsUsable='损坏'WHERERoomNoIN(SELECTRoomNoFROMINSERTED)ENDCREATEPROCEDUREDamageInfoReport(@SNoCHAR(8),@RoomNoCHAR(4),@DamageTimeSMALLDATETIME,@damageInfoCHAR(50),@DevicenameCHAR(20))ASBEGININSERTINTODAMAGEREPORTVALUES(@SNo,@RoomNo,@DamageTime,@damageInfo,@Devicename)END附3-1设备损坏报告事务解决附3-1设备损坏报告事务解决解决单位借用时/*单位借用教室解决*/CREATEPROCEDURERENTCLASSROOM(@RoomNoCHAR(4),@deptnamechar(14),@Reasonchar(50),@WeekNochar(10),@Weekdaychar(10),@SectionNochar(10))ASBEGINUPDATECLASSROOMSETIsUsable='借用'WHERERoomNo=@RoomNo;INSERTINTORENTRECORDVALUES(@RoomNo,@deptname,@Reason,@WeekNo,@Weekday,@SectionNo);END/*使用完后将教室状态改回可用状态*/CREATEPROCEDURECHANGESTATEMENT(@RoomNoCHAR(4))ASBEGINUPDATECLASSROOMSETIsUsable='可用'WHERERoomNo=@Roo

温馨提示

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

评论

0/150

提交评论