




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程学院数据库原理与应用课程设计论文题 目:教室管理系统数据库设计姓 名:王健 09104019 专 业:计算机科学与技术 指导老师:晁晓菲 完成日期:二零零六年七月 摘 要关键字:教室管理;数据库;存储过程本系统主要是面向教室管理的相关职工,实现有关数据的查询、录入和修改,其相关实现是用存储过程实现的,这样对于用户比较方便。对其功能主要是实现了三个模块的功能,教室查询子系统,卫生管理子系统和设备管理子系统。教室查询子系统主要包括学生对课程的查询,学生对空教室的查询,员工对在多媒体教室上课的课程的查询;卫生管理子系统主要包括值班信息的查询,值班情况的记录,值班情况的查询等;设备管理子系统主要包括多媒体设备损坏的记录与维修,常规设备的记录与维修等。目 录1 引言11.1 本课题的研究意义11.2 本论文的目标和任务12 数据库设计12.1 需求设计12.1.1引言12.1.2 目标与任务12.1.3阶段结果22.14 数据结构52.1.5 处理逻辑描述52.2 概念设计62.2.1 引言62.2.2 概念模型设计62.2.3实体的属性、联系的属性62.3 逻辑设计72.3.1 引言72.3.2 数据组织72.3.3数据处理82.4 物理设计92.4.1 引言92.4.2目标与任务92.5 数据库实施92.5.1 建立基本表92.5.2 建立视图112.5.3 查询与更新132.5.4建立触发器183 数据库调试与试运行183.1查询183.2 更新204 收获与体会225 存在的问题与建议225.1存在的问题225.2建议22附录23附录1业务流程图23附录2数据流程图25附录3 e-r图2804级计算机专业1班 数据库原理与应用课程设计论文1 引言1.1 本课题的研究意义本课题的研究对于大学的教室管理有较大的好处,大学里教室数量较多,上课和学生自习的流动性强,这就为教室的管理带来一些困难,传统的教室管理方式耗人力较多,随着时代的发展,它就显得跟不上时代的步伐,为了能够更加有效的,耗人力少的管理教室,也为了能够适应时代的发展,很有必要利用计算机,运用数据库来开发一个教室管理系统。1.2 本论文的目标和任务 本次教室管理系统数据库开发的目的是2 数据库设计2.1 需求设计2.1.1引言在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。为了保证教室环境良好的运转,教室的管理也就显得十分的必要和重要。但是教室的管理也并不是一件很容易的事情。教室设备(尤其是多媒体设备)有所损坏必须及时登记,修复,否则很可能影响以后教学,造成教学事故。教室的使用具有一定的计划性和流动性,即一个班在相应的时间里,所上的课程和使用的教室是固定的,但是不同的课程在不同的时间里会使用不同的教室,这与教务处的课程安排是密切相关的。尤其是使用多媒体教室的时候,这就显得比较麻烦。为了能够更系统的,更有序的,更合理的,更有效的进行教室管理,有必要利用计算机来处理各种信息,这也就需要一个更有效的教室管理系统。为此,经过较详细的调查和慎重的思考,我决定做一个教室管理系统,来解决这些问题,使管理简化,方便而且更有效。2.1.2 目标与任务(1)目标充分了解用户的需求,了解工作的流程,以及可能出现的问题。(2)任务处理对象:本系统总体上说涉及了三个方面的数据,职工的信息,教室的信息,课程的信息,其中职工信息包括了员工信息和清洁工信息。此外还有值班安排信息,多媒体设备损坏纪录,常规设备损坏纪录。处理功能要求:教室管理系统的具体功能包括三个方面:教室查询子系统,卫生管理子系统,设备管理子系统。教室查询子系统主要完成空闲教室查询(无课教室),教室使用查询的功能;卫生管理子系统主要完成值班安排与修改功能和值班情况记录的功能;设备管理子系统比较麻烦,主要是接收损坏信息,通过检查其有效性,把有效的损坏信息分类并且记录,然后通知维修工,再纪录维修情况的功能。(3)安全性和完整性要求在这个系统中涉及到了相关人员的问题,而且同一个职工可能在不同的表中存在,要考虑到,如果辞退或者某职工辞职,那么不仅要在职工信息表中删除相应的信息,还要在其他的相关表中删除信息,这就涉及到了安全性的问题,初步打算用一个触发器来解决这个问题。完整性也是一个重要的内容,它也涉及安全性上的问题。2.1.3阶段结果(1)用户调查本系统的用户范围比较广,教室查询子系统主要针对学生,通过听取周围学生的看法和意见,以及自身的体会,比较充分的了解了学生的需求;卫生管理子系统主要针对教室管理的员工及其主任,我直接询问了相关的员工,通过对他们的询问,了解了他们的工作的基本流程,及其需求;设备管理子系统主要针对,教室管理的员工和维修工,通过对员工的咨询,了解了他们管理的工作流程和具体的需求。通过这个调查充分感受到做调查的困难,也认识到要做好一个系统必须充分了解用户的各方面的需求,这样才有可能使得系统满足用户的需求。经过这次调查,我还认识到,做调查一定要注意方法。(2)业务流程图详见附录1(3)数据流程图下面是一个设备流程图的底层流程图:其它的详见附录2(4)数据字典数据项:表1 教室信息数据项数据项名数据项含义说明数据类型长度取值范围取值含义于其他数据项的逻辑关系数据项之间的联系spart校区char10rname教室名称char10position所在位置char20type教室类型char10room容量int4数据项名数据项含义说明数据类型长度取值范围取值含义于其他数据项的逻辑关系数据项之间的联系cno课程号char10cname课程名称char20ctime课程学时int4weed周次char10day星期char10node节次char20rname教室名称char10mno系号char10mname系名char20cg班级char20number人数int4表2 课程信息数据项表3 职工信息数据项数据项名数据项含义说明数据类型长度取值范围取值含义于其他数据项的逻辑关系数据项之间的联系pno职工编号char10等于维修工编号pname姓名char20等于维修工姓名sex性别char4age年龄int4jname职业名称char10addr住址char40tel联系电话char20week周次char10day星期char10ontime上班时间char20uptime下班时间char20表4 损坏信息数据项数据项名数据项含义说明数据类型长度取值范围取值含义于其他数据项的逻辑关系数据项之间的联系rname教室名称char10dlevel损坏程度char10mend修复难易char10mno维修工编号char10等于维修工编号mname维修工姓名char10等于维修工姓名repair是否修复char102.14 数据结构表数据结构表数据结构名含义说明组成class(t1)教室信息校区名,教室名称,所在位置,教室类型,容量course(t2)课程信息课程号,课程名称,周次,星期,节次,课程学时,教室名称,系号,系名,班级,人数worker(d1)职工信息职工编号,姓名,职业名称,性别,年龄,住址,联系电话duty(d2)值班职工编号,姓名,职业名称,星期,上班时间,下班时间state(d3)值班情况记录职工编号,姓名,职业名称,星期,周次media(p1)多媒体设备损坏记录教室名称,损坏程度,修复难易,维修工编号,维修工姓名,是否修复routine(p2)常规设备损坏记录教室名称,损坏程度,维修工编号,维修工姓名,是否修复2.1.5 处理逻辑描述(1)教室查询子系统输入:查询条件输出:查询结果处理:按照条件,在相应的表中,查找相应的数据,然后输出(1)卫生管理子系统输入:查询、插入或修改的目标结果:输出查询的结果,或者插入成功,或者修改成功处理:在相应的表中完成相应的操作。(3)设备管理子系统输入:插入或修改或查询的条件或目标结果:输出查询结果或插入成功或修改成功处理:在相关表中完成相关的操作。2.2 概念设计2.2.1 引言概念结构的实际是整个数据库设计的关键,这个阶段主要的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于dbms的概念模型(e-r图)。它的主要特点是:1.能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;2.易于理解,因此可以用它和不熟悉计算机的用户交换意见;3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;4.易于向关系、网状、层次等各种数据模型转换。2.2.2 概念模型设计(1)设计e-r图详见附录32.2.3实体的属性、联系的属性主码表示如:教室名称;外码表示如:教室名称;普通属性如:教室名称。教室(校区名,教室名称,所在位置,教室类型,容量);课程(课程号,教室名称,课程名称,周次,星期,节次,课程学时,系名,班级,人数);职工(职工编号,姓名,职业名称,性别,年龄,住址,联系电话);多媒体设备损坏(教室名称,维修工编号,损坏程度,修复难易,维修工姓名,是否修复,备注);常规设备损坏(教室名称,维修工编号,损坏程度,维修工姓名,是否修复,备注);值班信息(职工编号,姓名,职业名称,星期,上班时间,下班时间);值班记录(职工编号,姓名,职业名称,星期,周次);2.3 逻辑设计2.3.1 引言这个阶段的任务就是把概念结构设计阶段设计好的基本e-r图转换为与dbms所支持的数据模型相符合的逻辑结构。在这个阶段里,该系统的目标就是把基本的e-r图转换成关系数据模型。2.3.2 数据组织(1)将e-r图转换成关系模型:e-r图转换成关系模型应该遵循以下原则:1. 一个实体型转换为一个关系模式。2. 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。3. 把一个1:n联系转换为一个独立的关系模式。4. 一个m:n联系转换为一个关系模式。5. 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。6. 具有相同码的关系模式可合并。(2)转换的结果:主码表示如:教室名称;外码表示如:教室名称;普通属性如:教室名称。教室(校区名,教室名称,所在位置,教室类型,容量);课程(课程号,教室名称,课程名称,教师编号,周次,星期,节次,课程学时,系名,班级,人数);职工(职工编号,姓名,职业名称,性别,年龄,住址,联系电话);多媒体设备损坏(教室名称,维修工编号,损坏程度,修复难易,维修工姓名,是否修复,备注);常规设备损坏(教室名称,维修工编号,损坏程度,维修工姓名,是否修复,备注);值班信息(职工编号,姓名,职业名称,星期,上班时间,下班时间);值班记录(职工编号,姓名,职业名称,星期,周次); 该模式没有插入异常,删除异常等操作异常现象,已经达到3nf。(3)设计用户子模式:鉴于安全问题,每一个表都应有相应的视图。建立相关的视图如下:教室视图:class1(校区,教室名称,地点,教室类型,容量);课程与教室视图:course1(校区,教室名称,教室类型,课程名称,周次,星期,节次,容量);这两个视图包含了允许学生和员工等用户查询的属性,不允许修改,插入和删除。为职工做视图:值日视图:duty1(职工编号,职工姓名,职业名称,上班时间,下班时间);清洁工值班记录:state1(职工编号,职工姓名,职业名称,日期,情况);员工值班记录:state2(职工编号,职工姓名,职业名称,日期,情况);职工视图:state3(职工编号,职工姓名,职业名称,日期,情况);常规设备损坏纪录:routine1(教室名称,职工编号,职工姓名,描述,是否修复,日期,备注);多媒体设备损坏:media1(教室名称,职工编号,职工姓名,描述,修复难易,是否修复,日期,备注);职工信息:worker1(职工编号,姓名,职业名称,性别,年龄,住址,联系电话);在这些视图中,值日视图允许各个职工查询,但只允许管理员(主任)进行修改,插入,删除等操作;清洁工值班记录视图,除维修工外,其他各职工都可查询,员工还可进行修改操作,管理员(主任)可进行各种操作;员工值班记录只允许员工查询;常规设备损坏纪录视图允许员工和维修工进行查询,员工只对视图中的教室名称属性有修改,插入的权限,维修工对其他属性有修改权限;在多媒体设备损坏信息视图中,允许员工和多媒体维修工进行查询,员工只对教室名称有修改和插入的权限,多媒体维修工对其他的属性有修改权限。为方便,其中的部分权限在制作过程中要直接赋给基本表。2.3.3数据处理见系统的功能模块图:2.4 物理设计2.4.1 引言数据库在物理设备上的存储与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。2.4.2目标与任务对数据库进行合理的物理设计,以提高其时间和空间效率。(1)数据存取方面确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果满足原设计的要求,则可以进入到物理实施阶段,否则就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。(2)功能模块见图15所示2.5 数据库实施2.5.1 建立基本表/*建立教室信息表*/create table class(spartchar(10),rname char(10)not null unique,position char(20),type char(10),room int,primary key(rname)/*建立课程信息表*/create table course(cno char(10),cname char(20),rname char(10),cweek char(10),cday char(10),node char(10),ctime int,grade char(10),room int,number int,sdept char(20)/*建立职工信息表*/create table worker(wnochar(10)not null unique,wnamechar(20),wsexchar(4),wageint,jnamechar(10),addrchar(40),telchar(20),primary key(wno),check(wage = 18 and wage 0 update worker set wno=w_wno and wname=w_wname and wsex=w_wsexand wage=w_wage and jname=w_jname and addr=w_addr and tel=w_tel where wno=w_wnoelseinsert into worker(wno,wname,wsex,wage,jname,addr,tel) values(w_wno,w_wname,w_wsex,w_wage,w_jname,w_addr,w_tel)close addworkerdeallocate addworker/*主任对职工信息表的删除*/create procedure js_zls3w_wnochar(10)asdeletefromworkerwherejname = w_wno/*员工对多媒体设备损坏纪录的插入*/create procedure js_dmtcr1m_rnamechar(10),m_wnochar(10),m_wnamechar(20),m_describechar(20),m_dlevelchar(10),m_repairchar(4),m_mdatechar(20),m_pmarkchar(50)asinsert into mediavalues(m_rname,null,null,null,null,null,null,null)/*多媒体维修工对多媒体损坏纪录的修改*/create procedure js_dmtxg1 m_rnamechar(10),m_wnochar(10),m_wnamechar(20),m_describechar(20),m_dlevelchar(10),m_repairchar(4),m_mdatechar(20),m_pmarkchar(50)asdeletefrommediawherername=m_rname and wno = null insert into mediavalues(m_rname,m_wno,m_wname,m_describe,m_dlevel,m_repair,m_mdate,m_pmark)/*员工对多媒体设备损坏纪录的插入*/create procedure js_dmtcr2m_rnamechar(10),m_wnochar(10),m_wnamechar(20),m_describechar(20),m_repairchar(4),m_mdatechar(20),m_pmarkchar(50)asinsert into routinevalues(m_rname,null,null,null,null,null,null)/*维修工对常规损坏纪录的修改*/create procedure js_dmtxg2 m_rnamechar(10),m_wnochar(10),m_wnamechar(20),m_describechar(20),m_repairchar(4),m_mdatechar(20),m_pmarkchar(50)asdeletefromroutinewherername=m_rname and wno = null insert into routinevalues(m_rname,m_wno,m_wname,m_describe,m_repair,m_mdate,m_pmark)2.5.4建立触发器/*建立职工信息表触发器*/create trigger js_zg on dbo.worker for delete asdelete duty from deleted where duty.wno=deleted.wnodelete state from deletedwhere state.wno=deleted.wno3 数据库调试与试运行由于内容较多,这里只调试和运行一部分。建立基本表、导入数据和建立视图比较简单,这里就不再显示,下面调试查询与更新。3.1查询/*学生课程查询*/create procedure js_kc2c_spartchar(10),c_cweekchar(6),c_cday char(4),c_nodechar(5)asselect校区,教室名称,课程名称,教室类型,容量from course1where校区 = c_spart and 周次 = c_cweek and 星期 = c_cday and 节次 = c_nodeorder by 教室名称 asc 调试:输入:js_kc2 北校区,第一周,周1,1-2节运行结果:/*空教室查询*/create procedure js_kjs1c_spartchar(10),c_cweekchar(6),c_cday char(4),c_nodechar(5)asselect 校区,教室名称,教室类型,容量fromclass1where not exists(select *fromcourse1where校区 = c_spart and 周次 = c_cweek and 星期 = c_cday and 节次 = c_node and 教室名称 = class1.教室名称)调试结果如下:3.2 更新/*主任除清洁工外的其他职工值班记录的插入(视图)*/create procedure js_zlc2s_wnochar(10),s_wnamechar(20),s_jnamechar(10),s_wdatechar(20),s_statechar(20)asinsert intostate2values(s_wno,s_wname,s_jname,s_wdate,s_state) 调试结果:/*主任除清洁工外的其他职工值班记录的删除(视图)*/create procedure js_zls2s_wnochar(10)asdeletefromstate2where职工编号 = s_wno调试结果:/*维修工对常规损坏纪录的修改*/create procedure js_dmtxg2 m_rnamec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025工程师挂靠合同详情
- 军事人才选拔面试实战模拟试题库
- 电工行业专业发展:接线电工面试题及答案心得体会
- 皮肤病的治疗保健技术解读
- 换届业务知识培训课件
- 2025年事业单位工勤技能-陕西-陕西仓库管理员四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-重庆-重庆保安员四级(中级工)历年参考题库含答案解析(5套)
- 那一刻我真感动感动作文15篇
- 不忘初心作文600字高一作文13篇范文
- 2025年国家公务员录用考试《公共基础知识》仿真模拟试题及参考答案
- 贵州省2023年中考语文现代文阅读真题及答案
- (完整版)英语选修7单词表
- YBT 6259-2024《微氮合金》规范要求
- DZ∕T 0130.6-2006 地质矿产实验室测试质量管理规范 第6部分:水样分析(正式版)
- 中国成人患者肠外肠内营养临床应用指南(2023版)解读课件
- (完整版)四年级乘除法竖式练习题(每日20题)
- 建筑垃圾清运服务投标方案技术标
- 勾股定理知识点和习题(附答案)
- 2023-2024年七年级期末语文考试试卷
- 胃息肉中医治疗方法
- 执业医师法培训课件
评论
0/150
提交评论