学生选课管理系统的数据库设计(共26页).doc
《学生选课管理系统的数据库设计(共26页).doc》由会员分享,可在线阅读,更多相关《学生选课管理系统的数据库设计(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第六章(续) 数据库设计的典型案例本章要点 学生选课管理系统的数据库设计本章学习目标 学生选课管理系统的需求分析 学生选课管理系统的ER图 学生选课管理系统的关系数据库模式 学生选课管理系统数据库的建立在第6章里我们已经学习了有关数据库设计的基本理论和方法。本章通过学生选课管理系统数据库设计案例,实际讲授数据库的设计方法,加深对第七章的理解,提高我们的综合设计的能力。6.1 案例的系统需求简介6.1.1总体需求简单介绍需求分析阶段是数据库应用系统开发的最重要阶段。需求分析要求应用系统的开发人员按照系统的思想,根据收集的资料,对系统目标进行分析,对业务的信息需求、功能需
2、求以及管理中存在的问题等进行分析,抽取本质的、整体的需求,为设计一个结构良好的数据库应用系统的逻辑模型奠定坚实的基础。高等学校的学生选课管理系统,在不同的学校会有不同的特点,因为作为教务工作部分它和学校本身的行政制度有关。本章的目的在于,作为数据库设计和应用开发的运用对象,对业务进行适度的简化,突出比较核心的成分,如院系算作一个级别的概念而且直接管理班(跳过专业一级的设置),学生的免修重修等情况处理、教师的管理没有细化等。6.1.2用户总体业务构造学生选课管理业务,包括4个主要部分:学生的学籍及成绩管理、制定教学计划、学生选课管理以及教学调度。各部分具体的内容:(1) 学籍及成绩管理包括:各院
3、系的教务员完成学生学籍注册、毕业、转学等处理,各授课教师完成所讲授课成绩的录入,然后教务员进行学生成绩的审核认可。(2) 制定教学计划包括:由教务部门完成指导性教学计划、培养方案的确定,开设课程的注册和调整。(3) 学生选课包括:学生根据开设课程和培养计划(和自己的状况)选择自己本学期所选修课程,教务员对学生所选修课程的确认处理。(注意:一般的必修课程是由教务员统一处理,只有辅修的课程才经过学生的选择过程)(4) 执行教学调度包括:教务员根据本学期所开设的课程、教师上课的情况以及学生选课情况完成排课、调课等。6.1.3其它要求如安全性,系统环境要求(根据现有的设备情况进行系统运行)等,这些不是
4、本章的核心内容,所以就不再进一步叙述。6.1.4系统功能设想这里的功能划分,是根据第一阶段需求调查基础上进行的初步划分。随着需求调查的深入,功能模块随着对需求了解的明确得到调整。教务管理业务的4个主要部分,可以将系统应用程序划分为对应得4个子模块:包括学籍及成绩管理子系统、教学计划管理子系统、学生选课管理子系统以及教学调度子系统。根据各业务子系统所包括业务内容,还可以将各个子系统继续细化划分为更小的功能模块。划分的准则主要遵循模块的内聚性要求和模块间的低聚合性。如图所示表示一个教务管理系统功能模块结构图。图6. 1选课管理系统功能结构图6.1.5业务流程分析一个简化的选课系统业务流程如图6.2
5、所示:各院系教学计划教务处教学计划编辑教学计划原始开课生成原始开课实际开课生成实际开课成绩录入学生成绩细表学生信息审核教师毕业、转学休学等任课教师名单学生选课(选课情况)图6. 2 选课管理系统业务流程6.2 需求描述本阶段的成果的内容形式主要包括数据流图(Data Flow Diagram)和数据字典(Data Dictionary)。数据流图和数据字典是描述用户需求的重要工具以及阶段成果表达形式。它作为需求分析的成果和用户交流的主要手段和依据,是后续数据库设计的前提。设计人员从数据流图中可以比较充分地了解软件的结构,所以也是软件设计的重要依据。调查了解用户的需求后,需要进一步表达用户的需求
6、,分析和表达用户需求的方法很多,目前最常用的还是结构化分析法。该方法是基于数据流的需求分析方法,它利用了图形的方式进行表达,容易学习和运用。结构化分析法采用的是自顶向下、逐层分解的方式分析系统,即将系统的功能从宏观层面逐渐细化,达到最终的结构化分析方法主要使用以下几个工具:数据流图(Data Flow Diagram简称DFD)、数据字典(Data Dictionary简称DD)、判定表和判定树等。数据流图描述了数据的来源和去向,以及所经过的处理;而数据字典是对数据流图中的数据流、数据存储和处理的明细描述。判定树和判定表用来描述据加工的逻辑构造。不同的应用环境,对数据描述的细化程度会有所不同,
7、常常应实际情况而定。下面就使用这两种工具来描述本例的用户需求,体现他们在实际中的应用方法。6.2.1 数据流图数据流图是通过系列符号及其组合来描述系统功能的输入、输出、处理或加工构造。 数据流图中使用的符号在各种书籍和资料上表达不尽相同,目前许多常用的一些流行的数据库辅助设计工具如Microsoft Visio、Sybase PowerDesigner、Oracle Designer、Rational Rose、Erwin等符号都不统一,我们这里以比较容易上手的Visio工具为例,针对Gane-Sarson模板中的符号作为参考:图6. 3 Gane-Sarson模板中数据流图的基本元素注意:D
8、FD表示数据被加工或处理的过程,箭头只是表示数据流动的方向,不能有分支、循环的情况。数据流图命名规则之一:数据流图的中加工、处理过程一般采用动词及其短语;数据源点或终点、数据存储(数据文件或表单形式)、数据流(一项或多项数据)等一般为名词或名词短语。数据流图命名规则之二:流图中的命令所使用的语言要基本上反映实际的情况,在整个DFD中必须要唯一,尽量避免含有像加工、处理、存储这样的元名称。1。系统的全局数据流图系统的全局数据流图,在具体的设计工具中往往也称为第0层或顶层数据流图,主要是从整体上描述系统的数据流,反映系统中数据的整体流向,是设计者针对用户和开发者表达出来的一个总体描述。我们经过对教
9、学管理业务的调查、数据的收集和信息流程分析处理,明确了该系统的主要功能,分别为:制定学校各专业各年级的教学计划以及课程的设置;学生根据学校对所学专业的培养计划以及自己的兴趣,选择自己本学期所要学习的课程;学校的教务部门对新入学的学生进行学籍注册,对毕业生办理学籍档案的归档工作,任课教师在期末时登记学生的考试成绩;学校教务部门根据教学计划进行课程安排、期末考试时间地点的安排等,如图所示。图6. 4简化的选课管理系统0层数据流图2。系统局部数据流图全局数据流图,从整体上描述了数据流向和加工处理过程。但是一个较为复杂的系统来讲,要清楚地描述系统数据的流向和加工处理的每一个细节,仅用全局数据流图难以完
10、成。因此需要在全局数据流图的基础上,对全局数据流图的某些局部单独放大,进一步细化,细化可以采用多级方式进行,便是所谓的分级数据流图来描述。这里以制定教学计划/学籍及成绩管理和选课等处理功能作细化的分析对象。制定教学计划处理,主要分为4个子处理过程:教务员根据自己已有的课程信息,增补新开设的课程信息;调整课程信息;查询本学期的教学计划;制定新学期的教学计划。任课教师可以查询自己的教学计划。其处理过程如图6.5所示。图6. 5 0层P1的1层数据流图:制定教学计划学籍及成绩管理相对比较复杂,教务员需要新生的学籍注册,毕业生的学籍和成绩的归档管理,任课教师输入学生的考试成绩后,需教务员审核并作认可处
11、理,经确认的学生成绩不允许他人修改。其处理过程如图6.6所示。图6. 6 0层P2的1层数据流图:学籍和成绩管理选课管理中,学生根据学校对其专业制定的教学计划,录入本学期所选课程,教务员对学生选课记录进行审核,经审核得到的选课就为本学期的选课。其处理过程如图6.7所示。图6. 7 0层P3的1层数据流图:选课管理0层P4的1层数据流图请读者自行描述。我们可以使用许多的设计工具完成数据流图的创建,这些工具不但可以实现常用的数据流图的绘制,而且可以对多层的数据流图中的元素及其关系的正确性实现有效的检验,能帮助我们学习和理解数据流图的实现技术。本章有关的数据流图均使用Microsoft Visio工
12、具进行绘制,相关的工具还有Sybase公司的Power Designer以及Oracle的Designer等,有兴趣的可以参考相关的资料或者下载试用版。6.2.2 数据字典数据流图表达了数据与处理的关系,数据流图作为直观的了解系统运行机理的手段,并没有具体描述各类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到具体而确切的了解。数据字典用来说明数据流图中出现的所有元素的详细的定义和描述,包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等。数据字典包括的项目有:数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。可使用一些符号来表示数据结构、数据流和数据存储的组成。由于本
13、实例涉及的数据字典项目较多,此处列举P3选课管理处理功能中包含的几个对象加以描述。1。数据流 表6. 1 P3中数据流的描述序号数据流名来源流向组成说明1(学生)教学计划查询请求需要选课的学生P3.1班级号或学号注意查询类别的区别2教学计划数据S2教学计划信息P3.1班级号+课程编号+开课学年+开课学期3学生课程选择数据P3.2S5学生选课信息课程编号+年号+学期号4选课信息查询教务员P3.3班级号+课程号+学年+学期2。数据存储 表6. 2 P3中数据存储的描述序号数据文件文件组成关键标识组织1S2教学计划信息班级号+课程编号+开课学年+开课学期全部按开课学年,学期,班级降序2S3学生选课信
14、息学号+课程编号+开课学年+开课学期全部按开课学年,学期,班级降序3S5课程数据清单课程编号+课程名称+课程说明课程编号课程编号排序3。处理过程逻辑表6. 3 P3中处理过程逻辑的描述序号处理过程编号输入输出处理逻辑1查询教学计划P3.1 学生选课查询请求+教学计划数据针对的教学计划针对选课请求进行查询2选课信息录入P3.2针对的教学计划学生课程选择数据根据学生对应的教学计划选择课程3选课信息查询P3.3选课信息查询+选课数据没经确认的选课根据班级和课程号检查对应的未确认的选课清单清单4选课信息确认P3.4选课审核+没经确认的选课经确认的选课信息选择选课清单进行确认4。数据项表6. 4 P3中
15、数据项的说明序号数据项数据对象说明数据构成1学号1英文|数字10入学年号+班级序号+顺序号2选课时间4数字-2数字-2数字年+月+日3课程名称1汉字|英文|数字204班级号1英文|数字65教师编号1英文|数字106开课学年4数字7开课学期1|26课程说明0汉字|英文|数字100英文=az|AZ数字=096.3 概念设计上述的数据流图和数据字典共同构成了对用户需求的表达,它们是系统分析员(数据库管理员)在需求调查过程中和用户反复交互得到的。建设系统实际要处理的数据基本上已经在数据流图中得到体现,整个设计过程的后续步骤提供基础和依据。概念设计就是通过对需求分析阶段所得到的信息需求进行综合、归纳与抽
16、象,形成一个独立于具体数据库管理系统的概念模型,主要的手段为ER图。在概念设计阶段,主要采用的设计手段目前还是实体联系模型(E-R Model)。绘制E-R图的关键是确定E-R图的各种结构,包括实体、属性和联系。大部分的流行建模工具(Power Designer、Oracle Designer、ERwin等)也都包含了对E-R设计手段的支持。6.3.1 实体要建立系统的E-R模型的描述,需进一步从数据流图和数据字典中提取系统所有的实体及其属性。这种提出实体的指导原则如下: 属性必须是不可分的数据项,即属性中不能包含其它的属性或实体 E-R图中的关联必须是实体之间的关联,属性不能和其它实体之间有
17、关联由前面分析得到的数据流图和数据字典,可以抽象得到实体主要有5个:学生、教师、课程、院系、班级。(1) 学生实体属性有:学号、姓名、出生年月、性别、电话、系编号。(2) 教师实体属性有:教师编号、教师姓名、性别、职称、出生年月、电话、电子邮件。(3) 课程实体属性有:课程编号、课程名称、课程学时、课程学分。(4) 院系实体属性有:系编号、系名称、负责人。(5) 班级实体属性有:班级编号、班级名称。6.3.2 系统局部E-R图在需求分析阶段我们采用的是自上而下的分析方法,那么要在其基础上进一步作概念设计我们面临的是细化的分析数据流图以及数据字典,分析得到实体及其属性后,进一步可分析各实体之间的
18、联系。学生实体和课程实体存在选修的联系,一个学生可以选修多门课程,而每门课也可以被多个学生选修,所以它们之间是多对多的联系(n:m),如图6.6。教师实体和课程实体存在讲授的联系,一名教师可以讲授多门课程,而每门课也可以被多个教师讲授,所以它们之间是多对多的联系(n:m),如图6.9。学生实体和班级实体存在归属的联系,一个学生只能属于一个班级,而每个班级可以包含多个学生,所以班级和学生之间是一对多的联系(1:n),如图6.10。班级实体和系之间存在归属的联系,一个班级只能属于一个系,而每个系可以包含多个班级,所以班级和系之间是一对多的联系(1:n),如图6.11。教师实体和系实体之间存在归属的
19、联系,一个教师只能属于一个系,而每个系可以拥有多名教师,所以教师和系之间是一对多的联系(1:n),如图6.12,但是教师中会有一位充当该系的主任(正),可见教师和系之间也存在一种一对一的领导关系(1:1),如图6.12。图6. 8 “学生-课程” 选课关系图6. 9 “教师-课程”实体间的关系图6. 10 “学生-班级”的组成关系图6. 11 “班级-系”的属于关系图6. 12 “教师-系”实体间的关系6.3.3 系统全局E-R图系统的局部E-R图,仅反映系统局部实体之间的联系,但无法反映系统在整体上实体间的相互联系。而对于一个比较复杂的应用系统来说,这些局部的E-R图往往有多人各自分析完成的
20、,只反映局部的独立应用的状况,在系统整体的运作需要时,他们之间有可能存在重复的部分或冲突的情况,如实体的划分、实体或属性的命名不一致等,属性的具体含义(包括数据类型以及取值范围等不一致)问题,都可能造成上述提到的现象。为解决这些问题,必须理清系统在应用环境中的具体语义,进行综合统一,通过调整消除那些问题,得到系统的全局E-R图。从实际的情况以及上述的局部E-R图我们可以得知,学生实际修学某门课时必须只能对应一位老师的该门课。因此,可以使用一个聚集来表达学生参加实际授课课程的学习关系,会更加切合实际。各局部E-R存在不少的重复的实体,经过上述聚集分析和合并得到系统全局的E-R图如图6-13所示。
21、该全局E-R图基本上不存在关系的冗余状况,因此它已经是一个优化的。图6. 13 选课管理系统的全局ER图6.4 逻辑设计逻辑设计就是把E-R图转换成关系模式,并对其进行优化。6.4.1 ER图到关系模式的转换在概念设计阶段得到的数据模型,是独立于具体DBMS产品的信息模型。在逻辑设计阶段就是将这种模型进一步转化为某一种(某些类)DBMS产品支持的数据模型。目前大部分的流行的数据库管理系统(SQL Server、Sybase 、Oracle、DB2等)基本上都是基于关系的数据模型,包括该系统将采用的SQL Server2000数据库系统,因此,应将概念设计阶段的E-R图模型转化为关系数据模型。首
22、先,课程实体以及他们的联系。任课教师与课程之间的是多对多的联系类型,因此,将任课教师、课程以及讲授联系分别设计成如下的关系模式:教师(教师编号,教师姓名,性别,职称,电话,系编号)课程(课程编号,课程名称,课程学分,课时)讲授(教师编号,课程编号,课程编号,开课年度,开课学期)院系实体和班级之间是一对多的联系类型,所以只要两个关系模式就可表示,其中联系可以放到班级的实体中:系(系编号、系名称、系主任)班级(班级编号,班级名称,系编号)班级实体和学生实体之间是一对多的联系类型,所以也可以只使用两个关系模式来表示。由于“班级”关系模式在上面已经给出,因此,只要再给出一个学生的关系模式,它们间的联系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 管理 系统 数据库 设计 26
限制150内