当前位置:文档之家› 排课系统设计

排课系统设计

校评—试卷存在问题 页脚内容1 一、 需求分析 需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。

1.1 需求表述

1.1.1 基本功能描述 排课系统的数据库设计主要完成工作有: 1、 数据库管理员对数据的录入和相关完整性条件约束的建立, 2、 数据库相关的触发器与存储过程对数据库中数据的联系的管理; 3、 执行程序能够高效率地完成数据处理和调用; 4、 能够通过DBMS建立一系列视图来更方便的操作数据库。

1.1.2 开发技术描述 开发工具:Microsoft SQL Server 2005 SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。

1.2 分析形成初步数据字典 数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部校评—试卷存在问题 页脚内容2 分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:

1、 课程相关数据(表1) 字段名称 说明 功能 数据类型 宽度 kcdh 课程代号 表示该课程的一个代号 int

kcm 课程名 这个课程的名称 char 8 kclb 课程类别 该课程的上课形式(教室类) tinyint

注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。

2、 班级数据(表2) 字段名称 说明 功能 数据类型 宽度 bjdh 班级代号 代表这个班级的号码(表示院系) int 11

bjmc 班级名称 表示这个班级的名字 char 8 bjrs 班级人数 该班级包括的人数 int 11

3、 教师数据(表3) 字段名称 说明 功能 数据类型 宽度 js_dh 教师代号 老师的代码 int 11 jsxm 教师姓名 教师的名字 char 10 jszc 教师职称 反映了这个老师的职称 char 10 jsxb 教师性别 表示老师的性别 char 2

4、教室数据(表4) 校评—试卷存在问题 页脚内容3 字段名称 说明 功能 数据类型 宽度 jsdh 教室代号 表示这个教室位置 int 11 jsgm 教室规模 表示这个教室可以容纳的人户 int

jslb 教室类别 表示是否有多媒体设置 int 注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。

5、班级课程数据(表5) 字段名称 说明 功能 数据类型 宽度 bjdh 班级代号 表示这个班级 int kcbh 课程代号 表示该班级的该课程 int ks_num 课时数目 表示该班级该课程的课时数目 int

z_num 课时周数 表示该班级该课程的上课周数目 int

6、班级课时数据(表6) 字段名称 说明 功能 数据类型 宽度 bjdh 班级代号 班级的代号 int

kcdh 课程代号 课程的代号 int sjdh 时间代号 该班级上该课程的时间点 int js_dh 教师代号 上课老师的代号 int jsdh 教室代号 上该次课的教室 int

注:星期的属性值范围tinyint中从1~5分别代表值是周一到周五;节次的属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,校评—试卷存在问题 页脚内容4 7~8节。 7、授课数据(表7) 字段名称 说明 功能 数据类型 宽度 jdh 教师代号 int

kcdh 课程代号 int

注:一个老师可能教授多门课程的情况也存在。 8、教室使用状态数据分析(表8) 字段名称 说明 功能 数据类型 宽度 jsdh 教室的代号 int

jcdh 时间代号 哪个时间点教室在用状态 int syqk 使用情况 该教室在时间段内是否被使用 char 2

注:标注教室使用情况,以便于进行排课时不至于冲突。 9、学期的时间分配数据(表9) 字段名称 说明 功能 数据类型 宽度 sjdh 时间代号 int

zc 时间周 tinyint xq 时间星期 inyint

jc 节次 tinyint 注:星期的属性值范围tinyint中从1~5分别代表值是周一到周五;节次的属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,7~8节。

以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其结构,没有对数据的数据存储进行较多的描述。 校评—试卷存在问题 页脚内容5 1.3 基本数据流图 通过以上的分析和各类数据的形成,也将在以下画出该系统的基本简单数据流图,数据流图(Data Flow Diagram,DFD)为概念结构设计和形成初步基本E-R图做好准备。

下图为得到的基本数据流程图:

基本数据流程图(图1) 注:在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。

班级 排课班 教 分析课 教室教师班级上课数据流出课班

人人

教室可用

课老

师号时校评—试卷存在问题

页脚内容6 二、 概念结构设计 将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析准备。

2.1 数据各实体及其属性 以下各图将系统所有实体的属性集合表示如下: 教

班级课班课周授课 教课

班 班班代代姓专

教 室

教教教室课

课课上课校评—试卷存在问题

页脚内容7 以上将数据各实体分别将图表列出。 2.2 基本E-R图的形成 实体联系部分情况: 1、 一个班级可以是在一个学期内学习没M门课程,一门课程也可以同时在我们学校的N个班级内开课; 2、 一个老师可以教M门课程的情况,同时一门课程有N个老师在教授课程; 3、 一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课; 4、 一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上课(大课及公选课没有考虑进去); 5、 一个老师上课在1个教室,一个教室只能1个老师在上课; 6、 一个时间点有M个班级在上课,一个班级只能只能在1个时间点上课。 基本E-R图:

学期时代周星节班级课时班课教教

教室状教时是校评—试卷存在问题

页脚内容8 系统基本E-R图 在形成E-R图的过程中,由于将各实体联系到一块,可能会产生命名冲突,结构冲突和属性冲突,在此将不具体介绍相关冲突的解决办法,只在后面的模型中自行分析并解决。

老师 班级 课 程 学

讲教教

占 占

M N

M N M

N 1 1 1 1 1 1 校评—试卷存在问题

页脚内容9 三、 逻辑结构设计 逻辑结构设计是在概念结构设计好的基础上把形成的基本系统实体联系图转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。

3.1 E-R图转化为关系模式 生成的关系表: 1、课程表(课程号,课程名,课程类别) 该表记录全校所有课程的相关信息,包括该课程的上课类别,也就是上课教室的类别,将课程号作为主码。 该关系中其它两个非主属性完全依赖于码值课程代号,也不存在传递依赖,同时满足于1NF,2NF,3NF三个规范。 2、班级表(班级代号,班级名,班级人数) 表记录学校各班级的的简单信息,包括班级名称和班级人数,班级人数同时将会确定该班级上课的教室规模,班级代号为主码约束,班级名和班级人数完全依赖于该码,不存在传递依赖,该关系满足3范式规范要求。 3、教师表(教师代号,教师性别,教师姓名) 教师表将学校所有老师的信息记录,教师代号为为主码,也满足三范式的规范要求。 4、教室表(教室代号,教室规模,教室类别) 将记录全校所有教室信息的表,其中实体完整性为教室代号为主码,教室规模为教室容纳人数,教室类别取值有int型数据4种,两个非主属性完全依赖于码且不传递依赖于主码。 5、时间表(时间代号,星期,节次,周次) 记录学校一个学期所有上课时间的表,将节假日和双休日可以不再表内,包含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于主码,也不传递依赖于主码,满足关系范式要求。 6、班级选课表(班级代号,课程代号,课时数,周数) 班级选课表将记录一个班级一门课程的上课信息,包括课时数,和上课总周数,班级代号和课程代号为主码,同时也是班级表和课程表的外码,一个班的某门课程的上课课时和周数一定的,两个属性完全依赖于主码,同时这个关系也将是编程实现时进行排课所需要的表,将会生成视图和编写触发器对应外码的参照完整性。 7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号) 班级派课表中记录排课后的班级上课表,也是最终得到的班级课表信息,以班级代号和时间代号为主码约束,其他属性有该班级在该时刻上课的课程,上课的老师代号,以及上课的教室代号。 8、教室状态表(教室代号,时间代号,使用状态)

相关主题