版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计课程名称__数据库应用与设计____题目名称__学生借用教室管理系统2023年12月15日目录\l"_Toc296460878"一、概述及系统需求分析3\l"_Toc296460880"二、数据库概念结构设计5\l"_Toc296460881"学生借用教室管理系统概念结构设计〔E-R图〕6\l"_Toc296460882"三、数据库的逻辑结构设计7\l"_Toc296460883"3.1E-R图向关系模型的转换7\l"_Toc296460884"3.2用数据库建表并完成数据的完整性8\l"_Toc296460885"3.3建表的脚本语句8\l"_Toc296460886"3.4建立关系图11\l"_Toc296460887"3.5数据输入11\l"_Toc296460888"3.6创立视图13\l"_Toc296460890"四、功能实现13\l"_Toc296460891"功能模块分析11\l"_Toc296460895"五、破坏数据库完整性调试16\l"_Toc296460896"5.1primarykey约束。16\l"_Toc296460897"5.2unique约束16\l"_Toc296460893"5.3check约束17\l"_Toc296460899"六、课程设计心得体会18一、概论及系统需求分析对“学生活动借用教室管理系统〞需求概述有如下几个方面:首先,背景是现今大学生们都喜欢积极参加各式各样的学生活动来提高自己的综合素质,所以学生们借用教室来进行活动成为了在大学里最普遍的现象,但与此同时,学校中的“学生活动借用教室管理系统〞却跟不上时代的步伐,管理系统没有得到很好的完善,学生们从中钻了不少空子。问题是导致学校在管理借用教室的工作出现了不少问题。目的是为了解决在管理过程中存在的种种问题,防止例如教室被违规使用等情况的出现,设计一个较为完善的“学生活动借用教室管理系统〞数据库就成为解决问题的当务之急。为了满足学校管理层有效管理的目的和学生需求,“学生活动借用教室管理系统〞应该能够具备多种性能,比方:高效性,灵活性,实用性等。“学生活动借用教室管理系统〞主要如下:学生活动借用教室登记处学生活动借用教室现要进行相关信息的登记,申请表格式如下:学生借用教室信息登记表姓名学号借用时间借用教室规模借用教室编号〔1〕登记处需要将信息录入数据库系统,并对信息变化进行更改〔2〕查询教室空闲情况以及设施维修情况之后再安排教室给学生等教室管理处〔1〕安排教室维修人员值班,检查教室设施使用情况,登记设施出现问题和维修情况〔2〕对学生活动期间使用教室记录,职工在记录的时候对教室查收需登记表格式如下:使用登记表序号职工号学号“学生借用教室管理系统〞需求分析教室借用管理工作如下:1、数据的收集:〔1〕需要进行学生活动借用教室登记:包括借用时间,学生姓名,学生学号等〔2〕录入学生活动借用教室编号,借用时间等〔3〕录入职工负责教室安排:包括工作人员职工号,职工姓名,负责教室编号等〔4〕完成教室使用登记:记录职工信息,借用教室的学生学号等2、管理:〔1〕系统的信息要及时更新,在借用教室完成之后要及时删除借用信息,以便学生教室借用〔2〕教室的设施情况出现问题要在系统中进行及时的更新,用来作为教室能否被借用的参照条件之一。3、查询工作①查询可借用教室:能查询到教室借用情况,设施情况的教室的情况②查询职工负责教室的人员安排③查询教室设施情况信息二、数据库概念结构设计“学生借用教室管理系统〞概念结构设计〔E-R图〕通过使用PowerDesigner工具制作出如下六个相关的实体,联系,属性学生活动借用教室登记处分E-R图管理记录处分E-R图整体的系统E-R图三、数据库的逻辑结构设计3.1E-R图向关系模型的转化3.2用数据库建表并完成数据的完整性建数据库的语句:createdatabase学生借用教室管理系统在“学生借用教室管理系统〞中建立模式语句是:createschemalyx数据完整性分为四类:实体完整性〔EntityIntegrity〕、域完整性〔DomainIntegrity〕、参照完整性〔ReferentialIntegrity〕、用户自定义完整性〔User-definedIntegrity〕。实体完整性:在primarykey定义的主属性不能为空值域完整性:参照的属性都是一致的域取值参照完整性:在职工表中,教室编号是参照了教室表中编号的属性,使用记录表中分别参照了职工表的工号和学生表的学号,学生表的借用教室编号参照了教室表中的编号,在关系图中可以看出四个表的参照关系符合了参照完整性用户定义完整性:在四个表中出现了多个check的约束,这是用来限制值的域范围,在数据输入的时候需要考虑到check约束,否那么插入数据不能完成。3.3建表的脚本语句USE[学生借用教室管理系统]GO/******对象:Table[lyx].[教室]脚本日期:12/30/202316:20:37******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[lyx].[教室]( [编号][char](30)NOTNULL, [规模][char](2)NULL, [设施情况][char](20)NULL,PRIMARYKEYCLUSTERED( [编号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******对象:Table[lyx].[使用记录]脚本日期:12/30/202316:20:38******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[lyx].[使用记录]( [序号][int]NOTNULL, [职工号][char](10)NULL, [学生号][int]NULL,PRIMARYKEYCLUSTERED( [序号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******对象:Table[lyx].[学生]脚本日期:12/30/202316:20:40******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[lyx].[学生]( [姓名][char](30)NULL, [学号][int]NOTNULL, [借用教室编号][char](30)NULL, [借用时间][datetime]NULLDEFAULT(getdate()),PRIMARYKEYCLUSTERED( [学号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY],UNIQUENONCLUSTERED( [借用教室编号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******对象:Table[lyx].[职工]脚本日期:12/30/202316:20:41******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[lyx].[职工]( [工号][char](10)NOTNULL, [姓名][char](30)NULL, [教室编号][char](30)NULL,PRIMARYKEYCLUSTERED( [工号]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******对象:Check[CK__教室__编号__7D78A4E7]脚本日期:12/30/202316:20:37******/ALTERTABLE[lyx].[教室]WITHCHECKADDCHECK(([编号]like'[A-D][1-9][0-9][0-9]'))GO/******对象:Check[CK__教室__规模__7E6CC920]脚本日期:12/30/202316:20:37******/ALTERTABLE[lyx].[教室]WITHCHECKADDCHECK(([规模]='小'OR[规模]='中'OR[规模]='大'))GO/******对象:Check[CK__教室__设施情况__7F60ED59]脚本日期:12/30/202316:20:37******/ALTERTABLE[lyx].[教室]WITHCHECKADDCHECK(([设施情况]='维修中'OR[设施情况]='正常'))GO/******对象:Check[CK__职工__工号__07020F21]脚本日期:12/30/202316:20:41******/ALTERTABLE[lyx].[职工]WITHCHECKADDCHECK(([工号]like'ZG[0-9][1-9]'))GO/******对象:ForeignKey[FK__使用记录__学生号__0BC6C43E]脚本日期:12/30/202316:20:38******/ALTERTABLE[lyx].[使用记录]WITHCHECKADDFOREIGNKEY([学生号])REFERENCES[lyx].[学生]([学号])GO/******对象:ForeignKey[FK__使用记录__职工号__0AD2A005]脚本日期:12/30/202316:20:38******/ALTERTABLE[lyx].[使用记录]WITHCHECKADDFOREIGNKEY([职工号])REFERENCES[lyx].[职工]([工号])GO/******对象:ForeignKey[FK__学生__借用教室编号__03317E3D]脚本日期:12/30/202316:20:40******/ALTERTABLE[lyx].[学生]WITHCHECKADDFOREIGNKEY([借用教室编号])REFERENCES[lyx].[教室]([编号])GO/******对象:ForeignKey[FK__职工__教室编号__07F6335A]脚本日期:12/30/202316:20:41******/ALTERTABLE[lyx].[职工]WITHCHECKADDFOREIGNKEY([教室编号])REFERENCES[lyx].[教室]([编号])GO3.4建立关系图3.5数据输入在教室表中插入数据:insertintolyx.教室(编号,规模,设施情况)values('A101','大','正常')insertintolyx.教室(编号,规模,设施情况)values('A102','大','正常')insertintolyx.教室(编号,规模,设施情况)values('A103','大','正常')insertintolyx.教室(编号,规模,设施情况)values('B201','小','正常')insertintolyx.教室(编号,规模,设施情况)values('B104','中','维修中')insertintolyx.教室(编号,规模,设施情况)values('C301','中','正常')在学生表中插入数据:insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('zhansan','001','A101',default)insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('lisi','002','A103',default)insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('liming','004','B104',default)insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('zhanan','111','C301',default)insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('zhanshan','010','A102',default)在职工表中插入数据:insertintolyx.职工(工号,姓名,教室编号)values('ZG01','xiaolin','A101')insertintolyx.职工(工号,姓名,教室编号)values('ZG02','xiaolo','A102')insertintolyx.职工(工号,姓名,教室编号)values('ZG03','xiaolou','A103')insertintolyx.职工(工号,姓名,教室编号)values('ZG04','xiaokan','B104')insertintolyx.职工(工号,姓名,教室编号)values('ZG06','xiaoli','C301')在使用登记了表中插入数据:insertintolyx.使用记录(序号,职工号,学生号)values('1','ZG01','001')insertintolyx.使用记录(序号,职工号,学生号)values('2','ZG02','010')insertintolyx.使用记录(序号,职工号,学生号)values('3','ZG03','002')insertintolyx.使用记录(序号,职工号,学生号)values('4','ZG04','004')3.6创立视图建立一个“教室使用情况〞视图,在视图中将,学生学号显示出来,视图的数据源于教室表中教室编号,设备情况和学生表的学号createviewlyx.教室使用情况asselect编号,设施情况,学号fromlyx.教室fulljoinlyx.学生on教室.编号=学生.借用教室编号四、功能实现功能模块分析〔1〕向数据库表格插入数据使用insert命令insertinto模式名.表名values(‘属性名’….)例如:使用登记了表中插入数据:insertintolyx.使用记录(序号,职工号,学生号)values('4','ZG04','004')职工表中插入数据:insertintolyx.职工(工号,姓名,教室编号)values('ZG06','xiaoli','C301')学生表中插入数据:insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('zhanshan','010','A102',default)教室表中插入数据:insertintolyx.教室(编号,规模,设施情况)values('A105','中','正常')〔2〕信息查询借用教室查询编号,设施情况,学号的表,看是否教室符合借用条件select编号,设施情况,学号fromlyx.教室fulljoinlyx.学生on教室.编号=学生.借用教室编号2、管理:〔1〕系统的信息要及时更新,在借用教室完成之后要及时删除借用信息例如删除过期的学生借用教室信息:deletelyx.使用记录where学生号in(select学号fromlyx.学生where学号='001')〔2〕教室的设施情况出现问题要在系统中进行及时的更新,用来作为教室能否被借用的参照条件之一。如:对‘A102’教室的设施情况进行及时修改,防止学生借用到坏设施的教室updatelyx.教室set设施情况='维修中'where编号='A102'3、查询工作①查询可借用教室:能查询到教室借用情况,设施情况的教室的情况,教室借用情况一览表②查询职工负责教室的人员安排select工号,教室编号fromlyx.职工③查询教室设施情况信息select设施情况fromlyx.教室五、破坏数据库完整性调试5.1primarykey约束insertintolyx.教室(编号,规模,设施情况)values('B104','中','正常')insertintolyx.教室(编号,规模,设施情况)values('B104','小','正常')5.2unique约束insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('zhanshan','010','A102',default)insertintolyx.学生(姓名,学号,借用教室编号,借用时间)values('wangmin','012','A102',default)5.3check约束insertintolyx.教室(编号,规模,设施情况)values('B105','小','不正常')六、课程设计心得体会由于上个学期学过了JAVA,这个学期上的数据库应用与设计这门课程,觉得它相对简单了一点,但是对于一个电脑菜鸟而言,学起来确实还是消耗了很大的功夫,但很庆幸,在通过自己实践完成一个数据库设计的过程中,我从中收获了很多。我选择了一个人完成课题,因为个人完成全部的课程设计,从需求分析,概念结构分析,逻辑结构分析,物理结构分析,数据库实施,检查完整性等等方面都是对自己一个人的能力有很高的要求,自己考虑的问题也会较为全面,应该得以让我拥有更大的进步。但一开始做课程设计的时候,由于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业信息化与网络安全制度
- 企业绩效评估与奖惩制度
- 2026福建厦门市集美区滨海幼儿园非在编教职工招聘3人备考题库附答案
- 2026福建省连江国有林场招聘劳务派遣人员2人参考题库附答案
- 2026西安市灞桥区职业高级中学教师招聘参考题库附答案
- 2026贵州贵阳市城乡建设学校招聘兼职教师备考题库附答案
- 2026重庆中医药学院附属璧山医院(重庆市璧山区中医院)招聘37人参考题库附答案
- 2026陕西榆林市横山区石窑沟卫生院招聘4人参考题库附答案
- 2026青海泰丰先行锂能科技有限公司高端人才招聘40人备考题库附答案
- 中共南部县委组织部关于2025年南部县党政机关公开考调工作人员的(16人)备考题库附答案
- 建房框架结构合同范本
- 2025年宁波市数据局直属事业单位公开招聘工作人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 民用无人机安全培训课件
- 广东省2026届高二上数学期末复习检测试题含解析
- 医务科科长年度述职报告课件
- 零缺陷培训教学课件
- 大仲马课件教学课件
- 2026年餐饮企业税务合规培训课件与发票管理风控方案
- 2025至2030尿素硝酸铵(UAN)行业产业运行态势及投资规划深度研究报告
- 集团公司年度经营状况分析报告
- 2025蜀道集团下属四川金通工程试验检测有限公司招聘18人考试参考题库附答案解析(夺冠)
评论
0/150
提交评论