排课系统数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JIANGXI AGRICULTURAL UNIVERSITY
本科课程实训
题目:关于学生排课系统的数据库设计
学院:软件学院
姓名:肖力谢果
学号:
专业:软件工程
班级:软件1001
指导教师:黄欣
2011年12月
引言:
由于当下大学学校班级及专业较多,我们学校的实用的帮助班级排课的一个系统也有迫切需求。基于用SQL Server设计的数库的排课系统也有很大的需要,在本实训作业中,将会针对该实际情况,对我校江西农业大学的学生上课排课系统的数据库进行设计。
该设计工作由双人合作的形式完成,对一个学期以来数据库系统概论的学习进行巩固和联系。该排课系统主要设计流程工作大概分为三个阶段:需求分析,概念结构设计,逻辑结构设计,也将设计的物理结构和数据库实施维护从略讲述,着重在需求分析上的收集数据形成实体及其联系的数据字典完成,在需求分析的基础上完成数据流图的基本设计;在概念结构设计上完成数据的抽象形成各子系统的E-R图,最后在解决冲突的分析下完成基本总实体-联系(E-R图);在逻辑结构设计阶段中完成数据的抽象及实体的形成,实体的规范分析及完整性约束,以及设计阶段的有关触发器的创建分析和实现……最后简要对数据库设计的步骤的物理设计和实施阶段简要概述。
课程设计为实验周两天完成,使用流行的SQL Server 2005数据库系统完成基本设计工作,通过数据库管理系统(DBMS)、T/SQL基本语句实现数据库表的创建,表的完整性约束,表的视图及触发器的创建,基本工作都按照实训题要求基本完成。
一、需求分析
需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。
1.1需求表述
基本功能描述
排课系统的数据库设计主要完成工作有:
1、数据库管理员对数据的录入和相关完整性条件约束的建立,
2、数据库相关的触发器与存储过程对数据库中数据的联系的管理;
3、执行程序能够高效率地完成数据处理和调用;
4、能够通过DBMS建立一系列视图来更方便的操作数据库。
开发技术描述
开发工具: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)
注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。
2、班级数据(表2)
3、教师数据(表3)
注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。
5、班级课程数据(表5)
6、班级课时数据(表6)
注:星期的属性值范围tinyint中从1~5分别代表值是周一到周五;节次的属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,7~8节。
7、授课数据(表7)
注:一个老师可能教授多门课程的情况也存在。
8、教室使用状态数据分析(表8)
注:标注教室使用情况,以便于进行排课时不至于冲突。
9、学期的时间分配数据(表9)
属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,7~8节。
以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其结构,没有对数据的数据存储进行较多的描述。
1.3基本数据流图
通过以上的分析和各类数据的形成,也将在以下画出该系统的基本简单数据流图,数据流图(Data Flow Diagram,DFD)为概念结构设计和形成初步基本E-R图做好准备。
下图为得到的基本数据流程图:
基本数据流程图(图1)
注:在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。
二、 概念结构设计
将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析准备。
数据各实体及其属性
以下各图将系统所有实体的属性集合表示如下:
以上将数据各实体分别将图表列出。
基本E-R图的形成
实体联系部分情况:
1、一个班级可以是在一个学期内学习没M门课程,一门课程也可以同
时在我们学校的N个班级内开课;
2、一个老师可以教M门课程的情况,同时一门课程有N个老师在教授
课程;
3、一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课;
4、一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上
课(大课及公选课没有考虑进去);
5、一个老师上课在1个教室,一个教室只能1个老师在上课;
6、一个时间点有M个班级在上课,一个班级只能只能在1个时间点上
课。
基本E-R图: