一、 需求分析
需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。
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个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,
精选文档
以下将把分析收集的数据及其结构列出:
精选文档
1、 课程相关数据(表1) 字段名称 说明 功能 kcdh 课程代号 表示该课程的一个代号 kcm kclb 课程名 课程类别 这个课程的名称 该课程的上课形式(教室类) 数据类型 int char tinyint 宽度 8 注:教室类别中的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) 字段名称 说明 功能 数据类型 宽度 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节,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节。
以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其结构,没有对数据的数据存储进行较多的描述。
1.3 基本数据流图
通过以上的分析和各类数据的形成,也将在以下画出该系统的基本简单数据流图,数据流图(Data Flow Diagram,DFD)为概念结构设计和形成初步基本E-R图做好准备。
下图为得到的基本数据流程图:
精选文档