ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:114.37KB ,
资源ID:21929720      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21929720.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(排课系统设计文档格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

排课系统设计文档格式.docx

1、其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:1、课程相关数据(表1)字段名称说明功能数据类型宽度kcdh课程代号表示该课程的一个代号intkcm课程名这个课程的名称char8kclb课程类别该课程的上课形式(教室类)tinyint注:教室类别中的tinyint从14分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。2、班级数据(表2)bjdh班级代号代表这个班级的号码(表示院系)11bjmc班级名称表示这个班级的名字bjrs班级人数该班级包括的人数3、教师数据(表3)js_dh教师代号老师的代

2、码jsxm教师姓名教师的名字10jszc教师职称反映了这个老师的职称jsxb教师性别表示老师的性别2 4、教室数据(表4)jsdh教室代号表示这个教室位置jsgm教室规模表示这个教室可以容纳的人户jslb教室类别表示是否有多媒体设置5、班级课程数据(表5)表示这个班级kcbh表示该班级的该课程ks_num课时数目表示该班级该课程的课时数目z_num课时周数表示该班级该课程的上课周数目6、班级课时数据(表6)班级的代号课程的代号sjdh时间代号该班级上该课程的时间点上课老师的代号上该次课的教室星期的属性值范围tinyint中从15分别代表值是周一到周五;节次的属性值范围tinyint中从14分别

3、代表值是12节,34节,56节,78节。7、授课数据(表7)jdh 注:一个老师可能教授多门课程的情况也存在。 8、教室使用状态数据分析(表8)教室的代号jcdh哪个时间点教室在用状态syqk使用情况该教室在时间段内是否被使用标注教室使用情况,以便于进行排课时不至于冲突。 9、学期的时间分配数据(表9)zc时间周xq时间星期inyintjc节次以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其结构,没有对数据的数据存储进行较多的描述。1.3基本数据流图通过以上的分析和各类数据的形成,也将在以下画出该系统的基本简单数据流图,数据流图(Data Flow Diagram,DFD)为

4、概念结构设计和形成初步基本E-R图做好准备。下图为得到的基本数据流程图:基本数据流程图(图1)在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。二、概念结构设计将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析准备。2.1 数据各实体及其属性以下各图将系统所有实体的属性集合表示如下:以上将数据各实体分别将图表列出。2.2 基本E-R图的形成实体联系部分情况:1、一个班级可以是在一个学期内学习没M门课程,一门课程也可以同时在我们学校

5、的N个班级内开课;2、一个老师可以教M门课程的情况,同时一门课程有N个老师在教授课程;3、一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课;4、一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上课(大课及公选课没有考虑进去);5、一个老师上课在1个教室,一个教室只能1个老师在上课;6、一个时间点有M个班级在上课,一个班级只能只能在1个时间点上课。基本E-R图:系统基本E-R图在形成E-R图的过程中,由于将各实体联系到一块,可能会产生命名冲突,结构冲突和属性冲突,在此将不具体介绍相关冲突的解决办法,只在后面的模型中自行分析并解决。三、逻辑结构设计逻辑结构设计是在概念结构设计好的

6、基础上把形成的基本系统实体联系图转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。3.1 E-R图转化为关系模式生成的关系表:1、课程表(课程号,课程名,课程类别)该表记录全校所有课程的相关信息,包括该课程的上课类别,也就是上课教室的类别,将课程号作为主码。该关系中其它两个非主属性完全依赖于码值课程代号,也不存在传递依赖,同时满足于1NF,2NF,3NF三个规范。2、班级表(班级代号,班级名,班级人数)表记录学校各班级的的简单信息,包括班级名称和班级人数,班级人数同时将会确定该班级上课的教室规模,班级代号为主

7、码约束,班级名和班级人数完全依赖于该码,不存在传递依赖,该关系满足3范式规范要求。3、教师表(教师代号,教师性别,教师姓名)教师表将学校所有老师的信息记录,教师代号为为主码,也满足三范式的规范要求。4、教室表(教室代号,教室规模,教室类别)将记录全校所有教室信息的表,其中实体完整性为教室代号为主码,教室规模为教室容纳人数,教室类别取值有int型数据4种,两个非主属性完全依赖于码且不传递依赖于主码。5、时间表(时间代号,星期,节次,周次) 记录学校一个学期所有上课时间的表,将节假日和双休日可以不再表内,包含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于主码,也不传递依赖于主

8、码,满足关系范式要求。6、班级选课表(班级代号,课程代号,课时数,周数)班级选课表将记录一个班级一门课程的上课信息,包括课时数,和上课总周数,班级代号和课程代号为主码,同时也是班级表和课程表的外码,一个班的某门课程的上课课时和周数一定的,两个属性完全依赖于主码,同时这个关系也将是编程实现时进行排课所需要的表,将会生成视图和编写触发器对应外码的参照完整性。7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号)班级派课表中记录排课后的班级上课表,也是最终得到的班级课表信息,以班级代号和时间代号为主码约束,其他属性有该班级在该时刻上课的课程,上课的老师代号,以及上课的教室代号。8、教室状态

9、表(教室代号,时间代号,使用状态)教室状态表保存了在排课过程中教室的使用情况,使用状态为1和0,分别表示教室在该时刻的使用状态,为编程实现不会教室在某个时刻不重复排教室。教室代号和时间代号为主码约束,该关系同样满足三范式规范。9、授课状态表(教师代号,课程代号)授课状态表将记录老师的教课信息,一个老师可能上几门不同的课程,比如java老师可能也上C语言的课程,加入该表将会更准确记录老师的授课信息,以便排课系统更好的分配。该表为全码约束,两个属性组合为主键。3.2 部分表、视图和触发器的创建1、表的创建:Create table subject /课程表创建( Kcdh int parmary

10、key, Kcm char(4) not null, Kclb char(4) not null, Zxs int not null, Zhxs int not null chilk(zhxs in (0,1,2,3) defult 1,)Create table teacher /教师表的建立 Jsdh int parmary key, Jszy char(8) not null, Jsxb char(2) not null chilk (jsxb in (男,女), Jsxm char(8) not null2、班级查询视图建立Create view classtime As Select

11、 class.bjxm,班级派课表.jsdh,subject.kcm,teacher.jsxm,time.jc,zc,xqFrom class,time,teacher, 班级派课表,subjectWhere class.bjdh=班级派课表.bjdh and teacher.jsdh=班级派课表.sdh and time.sjdh =班级排派表.sjdh and subject.kcdh=班级派表.kcdh3、教室课表视图建立:Create view teachertimeSelect jsxm,bjxm,kcm 班级派课表.bidh ,xq,zc,jc, 班级派课表.bidhFrom cl

12、ass ,room,teacher,time, 班级排课表.,subject time.sjdh =班级派课表.sjdh and subject.kcdh=班级排课表.kcdh5、部分触发器的建立:Create trigger insert_ST on 班级派课表 for insertAsBegindeclare banji int banji_1 intselect banji=count(*) from 班级派课表,inserted where inserted.bjdh=班级派课表.bjdh and inserted.bjkc=班级派课表.bjkcselect banji_1=kss f

13、rom 班级课表,inserted where inserted.bjdh=班级派课表.bjdh and inserted.bjkc=班级派课表.bjkcif banji_1banjibeginPrint(该班级的该课程已经被排满了,不能再排);Rollback tran end四、总结分析 该实训过程中综合了该学期以来对数据库设计和T/SQL的学习,通过了解相关设计案例,借助SQL Server 2005 开发工具,于同伴完成了改排课系统的初步简单设计。各关系表和逻辑设计也讨论并且按照规范要求完成,表之间可能存在部分数据冗余和部分数据冲突,将会在以后有机会深入探讨学习。最后感谢一个学期以来中黄欣老师在该课程上的帮助和教授。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1