数据库系统概论第七章课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.3 概念结构设计(续)
3、数据抽象与局部视图设计
数据抽象
1)分类(classificatin) 2)聚集(Aggregation) 3)概括(Generalization)
定义某一类型之间的一种 定义某一类型的组成成分。 定义某一类概念作为现实 子集联系。它抽象了类型 它抽象了对象内部类型和 世界中一组对象的类型, 之间的“is subset of”的 成分之间的“is part of” 这些对象具有某些共同的 语义。 的语义。 特性和行为
7.1 数据库设计概述(续)
1、数据库设计的特点
数据库建设的基本规律
“三分技术,七分管理,十二分基础数据”
结构设计与行为设计相结合
目 前 许 多 计 算 机 辅 助 软 件 工 程 ( Computer Aided Software Engineering,简称CASE)工具已经把数据 库 设 计 作 为 软 件 工 程 设 计 的 一 部 分 。 如 ROSE , UML(Unified Modeling language)等。
• 数据流名:选课申请 说明:由学生个人信息,欲选课程信息组成选课申请 来自过程:无 流至过程:身份验证 •输出数据流:课程上课时间 数据描述:课程编号 上课时间 数量:每学期200-300个 存取方式:随机存取 •数据存储:上课时间信息 说明: 说明了每门课的上课时间,一门课可以有多个 上课时间,同一时间可以有多门课程在上课。
使用更符合用户习惯的别名 可以对不同级别的用户定义不同的视图,以保证系 统的安全性。 简化用户对系统的使用。如将一些常用的复杂查询 定义为视图。
示例:
学生包括学号,姓名,性别,年龄等基本信息;课程包括课程 编号,课程名等;教师包括教师代号,姓名,性别,职称等; 上述实体存在如下联系:一个学生可以选修多门课程,一门课 程可为多个学生选修;一个教师可讲授多门课程,一门课程由 一个教师讲授; (1)试画出这个数据库的E-R图。 (2)将E-R模型转化为适当的关系模型,并给出候选关键字。
E1( k, a ) E2( h, b ) R( k, h, s ) 或 E1( k, a, h, s ) E2( h, b )
1:N联系
一个1:n联系可以转换为一个独立的关系模式,也可以与n 端对应的关系模式合并,如果转换为一个独立的关系模式, 则与该联系相连的各实体的码以及联系本身的属性均转换 为关系的属性,而关系的码为n端实体的码。
7.2 需求分析(续)
数据字典是在需求分析阶段建立,在数据库设计过程中不 断修改、充实、完善的。
明确地把需求收集和分析作为数据库设计的第一阶段是十 分重要的。这一阶段收集到的基础数据(用数据字典来表达) 和一组数据流程图(Data Flow Diagram,简称DFD)是下一步 进行概念设计的基础。
7.1 数据库设计概述(续)
2、数据库设计方法
在过去相当长的一段时期内,数据库设计主要 采用手工试凑法。长时间以来,人们努力探索, 提出了各种数据库设计方法,这些方法运用软 件工程的思想和方法,提出了各种设计准则和 规程,都属于规范设计方法。
规范设计方法的基本思想是过程迭代和逐步求精。
7.1 数据库设计概述(续)
7.3 概念结构设计(续)
3、数据抽象与局部视图设计
局部视图设计
1)选择局部应用作为设计分E-R图的出发点 2)逐个设计分E-R图 在E-R图设计时,现实世界的事物能作为属性对待的, 尽量作为属性对待。应遵循以下两个原则: • 属性是不可分的数据项,不能包含其他属性 • 属性不能与其他实体具有联系
E1( k, a )
E2( h, b ) R( h, k, s )

E1( k, a ) E2( h, b , k, s)
M:N联系
一个m:n联系转换为一个关系模式。与该联系相连的各实 体的码以及联系本身的属性均转换为关系的属性,而关系 的码为各实体码的组合。
E1( k,a )
E2( h,b ) R( h,k,s )
7.3 概念结构设计(续)
2、概念结构设计的方法与步骤
自顶向下。首先定义全局概念结构的框架,然后逐步 细化。 自底向上。先定义各局部的应用的概念结构,然后将 它们集成,得到全局概念结构。 逐步扩张。首先定义最重要的核心概念结构,然后向 外扩充,直至总体概念结构。 混合策略:自顶向下和自底向上相结合,用自顶向下 策略设计一个全局概念结构的框架,以它为骨架集成 由自底向上策略中设计的各局部概念结构。 通常情况下,采用自顶向下进行需求分析、然后再自 底向上地设计概念结构。
逻辑阶段可采用的有效方法
ODL(Object Definition Language)方法
面向对象的数据库设计方法
7.1 数据库设计概述(续)
3、数据库设计的基本步骤
需求分析 概念结构设计 逻辑结构设计
物理结构设计
数据库实施 数据库运行和维护
7.2 需求分析
1、需求分析的任务
包括调查组织机构、调查业务活动、调查用户的各种 要求等。 调查方法:跟班作业、开调查会、调查表、查阅记录
(2)采用结构化的分析方法进行分析
7.2 需求分析(续)
3、数据流图与数据字典
数据流图(Data Flow Diagram, DFD)
是从“数据”和“对数据的加工”两方面表达数据处 理系统工作过程的一种图形表示法。
7.4 逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶 段设计好的基本E-R图转换为与选用DBMS 所支持的数据模型相符合的逻辑结构。
7.4 逻辑结构设计(续)
1、E-R图向关系模型的转换
一个实体型转换为一个关系模式。实体的属性 就是关系的属性,实体的码就是关系的码。 对于实体的联系则有以下不同的情况:
数据库原理与应用
数据库系统概论 第四版
王 珊 萨师煊
第7章 数据库设计
数据库设计的基本步骤 概念结构设计和逻辑结构设计的常用方法
7.1 数据库设计概述
数据库设计是建立数据库及其应用系统的技 术,是信息系统开发和建设中的核心技术。 具体说,数据库设计是指对于一个给定的应 用环境,构造最优的数据库模式,建立数据 库及其应用系统,使之能够有效地存储数据, 满足各种用户的应用需求。
(1)要考虑到可扩充性 (2)强调用户的参与
7.3 概念结构设计
1、概念结构
(1) 能真实、充分地反映现实世界,包括事物和事物之间 的联系,能满足用户对数据的处理要求。是对现实世 界的一个真实模型。 (2) 易于理解。
(3) 易于更改和扩充。
(4) 易于向关系、网状、层次等各种数据模型转换。 数据库设计的关键:形成独立于具体DBMS的概念模型 描述概念模型的有力工具是E-R模型
7.2 需求分析(续)
学生选课系统数据流图和数据字典示例分析:
数据字典描述: •数据项名:学生编号 说明: 标识每个学生身份 类型: CHAR 长度: 8 别名: 学号 取值范围:970000-979999
•数据结构:学生个人信息 说明: 说明了学生的个人情况。 组成: 学号、姓名、性别 密码
•处理过程:身份验证 说明: 对学生输入的帐号,密码进行验证,确定正确, 得到相应的学生编号。 输入:学生帐号;密码;选课的课程编号。 输出:学生编号;选课的课程编号 程序提要说明: (1)对输入的学生个人信息,检查学号和密码是否正确? (2)对身份正确的学生检查要选修的课程是否允许? (3)检查是否正确返回信息。
7.3 概念结构设计(续)
概念结构设计的步骤:
Hale Waihona Puke Baidu
7.3 概念结构设计(续)
3、数据抽象与局部视图设计
数据抽象
概念结构是对现实世界的一种抽象。所谓抽象是对实 际的人、物、事和概念进行人为处理,抽取所关心的 共同特性,忽略非本质的细节,并把这些特性用各种 概念精确地加以描述,这些概念组成了某种模型。
(1) 信息要求。指用户需要从数据库中获得信息的内容与性质。 由信息要求可以导出数据要求,即在数据库中需要存储哪 些数据。 (2) 处理要求。指用户要完成什么处理功能,对处理的响应时 间有什么要求,处理方式是批处理还是联机处理。
(3) 安全性与完整性要求。
7.2 需求分析(续)
2、需求分析的方法
(1)开展调查
7.2 需求分析(续)
3、数据流图与数据字典
数据字典(Data Dictionary, DD)
是各类数据描述的集合。数据字典通常包括数据项、 数据结构、数据流、数据存储和处理过程五个部分。 其中数据项是数据的最小组成单位,若干个数据项可 以组成一个数据结构,数据字典通过对数据项和数据 结构的定义来描述数据流、数据存储的逻辑内容。
水平分解:将元组分为若干个子集合,把经常使用的数据 分解成子集合,以提高系统的效率。 垂直分解:把关系模式的属性分解为若干个子集合。
7.4 逻辑结构设计(续)
3、设计用户子模式
将概念模型转换为全局逻辑模型后,还应根据 局部应用需求、DBMS的特点,设计用户的外 模式。通常利用视图设计用户的外模式。定义 用户的外模式应注重考虑用户的习惯与方便。
多元联系
三个或三个以上实体间的一个多元联系可以转换为一个关 系模式,与该多元联系相连的各实体间的码以及联系本身 的属性均转换为关系的属性,而关系的码为各实体码的组 合。
E1( k,a ) E2( h,b ) E3( i,c ) R( k,h,i,s )
7.4 逻辑结构设计(续)
具有相同的码的关系模式可合并。
2、数据库设计方法
新奥尔良(New Orleans)方法
把数据库设计分为四个阶段: 需求分析(分析用户要求) 概念设计(信息分析和定义) 逻辑设计(设计实现) 物理设计(物理数据库设计)
7.1 数据库设计概述(续)
数据库设计方法
基于E-R模型的数据库设计方法
概念设计阶段广泛采用
3NF(第三范式)的设计方法
课程-教师:{课程号,课序号,教师号} 课程-教科书:{课程号,课序号,教科书} 具有相同的主码,可以合并成一个关系 教学:{课程号,课序号,教师号,教科书}
7.4 逻辑结构设计(续)
2、数据模型的优化
确定数据依赖 对于各个关系模式之间的数据依赖进行极小化处 理,消除冗余的联系。 按照数据依赖的理论对关系模式进行分析,确定 属于第几范式。 按照需求分析的处理要求,确定是否要对某些模 式进行合并或分解。 对关系模式进行必要的分解(水平分解、垂直分 解)
7.3 概念结构设计(续)
4、视图的集成
视图集成方式:
多个分E-R图一次集成; 逐步集成;
视图集成步骤
合并 修改和重构
7.3 概念结构设计(续)
1)合并分E-R图,生成初步E-R图 合理消除各分E-R图的冲突是合并分E-R图的主要工作与关键所在。
• 属性冲突
属性域冲突,如学号的类型有的采用整型,有的采用字符型。 属性取值单位的冲突,如身高采用米还是厘米。
1:1联系
一个1:1联系可以转换为一个独立的关系模式,也可以与 任意一端对应的关系模式合并。如果转换为一个独立的关 系模式,则与该联系相连的各实体的码以及联系本身的属 性均转换为关系的属性,每个实体的码均是该关系的候选 码。如果与某一端实体对应的关系模式合并,则需要在该 关系模式的属性中加入另一个关系模式的码和联系本身的 属性。
• 命名冲突
同名异义,即不同对象在不同的E-R图中具有相同的名字 异名同义,即同一对象在不同的E-R图中具有了不同的名字
• 结构冲突
同一对象在一个视图中作为实体,在另一个视图中可能作为属性或联系。 同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同 不同的视图联系类型不一致
7.3 概念结构设计(续)
2)消除不必要的冗余,设计基本E-R图 冗余的数据是指可由基本数据导出的数据,冗余的联系 是指可由其它联系导出的联系。消除了冗余后的初步E-R图称 为基本E-R图。
Q3=Q1*Q2 Q3为冗余数据 Q4=∑Q5 Q4为冗余数据
Q4
删除Q3,多余的联系也应删除
Q4可视实际需要而定,若经常进行统计, 则可以保留,以提高系统查询效率
需求分析的任务是通过详细调查现实世界要处 理的对象(组织、部门、企业等),充分了解 原系统(手工系统或计算机系统)工作概况, 明确用户的各种需求,然后在此基础上确定新 系统的功能。新系统必须充分考虑今后可能的 扩充和改变,不能仅仅按当前应用需求来设计 数据库。
7.2 需求分析(续)
调查的重点是“数据”和“处理”,通过调查、分析,获得用 户对数据库的如下要求:
相关文档
最新文档