1、1数据库技术及教育应用数据库技术及教育应用第三章第三章 概念结构设计概念结构设计2主题主题 章节内容章节内容 本章小结本章小结 课堂测试课堂测试 课后习题课后习题 课外读物课外读物3章节内容章节内容3.0 引言引言3.1 数据模型3.2 概念结构设计43.0 引言引言 数据模型的基本概念、组成要素、概念模型数据模型的基本概念、组成要素、概念模型的基本概念及的基本概念及ER方法。方法。数据库设计概念结构设计阶段的设计目标、数据库设计概念结构设计阶段的设计目标、具体设计内容、设计描述、设计方法等。具体设计内容、设计描述、设计方法等。5 重点:重点:牢固掌握概念模型的基本概念及其主要建模方法牢固掌握
2、概念模型的基本概念及其主要建模方法ER方法;方法;数据库概念结构的设计是数据库设计过程中最重要的环数据库概念结构的设计是数据库设计过程中最重要的环节之一。牢固掌握用节之一。牢固掌握用E-R图来表示概念模型的方法,掌握图来表示概念模型的方法,掌握E-R图的设计,能够举一反三的程度。图的设计,能够举一反三的程度。6 难点:难点:E-R方法建模。方法建模。技术上的难点是技术上的难点是E-R图的设计和数据模型的优化,包括对图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。间的联系,正确划分
3、实体与属性的能力。7 3.1 数据模型数据模型 3.1.1 两大类数据模型两大类数据模型 3.1.2 数据模型的组成要素数据模型的组成要素 3.1.3 概念模型概念模型83.1.1 两大类数据模型两大类数据模型 数据模型分为两类(分属两个不同的层次)数据模型分为两类(分属两个不同的层次)(1)概念模型概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。用于数据库设计。(2)逻辑模型和物理模型逻辑模型和物理模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,逻辑模型主要包括网状模型、层次模型、关系模型、面向
4、对象模型等,按计算机系统的观点对数据建模,用于按计算机系统的观点对数据建模,用于DBMS实现。实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。取方法,在磁盘或磁带上的存储方式和存取方法。9两大类数据模型两大类数据模型(续续)客观对象的抽象过程客观对象的抽象过程-两步抽象两步抽象 现实世界中的客观对象抽象为概念模型;现实世界中的客观对象抽象为概念模型;把概念模型转换为某一把概念模型转换为某一DBMS支持的数据模型。支持的数据模型。10两大类数据模型两大类数据模型(续续)现
5、实世界中客观对象的抽象过程现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成 现实世界 认识 抽象 概念世界概念世界 概念数据模型概念数据模型 机器世界机器世界 DBMS 支持的数据模型支持的数据模型 转换 11 3.1.2 数据模型的组成要素数据模型的组成要素 数据模型的三要素:数据模型的三要素:数据结构数据结构数据操作数据操作数据的完整性约束规则数据的完整性约束规则12 一、一、数据结构数据结构 什么是数据结构什么是数据结构 描述数据库的组成对象,
6、以及对象之间的联系描述数据库的组成对象,以及对象之间的联系 描述的内容描述的内容 与数据类型、内容、性质有关的对象与数据类型、内容、性质有关的对象 与数据之间联系有关的对象与数据之间联系有关的对象 数据结构是数据结构是对系统静态特性的描述对系统静态特性的描述13 二、数据操作二、数据操作 数据操作数据操作 对数据库中各种对象对数据库中各种对象(型型)的实例的实例(值值)允许执行的允许执行的 操作操作及有关的及有关的操作规则操作规则 数据操作的类型数据操作的类型 查询查询 更新更新(包括插入、删除、修改包括插入、删除、修改)14 数据操作数据操作(续续)数据模型对操作的定义数据模型对操作的定义
7、操作的确切含义操作的确切含义 操作符号操作符号 操作规则(如优先级)操作规则(如优先级)实现操作的语言实现操作的语言 数据操作是数据操作是对系统动态特性的描述对系统动态特性的描述15三、数据的完整性约束条件三、数据的完整性约束条件 数据的完整性约束条件数据的完整性约束条件 一组完整性规则的集合。一组完整性规则的集合。完整性规则:给定的数据模型中数据及其联系所完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则具有的制约和储存规则 用以限定符合数据模型的数据库状态以及状态的用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。变化,以保证数据的正确、有效、相容。
8、16 数据的完整性约束条件数据的完整性约束条件(续续)数据模型对完整性约束条件的定义数据模型对完整性约束条件的定义 反映和规定本反映和规定本数据模型数据模型必须遵守的必须遵守的基本的通用的基本的通用的完整性完整性约束条件。例如在关系模型中,任何关系必须满足实体约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。完整性和参照完整性两个条件。提供定义完整性约束条件的机制,以反映提供定义完整性约束条件的机制,以反映具体应用具体应用所涉所涉及的数据必须遵守的特定的语义约束条件及的数据必须遵守的特定的语义约束条件。17 3.1.3 概念模型概念模型 信息世界中的基本概念信息世界中
9、的基本概念 两个实体型之间的联系两个实体型之间的联系 两个以上实体型之间的联系两个以上实体型之间的联系 单个实体型内的联系单个实体型内的联系 概念模型的一种表示方法概念模型的一种表示方法 一个实例一个实例18概念模型概念模型 概念模型的用途概念模型的用途 概念模型用于信息世界的建模概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次 是数据库设计的有力工具是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言 对概念模型的基本要求对概念模型的基本要求 较强的语义表达能力较强的语义表达能力 能够方便、直接地
10、表达应用中的各种语义知识能够方便、直接地表达应用中的各种语义知识 简单、清晰、易于用户理解简单、清晰、易于用户理解19一、信息世界中的基本概念一、信息世界中的基本概念(1)实体(实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念或联系。可以是具体的人、事、物或抽象的概念或联系。实体分实体分和和。(2)属性(属性(Attribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(码(Key)唯一标识实体的属性集称为码。唯一标识实体的属
11、性集称为码。20信息世界中的基本概念信息世界中的基本概念(续续)(4)域(域(Domain)一组具有相同数据类型的值的集合。一组具有相同数据类型的值的集合。属性的取值范围称为该属性的域。属性的取值范围称为该属性的域。(5)实体型(实体型(Entity Type)用实体名及其属性名集合来抽象和刻画用实体名及其属性名集合来抽象和刻画同类实体用为实体型描述同类实体用为实体型描述(6)实体集(实体集(Entity Set)同型实体的集合称为实体集同型实体的集合称为实体集21信息世界中的基本概念信息世界中的基本概念(续续)(7)联系(联系(Relationship)实体型间联系实体型间联系 两个实体型两
12、个实体型 一对一联系(一对一联系(1:1)多个实体型多个实体型 一对多联系(一对多联系(1:n)一个实体型一个实体型 多对多联系(多对多联系(m:n)22二、两个实体型之间的联系二、两个实体型之间的联系实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B用图形来表示两个实体型之间的这三类联系 23二、两个实体型之间的联系(续)二、两个实体型之间的联系(续)一对一联系(一对一联系(1:1)实例实例一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在
13、一个班中任职 定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实中的每一个实体,实体集体集B中至多有一个(也可以没有)实体中至多有一个(也可以没有)实体与之联系,反之亦然,与之联系,反之亦然,则称实体集则称实体集A与实与实体集体集B具有一对一联系,具有一对一联系,记为记为1:1 班级班级班级班级-班长班长班长班长111:1联系联系24两个实体型之间的联系两个实体型之间的联系(续续)一对多联系(一对多联系(1:n)实例实例一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习 定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体集
14、中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实体)与之联系,反之,对于实体集集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一个中至多只有一个实体与之联系,则称实体与之联系,则称实体集实体集A与实体集与实体集B有一对有一对多联系,记为多联系,记为1:n班级班级组成组成学生学生1n1:n联系联系25两个实体型之间的联系两个实体型之间的联系(续续)多对多联系(多对多联系(m:n)实例实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程 定义:定义:
15、如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实)与之联系,反之,对于实体集体集B中的每一个实体,实体集中的每一个实体,实体集A中也有中也有m个实个实体(体(m0)与之联系,则称实体集)与之联系,则称实体集A与实体与实体B具有多对多联系,记为具有多对多联系,记为m:n课程课程选修选修学生学生mnm:n联系联系26三、两个以上实体型之间的联系三、两个以上实体型之间的联系 两个以上实体型之间一对多联系两个以上实体型之间一对多联系 若实体集若实体集E1,E2,.,En存在联系,对于实体集存在联系,对于实体集Ej(j=1
16、,2,.,i-1,i+1,.,n)中的给定实体,最)中的给定实体,最多只和多只和Ei中的一个实体相联系,则我们说中的一个实体相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的之间的联系是一对多的27两个以上实体型之间的联系两个以上实体型之间的联系(续续)实例实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,使用若干本参考书,使用若干本参考书,每一个教师只讲授一门课程,每一个教师只讲授一门课程,每一本参考书只供一门课程使用每一本参考书只供一门课程使用课程课程讲授讲授教师教师1m两个以上实
17、体型间两个以上实体型间1:n联系联系参考书参考书n28两个以上实体型之间的联系两个以上实体型之间的联系(续续)多个实体型间的一对一联系多个实体型间的一对一联系 两个以上实体型间的多对多联系两个以上实体型间的多对多联系 实例实例 供应商、项目、零件三个实体型供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件一个供应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给每种零件可由不同供应商供给供应商供应商供应供应项目项目mp两个以上实体型间两个以上实体型间m:n联系联系零件零件n29四、单个实体型内的联系四、单个实
18、体型内的联系一对多联系一对多联系 实例实例 职工实体型内部具有领导与被领导的联系职工实体型内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系 一对一联系一对一联系 请举例请举例职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系30单个实体型内的联系单个实体型内的联系实体型实体型1联系名联系名mn单个实体型内的单个实体型内的m:n联系联系多对多联系请举例31五、五、概念模型的一种表示方法概念模型的一种表示方法 实体联系方法实体联系方法(E-R方法方法
19、)用用E-R图来描述现实世界的概念模型图来描述现实世界的概念模型 E-R方法也称为方法也称为E-R模型模型32E-R图图 实体型实体型用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。属性属性用椭圆形表示,并用无向边将其与相应的实体连接起来用椭圆形表示,并用无向边将其与相应的实体连接起来学生教师学生学生学号学号年龄年龄性别性别姓名姓名33E-R图图(续续)联系联系 联系本身联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类与有关实体连接起来,同时在无向边旁标上联系的类型(型(1:1、
20、1:n或或m:n)34联系的属性联系的属性课程课程选修选修学生学生mn成绩成绩联系的属性:联系本身也是一种实体型,也 可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 35联系的表示方法联系的表示方法实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B36 连线上的数字有两种表示方法:连线上的数字有两种表示方法:表示方法表示方法1:用一对数,表示实体角色的最大参与:用一对数,表示实体角色的最大参与度,如图中的度,如图中的a)和和c)所示。所示。表示方
21、法表示方法2:用两对数,表示实体角色的最小和最:用两对数,表示实体角色的最小和最大参与度,大参与度,2-6中的中的b)和和d)所示。所示。37联系的表示方法示例联系的表示方法示例班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生1n1:n联系联系38实体联系模型的描述示例实体联系模型的描述示例 1.实体集之间的联系示例如图。实体集之间的联系示例如图。2.实体集内实体之间的联系示例如图。实体集内实体之间的联系示例如图。3.多重联系和多元联系的示例如图。多重联系和多元联系的示例如图。4.实体属性和联系属性示例如图。实体属性和联系属
22、性示例如图。5.E-R模型示例如图。模型示例如图。39六、一个实例六、一个实例用用E-R图表示某个工厂物资管理的概念模型图表示某个工厂物资管理的概念模型 实体实体 仓库:仓库:仓库号、面积、电话号码仓库号、面积、电话号码 零件零件:零件号、名称、规格、单价、描述:零件号、名称、规格、单价、描述 供应商:供应商号、姓名、地址、电话号码、帐号供应商:供应商号、姓名、地址、电话号码、帐号 项目:项目号、预算、开工日期项目:项目号、预算、开工日期 职工:职工号、姓名、年龄、职称职工:职工号、姓名、年龄、职称 40一个实例一个实例 实体之间的联系如下:实体之间的联系如下:(1)一个仓库可以存放多种零件,
23、一种零件可以存放在多个仓库中。仓库一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导职工之间具有领导-被领导关系。即仓库主任领导若干保管员。被领导关系。即仓库主任领导若干保管员。(4)供应商、项
24、目和零件三者之间具有多对多的联系供应商、项目和零件三者之间具有多对多的联系41一个实例一个实例423.2 概念结构设计概念结构设计3.2.1 概念结构概念结构3.2.2 概念结构设计的方法与步骤概念结构设计的方法与步骤3.2.3 数据抽象与局部视图设计数据抽象与局部视图设计3.2.4 视图的集成视图的集成433.2.1 概念结构概念结构 什么是概念结构设计什么是概念结构设计 将需求分析得到的用户需求抽象为信息结构即概将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计念模型的过程就是概念结构设计 概念结构是各种数据模型的共同基础,它比数据概念结构是各种数据模型的共同基础,它比
25、数据模型更独立于机器、更抽象,从而更加稳定模型更独立于机器、更抽象,从而更加稳定 概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键44概念结构(续)概念结构(续)现实世界现实世界机器世界机器世界信息世界信息世界需求分析需求分析概念结构设计概念结构设计45概念结构(续)概念结构(续)概念结构设计的特点概念结构设计的特点 (1)能真实、充分地反映现实世界能真实、充分地反映现实世界 (2)易于理解易于理解 (3)易于更改易于更改 (4)易于向关系、网状、层次等各种数据模型转换易于向关系、网状、层次等各种数据模型转换46概念结构(续)概念结构(续)描述概念模型的工具描述概念模型的工
26、具 E-R模型模型473.2.2 概念结构设计的方法与步骤概念结构设计的方法与步骤 设计概念结构的四类方法设计概念结构的四类方法 自顶向下自顶向下 首先定义全局概念结构的框架,然后逐步细化首先定义全局概念结构的框架,然后逐步细化自顶向下策略483.2.2 概念结构设计的方法与步骤概念结构设计的方法与步骤 自底向上自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构到全局概念结构自底向上策略49概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)逐步扩张逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪
27、球的首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构方式逐步生成其他概念结构,直至总体概念结构逐步扩张策略50概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)混合策略混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。部概念结构。51概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)常用策略常用策略 自顶向下地进行需求分析自顶向下地进行需
28、求分析 自底向上地设计概念结构自底向上地设计概念结构52概念结构设计的方法与步骤(续)概念结构设计的方法与步骤(续)自底向上设计概念结构的步骤 第1步:抽象数据并设计局部视图第2步:集成局部视图,得到全局概念结构533.2.3 数据抽象与局部视图设计数据抽象与局部视图设计 数据抽象数据抽象 局部视图设计局部视图设计54数据抽象数据抽象 抽象是对实际的人、物、事和概念中抽取所关心的抽象是对实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。种概念精确地加以描述。概念结构是对现实世界的一种抽象概念结构是对
29、现实世界的一种抽象55数据抽象(续)数据抽象(续)三种常用抽象三种常用抽象1.分类(分类(Classification)定义某一类概念作为现实世界中一组对象的类型定义某一类概念作为现实世界中一组对象的类型 抽象了对象抽象了对象值和型值和型之间的之间的“is member of”的语义的语义56数据抽象(续)数据抽象(续)57数据抽象(续)数据抽象(续)2.聚集(聚集(Aggregation)定义某一类型的组成成分定义某一类型的组成成分 抽象了对象内部类型和成分之间抽象了对象内部类型和成分之间“is part of”的语义的语义58数据抽象(续)数据抽象(续)聚集 59数据抽象(续)数据抽象(续
30、)复杂的聚集,某一类型的成分仍是一个聚集 更复杂的聚集 60数据抽象(续)数据抽象(续)3.概括(概括(Generalization)定义类型之间的一种子集联系定义类型之间的一种子集联系 抽象了类型之间的抽象了类型之间的“is subset of”的语义的语义 继承性继承性 61数据抽象(续)数据抽象(续)概括 62局部视图设计局部视图设计设计分设计分E-R图的步骤图的步骤:选择局部应用选择局部应用逐一设计分逐一设计分E-R图图63 选择局部应用选择局部应用 在多层的数据流图中选择一个适当层次的数据流图,在多层的数据流图中选择一个适当层次的数据流图,作为设计分作为设计分E-R图的出发点图的出发
31、点 通常以通常以中层数据流图中层数据流图作为设计分作为设计分E-R图的依据图的依据64选择局部应用(续)选择局部应用(续)设计分E-R图的出发点 65 逐一设计分逐一设计分E-R图图 任务任务 将各局部应用涉及的数据分别从数据字典中抽取出来将各局部应用涉及的数据分别从数据字典中抽取出来 参照数据流图,标定各局部应用中的实体、实体的属参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码性、标识实体的码 确定实体之间的联系及其类型(确定实体之间的联系及其类型(1:1,1:n,m:n)66逐一设计分逐一设计分E-R图(续)图(续)两条准则:两条准则:(1)属性不能再具有需要描述的性质。即属
32、性必须是)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成不可分的数据项,不能再由另一些属性组成(2)属性不能与其他实体具有联系。联系只发生在实)属性不能与其他实体具有联系。联系只发生在实体之间体之间67逐一设计分逐一设计分E-R图(续)图(续)职称作为一个实体68逐一设计分逐一设计分E-R图(续)图(续)病房作为一个实体69逐一设计分逐一设计分E-R图(续)图(续)仓库作为一个实体70逐一设计分逐一设计分E-R图(续)图(续)实例销售管理子系统分E-R图的设计v销售管理子系统的主要功能:销售管理子系统的主要功能:n处理顾客和销售员送来的订单处理顾客和销售员送来
33、的订单n工厂是根据订货安排生产的工厂是根据订货安排生产的n交出货物同时开出发票交出货物同时开出发票n收到顾客付款后,根据发票存根和信贷情况进行应收款处理收到顾客付款后,根据发票存根和信贷情况进行应收款处理71逐一设计分逐一设计分E-R图(续)图(续)下图是第一层数据流图,虚线部分划出了系统边界下图是第一层数据流图,虚线部分划出了系统边界 图7.18 销售管理子系统第一层数据流图 72逐一设计分逐一设计分E-R图(续)图(续)上图中把系统功能又分为上图中把系统功能又分为4个子系统,下面四个图是第二层数据流图个子系统,下面四个图是第二层数据流图 图7.19 接收订单 73逐一设计分逐一设计分E-R
34、图(续)图(续)图7.20 处理订单 74逐一设计分逐一设计分E-R图(续)图(续)图7.21 开发票 75逐一设计分逐一设计分E-R图(续)图(续)图7.22 支付过账 76逐一设计分逐一设计分E-R图(续)图(续)分E-R图的框架 77逐一设计分逐一设计分E-R图(续)图(续)参照第二层数据流图和数据字典,遵循两个准则,进行如参照第二层数据流图和数据字典,遵循两个准则,进行如下调整:下调整:(1)订单与订单细节是订单与订单细节是1 n的联系的联系(2)原订单和产品的联系实际上是订单细节和产品的联系。原订单和产品的联系实际上是订单细节和产品的联系。(3)图图7.21中中“发票主清单发票主清单
35、”是一个数据存储,不必作为实体是一个数据存储,不必作为实体加入分加入分E-R图图(4)工厂对大宗订货给予优惠工厂对大宗订货给予优惠78逐一设计分逐一设计分E-R图(续)图(续)得到分得到分E-R图如下图所示图如下图所示 销售管理子系统的分E-R图 79逐一设计分逐一设计分E-R图(续)图(续)对每个实体定义的属性如下:对每个实体定义的属性如下:顾客:顾客:顾客号顾客号,顾客名,地址,电话,信贷状况,账目余额,顾客名,地址,电话,信贷状况,账目余额 订单:订单:订单号订单号,顾客号,订货项数,订货日期,交货日期,工种号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点生产地点 订单细则:订
36、单细则:订单号,细则号订单号,细则号,零件号,订货数,金额,零件号,订货数,金额 应收账款:应收账款:顾客号,订单号顾客号,订单号,发票号,应收金额,支付日期,支付,发票号,应收金额,支付日期,支付金额,金额,当前余额,货款限额当前余额,货款限额 产品描述:产品描述:产品号,产品名,单价,重量产品号,产品名,单价,重量 折扣规则:折扣规则:产品号,订货量产品号,订货量,折扣,折扣803.2.4 视图的集成视图的集成 各个局部视图即分各个局部视图即分E-R图建立好后,还需要对它们图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总进行合并,集成为一个整体的数据概念结构即总E-R图。
37、图。81视图集成的两种方式视图集成的两种方式 多个分多个分E-R图一次集成图一次集成 一次集成多个分一次集成多个分E-R图图 通常用于局部视图比较简单时通常用于局部视图比较简单时82视图的集成(续)视图的集成(续)逐步集成逐步集成 用累加的方式一次集成两个分用累加的方式一次集成两个分E-R图图 83视图的集成(续)视图的集成(续)集成局部集成局部E-R图的步骤图的步骤1.合并合并2.修改与重构修改与重构84视图的集成(续)视图的集成(续)视图集成 85合并分合并分E-R图,生成初步图,生成初步E-R图图 各分各分E-R图存在冲突图存在冲突 各个分各个分E-R图之间必定会存在许多不一致的地方图之
38、间必定会存在许多不一致的地方 合并分合并分E-R图的主要工作与关键图的主要工作与关键 合理消除各分合理消除各分E-R图的冲突图的冲突86合并分合并分E-R图,生成初步图,生成初步E-R图(续)图(续)冲突的种类冲突的种类 属性冲突属性冲突 命名冲突命名冲突 结构冲突结构冲突87 属性冲突属性冲突 两类属性冲突两类属性冲突 属性域冲突属性域冲突属性值的类型属性值的类型取值范围取值范围 取值集合不同取值集合不同 属性取值单位冲突属性取值单位冲突88 命名冲突命名冲突 两类命名冲突两类命名冲突 同名异义同名异义:不同意义的对象在不同的局部应用中具有:不同意义的对象在不同的局部应用中具有相同的名字相同
39、的名字 异名同义(一义多名)异名同义(一义多名):同一意义的对象在不同的局:同一意义的对象在不同的局部应用中具有不同的名字部应用中具有不同的名字89 结构冲突结构冲突 三类结构冲突三类结构冲突 同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象 同一实体在不同分同一实体在不同分E-R图中所包含的属性个数和属性排列图中所包含的属性个数和属性排列次序不完全相同次序不完全相同 实体之间的联系在不同局部视图中呈现不同的类型实体之间的联系在不同局部视图中呈现不同的类型90消除不必要的冗余,设计基本消除不必要的冗余,设计基本E-R图图 基本任务基本任务 消除不必要的冗余,设计生成基本消除
40、不必要的冗余,设计生成基本E-R图图合并合并初步初步E-R图图分分E-R图图可能存在冗余的数据可能存在冗余的数据和冗余的实体间联系和冗余的实体间联系基本基本E-R图图消除不必要的冗余消除不必要的冗余91消除不必要的冗余,设计基本消除不必要的冗余,设计基本E-R图(续)图(续)冗余冗余 消除冗余的方法消除冗余的方法921冗余冗余 冗余的数据是指可由基本数据导出的数据冗余的数据是指可由基本数据导出的数据冗余的联系是指可由其他联系导出的联系冗余的联系是指可由其他联系导出的联系 冗余数据和冗余联系容易破坏数据库的完整性,给数据库维冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难护增加困难
41、 消除不必要的冗余后的初步消除不必要的冗余后的初步E-R图称为基本图称为基本E-R图图 93消除冗余的方法消除冗余的方法 分析方法分析方法 以数据字典和数据流图为依据以数据字典和数据流图为依据 根据数据字典中关于数据项之间的逻辑关系根据数据字典中关于数据项之间的逻辑关系94消除冗余的方法(续)消除冗余的方法(续)消除冗余 95消除冗余的方法(续)消除冗余的方法(续)效率效率VS冗余信息冗余信息 需要根据用户的整体需求来确定需要根据用户的整体需求来确定 若人为地保留了一些冗余数据,则应把数据字典中数据若人为地保留了一些冗余数据,则应把数据字典中数据关联的说明作为完整性约束条件关联的说明作为完整性
42、约束条件 Q4=Q5 一旦一旦Q5修改后就应当触发完整性检查,对修改后就应当触发完整性检查,对Q4进行修改进行修改96消除冗余的方法(续)消除冗余的方法(续)规范化理论规范化理论 函数依赖的概念提供了消除冗余联系的形式化工具函数依赖的概念提供了消除冗余联系的形式化工具97消除冗余的方法(续)消除冗余的方法(续)方法方法1.确定分确定分E-R图实体之间的数据依赖图实体之间的数据依赖,并用实体码之间的函数,并用实体码之间的函数依赖表示。依赖表示。劳动人事管理的分E-R图 98消除冗余的方法(续)消除冗余的方法(续)上图中,上图中,部门和职工之间一对多的联系可表示为:部门和职工之间一对多的联系可表示
43、为:职工号职工号部门号部门号 职工和产品之间多对多的联系可表示为:职工和产品之间多对多的联系可表示为:(职工号,产品号)(职工号,产品号)工作天数工作天数 得到函数依赖集得到函数依赖集FL 99消除冗余的方法(续)消除冗余的方法(续)2.求求FL的最小覆盖的最小覆盖GL,差集为,差集为D=FL-GL。逐一考察逐一考察D中的函数依赖,确定是否是冗余的联系,若是,中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。就把它去掉。(1)冗余的联系一定在冗余的联系一定在D中,而中,而D中的联系不一定是冗余的;中的联系不一定是冗余的;(2)当实体之间存在多种联系时要将实体之间的联系在形式上当实体之间存在
44、多种联系时要将实体之间的联系在形式上加以区分。加以区分。100消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例图实例 实例实例 某工厂管理信息系统的视图集成。某工厂管理信息系统的视图集成。书中图书中图1.14(c)、图、图7.24、图、图7.29分别为该厂物资、销售分别为该厂物资、销售 和劳动人事管理的分和劳动人事管理的分E-R图图 图图7.30为该系统的基本为该系统的基本E-R图图101消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)图1.14(c)工厂物资管理E-R图该厂物资管理分E-R图102消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)
45、图实例(续)图7.24 销售管理子系统的分E-R图该厂销售管理分E-R图103消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)图7.29 劳动人事管理的分E-R图该厂劳动人事管理分E-R图104消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)系统的基本E-R(图7.30)某工厂管理信息系统的基本E-R图 105消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)集成过程,解决了以下问题:集成过程,解决了以下问题:异名同义,项目和产品含义相同异名同义,项目和产品含义相同库存管理中职工与仓库的工作关系已包含在劳动人事管理的部
46、门库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与职工之间的联系之中,所以可以取消与职工之间的联系之中,所以可以取消职工之间领导与被领导关系可由部门与职工(经理)之间的领导职工之间领导与被领导关系可由部门与职工(经理)之间的领导关系、部门与职工之间的从属关系两者导出,所以也可以取消关系、部门与职工之间的从属关系两者导出,所以也可以取消106验证整体概念结构验证整体概念结构 视图集成后形成一个整体的数据库概念结构,对该整体概视图集成后形成一个整体的数据库概念结构,对该整体概念结构还必须进行进一步验证,确保它能够满足下列条件念结构还必须进行进一步验证,确保它能够满足下列条件:整体概念结构
47、内部必须具有一致性,不存在互相矛盾的表达整体概念结构内部必须具有一致性,不存在互相矛盾的表达 整体概念结构能准确地反映原来的每个视图结构,包括属性、整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系实体及实体间的联系 整体概念结构能满足需要分析阶段所确定的所有要求整体概念结构能满足需要分析阶段所确定的所有要求107验证整体概念结构(续)验证整体概念结构(续)整体概念结构最终还应该提交给用户,征求用户和有关人员整体概念结构最终还应该提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然后把它确定下来,作为的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概
48、念结构,作为进一步设计数据库的依据。数据库的概念结构,作为进一步设计数据库的依据。108概念结构设计小结概念结构设计小结 概念结构设计的步骤概念结构设计的步骤 抽象数据并设计局部视图抽象数据并设计局部视图 集成局部视图,得到全局概念结构集成局部视图,得到全局概念结构 验证整体概念结构验证整体概念结构109概念结构设计小结概念结构设计小结 数据抽象数据抽象 分类分类 聚集聚集 概括概括110概念结构设计小结概念结构设计小结 设计局部视图设计局部视图 选择局部应用选择局部应用 2.逐一设计分逐一设计分E-R图图 标定局部应用中的实体、属性、码,实体间的联系标定局部应用中的实体、属性、码,实体间的联
49、系 用用E-R图描述出来图描述出来111概念结构设计小结概念结构设计小结 集成局部视图集成局部视图 1.合并分合并分E-R图,生成初步图,生成初步E-R图图消除冲突消除冲突 属性冲突属性冲突 命名冲突命名冲突 结构冲突结构冲突 2.修改与重构修改与重构消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图图 分析方法分析方法 规范化理论规范化理论112本章小结本章小结 数据模型数据模型 数据模型的三要素数据模型的三要素 概念模型,概念模型,E-R 模型模型 概念结构设计的步骤概念结构设计的步骤 抽象数据并设计局部视图抽象数据并设计局部视图 集成局部视图,得到全局概念结构集成局部视
50、图,得到全局概念结构 验证整体概念结构验证整体概念结构113课堂测试课堂测试一、选择题一、选择题1.概念结构设计是整个数据库设计的关键,它通概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个过对用户需求进行综合、归纳与抽象,形成一个独立于具体独立于具体DBMS的(的()。)。A.数据模型数据模型 B.概念模型概念模型 C.层次模型层次模型 D.关系模型关系模型 114 2.概念模型是现实世界的第一层抽象,这一类最著概念模型是现实世界的第一层抽象,这一类最著名的模型是(名的模型是()。A.层次模型层次模型 B.关系模型关系模型 C.网状模型网状模型 D.实体实体-