logo资料库

数据库课程设计图书馆管理系统.doc

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
数据库设计的典型案例
1 案例的系统需求简介
1.1总体需求简单介绍
1.2用户总体业务构造
1.3系统功能设想
1.4业务流程分析
2 需求描述
2.1 数据流图
2.2 数据字典
3 概念设计
3.1 实体
3.2 系统局部E-R图
3.3 系统全局E-R图
4 逻辑设计
4.1 ER图到关系模式的转换
4.2 关系模式的规范及调整
4.3 各个数据表的表结构设计
5 数据库的物理设计
5.1存储介质类型的选择
5.2 数据库“学生选课”的建立
5.3 各个数据表(视图)的建立
5.4 索引设计
5.5数据库服务器性能优化
数据库设计的典型案例 要点  学生选课管理系统的数据库设计 学习目标  学生选课管理系统的需求分析  学生选课管理系统的 ER 图  学生选课管理系统的关系数据库模式  学生选课管理系统数据库的建立
1 案例的系统需求简介 1.1 总体需求简单介绍 需求分析阶段是数据库应用系统开发的最重要阶段。需求分析要求应用 系统的开发人员按照系统的思想,根据收集的资料,对系统目标进行分析, 对业务的信息需求、功能需求以及管理中存在的问题等进行分析,抽取本质 的、整体的需求,为设计一个结构良好的数据库应用系统的逻辑模型奠定坚 实的基础。 高等学校的学生选课管理系统,在不同的学校会有不同的特点,因为作 为教务工作部分它和学校本身的行政制度有关。本案例的目的在于,作为数 据库设计和应用开发的运用对象,对业务进行适度的简化,突出比较核心的 成分,如院系算作一个级别的概念而且直接管理班(跳过专业一级的设置),学 生的免修重修等情况处理、教师的管理没有细化等。 1.2 用户总体业务构造 学生选课管理业务,包括 4 个主要部分:学生的学籍及成绩管理、制定 教学计划、学生选课管理以及教学调度。各部分具体的内容: 学籍及成绩管理包括:各院系的教务员完成学生学籍注册、毕业、转学 等处理,各授课教师完成所讲授课成绩的录入,然后教务员进行学生成绩的 审核认可。 制定教学计划包括:由教务部门完成指导性教学计划、培养方案的确定, 开设课程的注册和调整。 学生选课包括:学生根据开设课程和培养计划(和自己的状况)选择自己本 学期所选修课程,教务员对学生所选修课程的确认处理。 2
执行教学调度包括:教务员根据本学期所开设的课程、教师上课的情况 以及学生选课情况完成排课、调课等。 1.3 系统功能设想 这里的功能划分,是根据第一阶段需求调查基础上进行的初步划分。随 着需求调查的深入,功能模块随着对需求了解的明确得到调整。 教务管理业务的 4 个主要部分,可以将系统应用程序划分为对应得 4 个 子模块:包括学籍及成绩管理子系统、教学计划管理子系统、学生选课管理 子系统以及教学调度子系统。根据各业务子系统所包括业务内容,还可以将各 个子系统继续细化划分为更小的功能模块。划分的准则主要遵循模块的内聚 性要求和模块间的低聚合性。如图所示表示一个教务管理系统功能模块结构 图。 应用系统 用户登录及其验证 教学计划管理 学籍和成绩管理 学生选课管理 教学调度 教学 计划 的 录入 和修 改 课程 资料 的录 入和 修改 学 籍 注 册 成 绩 管 理 学生 转学 及毕 业处 理 选课 输入 和调 整 选 课 数 据 审 核 教 学 安 排 教 学 调 整 图 1 选课管理系统功能结构图 3
1.4 业务流程分析 一个简化的选课系统业务流程如图 2 所示: 各院系 教学计划 教务处 教学计划 原始开课 教学计划编辑 原始开课生成 学生选课(选课情况) 任课教师名单 实际开课生成 实际开课 教师 成绩录入 学生信息审核 图 2 选课管理系统业务流程 学生成绩细表 毕业、转学 休学等 4
2 需求描述 本阶段的成果的内容形式主要包括数据流图(Data Flow Diagram)和数 据字典(Data Dictionary)。数据流图和数据字典是描述用户需求的重要工具 以及阶段成果表达形式。它作为需求分析的成果和用户交流的主要手段和依 据,是后续数据库设计的前提。设计人员从数据流图中可以比较充分地了解 软件的结构,所以也是软件设计的重要依据。 调查了解用户的需求后,需要进一步表达用户的需求,分析和表达用户 需求的方法很多,目前最常用的还是结构化分析法。该方法是基于数据流的 需求分析方法,它利用了图形的方式进行表达,容易学习和运用。 结构化分析法采用的是自顶向下、逐层分解的方式分析系统,即将系统 的功能从宏观层面逐渐细化,达到最终的结构化分析方法主要使用以下几个 工具:数据流图(Data Flow Diagram 简称 DFD)、数据字典(Data Dictionary 简称 DD)、判定表和判定树等。 数据流图描述了数据的来源和去向,以及所经过的处理;而数据字典是 对数据流图中的数据流、数据存储和处理的明细描述。判定树和判定表用来 描述据加工的逻辑构造。 不同的应用环境,对数据描述的细化程度会有所不同,常常应实际情况 而定。下面就使用这两种工具来描述本例的用户需求,体现他们在实际中的 应用方法。 2.1 数据流图 数据流图是通过系列符号及其组合来描述系统功能的输入、输出、处理 或加工构造。 数据流图中使用的符号在各种书籍和资料上表达不尽相同,目前许多常 5
用的一些流行的数据库辅助设计工具如 Microsoft Visio、Sybase PowerDesigner、Oracle Designer、Rational Rose、Erwin 等符号都不统 一,我们这里以比较容易上手的 Visio 工具为例,针对模板中的符号作为参考: 数据源点或终点 , 或者外部实体 数据流 加工或处理 数据存储 图 2 Gane-Sarson 模板中数据流图的基本元素 注意:DFD 表示数据被加工或处理的过程,箭头只是表示数据流动的方 向,不能有分支、循环的情况。 数据流图命名规则之一:数据流图的中加工、处理过程一般采用动词及 其短语;数据源点或终点、数据存储(数据文件或表单形式)、数据流(一项或 多项数据)等一般为名词或名词短语。 数据流图命名规则之二:流图中的命令所使用的语言要基本上反映实际 的情况,在整个 DFD 中必须要唯一,尽量避免含有像加工、处理、存储这样 的元名称。 1、系统的全局数据流图 系统的全局数据流图,在具体的设计工具中往往也称为第 0 层或顶层数 据流图,主要是从整体上描述系统的数据流,反映系统中数据的整体流向, 是设计者针对用户和开发者表达出来的一个总体描述。 我们经过对教学管理业务的调查、数据的收集和信息流程分析处理,明 确了该系统的主要功能,分别为:制定学校各专业各年级的教学计划以及课 程的设置;学生根据学校对所学专业的培养计划以及自己的兴趣,选择自己 本学期所要学习的课程;学校的教务部门对新入学的学生进行学籍注册,对 6
毕业生办理学籍档案的归档工作,任课教师在期末时登记学生的考试成绩; 学校教务部门根据教学计划进行课程安排、期末考试时间地点的安排等,如 图所示。 教学计划处理信息 课程处理信息 P1 教学计划和课 程管理 课程数据变更信息 S3 课程信息 教学计划变更 S2 教学计划信息 课程数据清单 教务员 安排信息 选课审核 S6 排课信息 教学计划数据 P3 选课管理 学生选课请求 P4 教学安排 排课单 任课老师 排课信息 学生选课数据 教师业务数据 S1 教师档案 考试成绩 成绩审核命令 学籍变更信息 学生 学生课程选择数据 院系信息 课表 S5 学生选课信息 S4 学生学籍信息 学生学籍信息 学生成绩数据 S7 学生成绩信息 学籍和成绩管 P2 理 图 3 简化的选课管理系统 0 层数据流图 2、系统局部数据流图 全局数据流图,从整体上描述了数据流向和加工处理过程。但是一个较 为复杂的系统来讲,要清楚地描述系统数据的流向和加工处理的每一个细节, 7
仅用全局数据流图难以完成。因此需要在全局数据流图的基础上,对全局数 据流图的某些局部单独放大,进一步细化,细化可以采用多级方式进行,便 是所谓的分级数据流图来描述。这里以制定教学计划/学籍及成绩管理和选课 等处理功能作细化的分析对象。 制定教学计划处理,主要分为 4 个子处理过程:教务员根据自己已有的 课程信息,增补新开设的课程信息;调整课程信息;查询本学期的教学计划; 制定新学期的教学计划。其处理过程如图 4 所示。 课程查询请求 P1.1 课程信息查询 课程信息 S3 课程信息 要修改的课程信息 课程处理信息 P1.2 修改课程信息 课程数据变更信息 教务员 教学计划查询请求 P1.3 教学计划查询 教学计划信息 S2 教学计划信息 教学计划处理信息 要修改的教学计划 P1.4 教学计划修改 教学计划变更信息 图 4 0 层 P1 的 1 层数据流图:制定教学计划 学籍及成绩管理相对比较复杂,教务员需要新生的学籍注册,毕业生的 学籍和成绩的归档管理,任课教师输入学生的考试成绩后,需教务员审核并 作认可处理,经确认的学生成绩不允许他人修改。其处理过程如图 5 所示。 8
分享到:
收藏