数据库原理配套课件Lesson 07_第1页
数据库原理配套课件Lesson 07_第2页
数据库原理配套课件Lesson 07_第3页
数据库原理配套课件Lesson 07_第4页
数据库原理配套课件Lesson 07_第5页
已阅读5页,还剩174页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理数据库原理 孙大为孙大为中国地质大学中国地质大学 信息工程学院信息工程学院课程内容安排数据库编程数据库编程数据库安全性数据库安全性关系数据库标关系数据库标准语言准语言SQLSQL数据库完整性数据库完整性关系数据库关系数据库数据库设计数据库设计关系数据理论关系数据理论绪绪 论论关系查询处理关系查询处理和查询优化和查询优化数据库恢复技数据库恢复技术术并发控制并发控制第七讲数据库设计本讲目标7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 物理结构设计7.6 数据库的实施和维护7.7 小结7.1 数据库设计概述u 数据库设计n数据库设计是指对于一个给定的

2、应用环境,构造(设数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库计)优化的数据库逻辑模式逻辑模式和和物理结构物理结构,并据此建立并据此建立数据库及其应用系统数据库及其应用系统,使之能够有效地存储和管理数,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据操作要求。n信息管理要求:在数据库中应该存储和管理哪些数据信息管理要求:在数据库中应该存储和管理哪些数据对象对象 。n数据操作要求:对数据对象需要进行哪些操作,如查数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。询、增

3、、删、改、统计等操作。 数据库设计概述(续)u 数据库设计n数据库设计的目标是为用户和各种应用系统提供一个数据库设计的目标是为用户和各种应用系统提供一个信息基础设施信息基础设施和高效率的和高效率的运行环境运行环境 。n高效率的运行环境高效率的运行环境l数据库数据的存取效率高数据库数据的存取效率高l数据库存储空间的利用率高数据库存储空间的利用率高l数据库系统运行管理的效率高数据库系统运行管理的效率高7.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式7.1.1 数据库设计的特点1. 数据库建设的基本规律

4、n三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据 n管理管理 l数据库建设项目管理数据库建设项目管理 l企业(即应用部门)的业务管理企业(即应用部门)的业务管理 n基础数据基础数据 l数据的收集、整理、组织和不断更新数据的收集、整理、组织和不断更新数据库设计的特点(续)2. 结构(数据)设计和行为(处理)设计相结合 n将数据库结构设计和数据处理设计密切结合将数据库结构设计和数据处理设计密切结合u结构和行为分离的设计n传统的软件工程:重传统的软件工程:重 行为设计行为设计l忽视对应用中数据语义的分析和抽象,只要有可能就尽忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟

5、数据结构设计的决策量推迟数据结构设计的决策n早期的数据库设计:重早期的数据库设计:重 结构设计结构设计l致力于数据模型和数据库建模方法研究,忽视了行为设致力于数据模型和数据库建模方法研究,忽视了行为设计对结构设计的影响计对结构设计的影响数据库设计的特点(续)结构和行为分离的设计结构和行为分离的设计 现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计应用设计应用设计应用开发应用开发系统调试系统调试数据库设计数据库设计应用系统设计应用

6、系统设计7.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式7.1.2 数据库设计方法u大型数据库设计是涉及多学科的综合性技术,又是一项庞大的工程项目。u它要求多方面的知识和技术。主要包括:n计算机的基础知识计算机的基础知识n软件工程的原理和方法软件工程的原理和方法n程序设计的方法和技巧程序设计的方法和技巧n数据库的基本知识数据库的基本知识n数据库设计技术数据库设计技术n应用领域的知识应用领域的知识数据库设计方法(续)u手工试凑法n设计质量与设计人员的经验和水平有直接关系设计质量与设计人员的经验和水平

7、有直接关系n缺乏科学理论和工程方法的支持,工程的质量难以保缺乏科学理论和工程方法的支持,工程的质量难以保证证n数据库运行一段时间后常常又不同程度地发现各种问数据库运行一段时间后常常又不同程度地发现各种问题,增加了维护代价题,增加了维护代价数据库设计方法(续)u规范设计法n手工设计方法手工设计方法n基本思想基本思想l过程迭代和逐步求精过程迭代和逐步求精n典型方法典型方法l新奥尔良(新奥尔良(New Orleans)方法)方法l基于基于E-R模型的数据库设计方法模型的数据库设计方法l3NF(第三范式)的设计方法(第三范式)的设计方法l面向对象的数据库设计方法面向对象的数据库设计方法l统一建模语言(

8、统一建模语言(UML)方法)方法7.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式7.1.3 数据库设计的基本步骤u数据库设计分6个阶段n需求分析需求分析n概念结构设计概念结构设计n逻辑结构设计逻辑结构设计n物理结构设计物理结构设计n数据库实施数据库实施n数据库运行和维护数据库运行和维护 u需求分析和概念设计独立于任何数据库管理系统 u逻辑设计和物理设计与选用的数据库管理系统密切相关数据库设计的基本步骤(续)数据库设计的基本步骤(续)u参加数据库设计的人员n系统分析人员系统分析人员和和数据库设计人员

9、数据库设计人员l自始至终参与数据库设计,其水平决定了数据库系统的自始至终参与数据库设计,其水平决定了数据库系统的质量质量n数据库管理员和用户代表数据库管理员和用户代表l主要参加需求分析与数据库的运行和维护主要参加需求分析与数据库的运行和维护n应用开发人员应用开发人员l包括程序员和操作员包括程序员和操作员l在实施阶段参与进来,分别负责编制程序和准备软硬件在实施阶段参与进来,分别负责编制程序和准备软硬件环境环境数据库设计的基本步骤(续)1. 需求分析阶段n是否做得充分与准确,决定了构建数据库的速度和质是否做得充分与准确,决定了构建数据库的速度和质量量2. 概念结构设计阶段n通过对用户需求进行综合、

10、归纳与抽象,形成一个独通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型立于具体数据库管理系统的概念模型3. 逻辑结构设计阶段n将概念结构转换为某个数据库管理系统所支持的数据将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化模型,并对其进行优化数据库设计的基本步骤(续)4. 物理结构设计阶段n为逻辑数据结构选取一个最适合应用环境的物理结构为逻辑数据结构选取一个最适合应用环境的物理结构n包括存储结构和存取方法包括存储结构和存取方法5. 数据库实施阶段n根据逻辑设计和物理设计的结果构建数据库根据逻辑设计和物理设计的结果构建数据库n编写与调试应用程序编写与

11、调试应用程序n组织数据入库并进行试运行组织数据入库并进行试运行6. 数据库运行和维护阶段n经过试运行后即可投入正式运行经过试运行后即可投入正式运行n在运行过程中必须不断对其进行评估、调整与修改在运行过程中必须不断对其进行评估、调整与修改数据库设计的基本步骤(续)u设计一个完善的数据库应用系统 往往是上述6个阶段的不断反复u这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程u把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计图图7.3 数据库设计各个阶段的数据设计描述数据库设计各

12、个阶段的数据设计描述数据库设计的基本步骤(续)7.1 数据库设计概述7.1.1 数据库设计的特点7.1.2 数据库设计方法7.1.3 数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式7.1.4 数据库设计过程中的各级模式u数据库设计不同阶段形成的数据库各级模式数据库的各级模式数据库的各级模式 数据库设计过程中的各级模式(续)u数据库设计不同阶段形成的数据库各级模式需求分析阶段:需求分析阶段:综合各个用户的应用需求综合各个用户的应用需求数据库的各级模式数据库的各级模式 数据库设计过程中的各级模式(续)u数据库设计不同阶段形成的数据库各级模式概念设计阶段:概念设计阶段: 形成独立于机器特

13、点,独形成独立于机器特点,独立于各个数据库管理系统产立于各个数据库管理系统产品的品的概念模式概念模式(E-R图)图)数据库的各级模式数据库的各级模式 数据库设计过程中的各级模式(续)u数据库设计不同阶段形成的数据库各级模式逻辑设计阶段:逻辑设计阶段:1. 首先将首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库形成数据库逻辑模式逻辑模式2. 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(必要的视图(View),形成数据的),形成数据的

14、外模式外模式数据库设计过程中的各级模式(续)u数据库设计不同阶段形成的数据库各级模式物理设计阶段:物理设计阶段:根据数据库管理系统特点和处理的需要,根据数据库管理系统特点和处理的需要,进行物理存储安排,建立索引,形成数进行物理存储安排,建立索引,形成数据库据库内模式内模式数据库的各级模式数据库的各级模式 第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 物理结构设计7.6 数据库的实施和维护7.7 小结7.2 需求分析7.2.1 需求分析的任务7.2.2 需求分析的方法7.2.3 数据字典需求分析(续)u需求分析就是分析用户的要求n是设计数

15、据库的起点是设计数据库的起点n结果是否准确地反映了用户的实际要求,将直接影响结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理到后面各个阶段的设计,并影响到设计结果是否合理和实用和实用7.2.1 需求分析的任务u详细调查现实世界要处理的对象(组织、部门、企业等)u充分了解原系统(手工系统或计算机系统)工作概况u明确用户的各种需求u在此基础上确定新系统的功能u新系统必须充分考虑今后可能的扩充和改变需求分析的任务(续)u调查的重点是“数据”和“处理”,获得用户对数据库的要求(1)信息要求)信息要求l用户需要从数据库中获得信息的内容与性质用户需要从数据库中获

16、得信息的内容与性质l由信息要求可以导出数据要求,即在数据库中需要存储由信息要求可以导出数据要求,即在数据库中需要存储哪些数据哪些数据(2)处理要求)处理要求l用户要完成的处理功能用户要完成的处理功能l对处理性能的要求对处理性能的要求(3)安全性与完整性要求)安全性与完整性要求需求分析的任务(续)u确定用户最终需求的难点n用户缺少计算机知识,不能准确地表达自己的需求,用户缺少计算机知识,不能准确地表达自己的需求,他们所提出的需求往往不断地变化。他们所提出的需求往往不断地变化。n设计人员缺少用户的专业知识,不易理解用户的真正设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求需求

17、,甚至误解用户的需求u解决方法n设计人员必须不断深入地与用户进行交流,才能逐步设计人员必须不断深入地与用户进行交流,才能逐步确定用户的实际需求确定用户的实际需求7.2 需求分析7.2.1 需求分析的任务7.2.2 需求分析的方法7.2.3 数据字典7.2.2 需求分析的方法u调查清楚用户的实际需求并进行初步分析u与用户达成共识u分析与表达这些需求调查用户需求的步骤(1)调查组织机构情况(2)调查各部门的业务活动情况(3)协助用户明确对新系统的各种要求,包括信 息要求、处理要求、完全性与完整性要求(4)确定新系统的边界常用调查方法(1)跟班作业n通过亲身参加业务工作了解业务活动的情况通过亲身参加

18、业务工作了解业务活动的情况(2)开调查会n通过与用户座谈来了解业务活动情况及用户需求通过与用户座谈来了解业务活动情况及用户需求(3)请专人介绍(4)询问n对某些调查中的问题,可以找专人询问对某些调查中的问题,可以找专人询问(5)设计调查表请用户填写n调查表设计合理,则很有效调查表设计合理,则很有效(6)查阅记录n查阅与原系统有关的数据记录查阅与原系统有关的数据记录进一步分析和表达用户需求u分析方法n结构化分析方法(结构化分析方法(Structured Analysis,简称,简称SA方法)方法)lSA方法从最上层的系统组织机构入手方法从最上层的系统组织机构入手l采用自顶向下、逐层分解的方式分析

19、系统采用自顶向下、逐层分解的方式分析系统u对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户的认可需求分析过程需求分析过程需求分析过程 7.2 需求分析7.2.1 需求分析的任务7.2.2 需求分析的方法7.2.3 数据字典7.2.3 数据字典u数据字典是关于数据库中数据的描述,即元数据,不是数据本身u数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善u数据字典是进行详细的数据收集和数据分析所获得的主要结果注意:和关系数据库管理系统中数据字典的区别和联系数据字典(续)u数据字典的内容n数据项数据项n数据结构数据结构n数据流数据流n数据存储数据存储n处理过程处理过程

20、u 数据项是数据的最小组成单位u 若干个数据项可以组成一个数据结构u 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容1. 数据项u 数据项是不可再分的数据单位u 对数据项的描述数据项描述=数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义, 与其他数据项的逻辑关系, 数据项之间的联系n“取值范围取值范围”、“与其他数据项的逻辑关系与其他数据项的逻辑关系”定义了数定义了数据的完整性约束条件,是设计据的完整性约束条件,是设计 数据检验功能的依据数据检验功能的依据n可以用关系规范化理论为指导,用数据依赖的概念分析可以用关系规范化理论为指导,用数据依赖的概念分析

21、和表示数据项之间的联系和表示数据项之间的联系 2. 数据结构u数据结构反映了数据之间的组合关系。u 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。u 对数据结构的描述数据结构描述=数据结构名,含义说明,组成:数据项或数据结构3. 数据流u 数据流是数据结构在系统内传输的路径。u 对数据流的描述 数据流描述=数据流名,说明,数据流来源, 数据流去向,组成:数据结构, 平均流量,高峰期流量n数据流来源:说明该数据流来自哪个过程数据流来源:说明该数据流来自哪个过程n数据流去向:说明该数据流将到哪个过程去数据流去向:说明该数据流将到哪个过程去n平均

22、流量:在单位时间(每天、每周、每月等)里的传平均流量:在单位时间(每天、每周、每月等)里的传输次数输次数n高峰期流量:在高峰时期的数据流量高峰期流量:在高峰时期的数据流量4. 数据存储u数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。u对数据存储的描述数据存储描述=数据存储名,说明,编号,输 入的数据流 ,输出的数据流, 组成:数据结构,数据量, 存取频度,存取方式n存取频度:每小时、每天或每周存取次数,每次存取的存取频度:每小时、每天或每周存取次数,每次存取的数据量等信息数据量等信息 n存取方法:批处理存取方法:批处理 / 联机处理;检索联机处理;检索 / 更新;顺序检索更新

23、;顺序检索 / 随机检索随机检索n输入的数据流:数据来源输入的数据流:数据来源n输出的数据流:数据去向输出的数据流:数据去向5. 处理过程u处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息u处理过程说明性信息的描述 处理过程描述=处理过程名,说明,输入:数据流, 输出:数据流,处理:简要说明n简要说明:说明该处理过程的功能及处理要求简要说明:说明该处理过程的功能及处理要求l功能:该处理过程用来做什么功能:该处理过程用来做什么l处理要求:处理频度要求,如单位时间里处理多少事务,多处理要求:处理频度要求,如单位时间里处理多少事务,多少数据量、响应时间要求等

24、少数据量、响应时间要求等l处理要求是后面物理设计的输入及性能评价的标准处理要求是后面物理设计的输入及性能评价的标准需求分析小结u把需求收集和分析作为数据库设计的第一阶段是十分重要的。u第一阶段收集的基础数据(用数据字典来表达)是下一步进行概念设计的基础。u强调两点 (1)设计人员应充分考虑到可能的扩充和改变,使设计)设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充易于更改,系统易于扩充 (2)必须强调用户的参与)必须强调用户的参与第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 物理结构设计7.6 数据库的实施和维护7.7

25、 小结7.3 概念结构设计7.3.1 概念模型7.3.2 E-R模型*7.3.3 扩展的E-R模型*7.3.4 UML7.3.5 概念结构设计7.3.1 概念模型u将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计u概念模型的特点(1)能真实、充分地反映现实世界,是现实世界的一个真)能真实、充分地反映现实世界,是现实世界的一个真 实模型。实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换)易于理解,从而可以用它和不熟悉计算机的用户交换 意见。意见。(3)易于更改,当应用环境和应用要求改变时,容易对概)易于更改,当应用环境和应用要求改变时,容易对概 念模型修改和

26、扩充。念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换)易于向关系、网状、层次等各种数据模型转换u描述概念模型的工具nE-R模型模型7.3 概念结构设计7.3.1 概念结构7.3.2 E-R模型*7.3.3 扩展的E-R模型*7.3.4 UML7.3.5 概念结构设计7.3.2 E-R模型1. 实体之间的联系(1)两个实体型之间的联系:)两个实体型之间的联系:一对一联系(一对一联系(1 1)一对多联系(一对多联系(1 n)多对多联系(多对多联系(m n)E-R模型(续)一对一联系(一对一联系(1 1)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中

27、至多有中至多有一个(也可以没有)实体与之联系,反之亦然,则称一个(也可以没有)实体与之联系,反之亦然,则称实体集实体集A与实体集与实体集B具有一对一联系,记为具有一对一联系,记为1 1。例如,学校里一个班级只有一个正班长,而一个班长例如,学校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联只在一个班中任职,则班级与班长之间具有一对一联系。系。E-R模型(续)一对多联系(一对多联系(1 n)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实个实体(体(n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的每一个

28、中的每一个实体,实体集实体,实体集A中至多只有一个实体与之联系,则称实中至多只有一个实体与之联系,则称实体集体集A与实体集与实体集B有一对多联系,记为有一对多联系,记为1 n。例如,一个班级中有若干名学生,而每个学生只在一个例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。班级中学习,则班级与学生之间具有一对多联系。多对多联系(多对多联系(m n)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体(个实体(n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的中的每一个实体,实体集每一个实体,实体集

29、A中也有中也有m个实体(个实体(m0)与之)与之联系,则称实体集联系,则称实体集A与实体集与实体集B具有多对多联系,记具有多对多联系,记为为m n。例如,一门课程同时有若干个学生选修,而一个学例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有生可以同时选修多门课程,则课程与学生之间具有多对多联系。多对多联系。E-R模型(续)E-R模型(续)图图7.6 两个实体型之间的三类联系两个实体型之间的三类联系E-R模型(续)(2)两个以上的实体型之间的联系)两个以上的实体型之间的联系l一般地,两个以上的实体型之间也存在着一对一、一对一般地,两个以上的实体型之间也存在

30、着一对一、一对多、多对多联系。多、多对多联系。l对于课程、教师与参考书对于课程、教师与参考书3个实体型,如果一门课程可以个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的,如图课程与教师、参考书之间的联系是一对多的,如图7.7(a)所示。所示。E-R模型(续)图图7.7 三个实体型之间的联系示例三个实体型之间的联系示例E-R模型(续)(3)单个实体型内的联系)单个实体型内的联系l同一个实体集

31、内的各实体之间也可以存在一对一、一对同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。多、多对多的联系。l例如,职工实体型内部具有领导与被领导的联系,即某例如,职工实体型内部具有领导与被领导的联系,即某一职工(干部)一职工(干部)“领导领导”若干名职工,而一个职工仅被若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系,如图另外一个职工直接领导,因此这是一对多的联系,如图7.8所示。所示。E-R模型(续)图图7.8 单个实体型内的一对多联系示例单个实体型内的一对多联系示例n联系的度:联系的度:参与联系的实体型的数目参与联系的实体型的数目l2个实体型之间的联系度为

32、个实体型之间的联系度为2,也称为二元联系;,也称为二元联系;l3个实体型之间的联系度为个实体型之间的联系度为3,称为,称为三三元联系;元联系;lN个实体型之间的联系度为个实体型之间的联系度为N,也称为,也称为N元联系元联系E-R模型(续)2. E-R图nE-R图提供了表示实体型、属性和联系的方法:图提供了表示实体型、属性和联系的方法:l实体型:用矩形表示,矩形框内写明实体名。实体型:用矩形表示,矩形框内写明实体名。l属性:用椭圆形表示,并用无向边将其与相应的实体型连属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。接起来。例如,学生实体具有学号、姓名、性别、出生年份、例如,学生实体具有

33、学号、姓名、性别、出生年份、系、入学时间等属性,用系、入学时间等属性,用E-R图表示如图图表示如图7.9所示所示图图7.9 学生实体及属性学生实体及属性E-R模型(续)l联系:用菱形表示,菱形框内写明联系名,并用无向边联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系分别与有关实体型连接起来,同时在无向边旁标上联系的类型(的类型(1 1,1 n或或m n)。)。l联系可以具有属性联系可以具有属性图图7.10 联系的属性联系的属性E-R模型(续)u3. 一个实例n某个工厂物资管理的概念模型。物资管理涉及的实体有:某个工厂物资管理的概念模型。物资管理涉

34、及的实体有:l仓库:属性有仓库号、面积、电话号码仓库:属性有仓库号、面积、电话号码l零件:属性有零件号、名称、规格、单价、描述零件:属性有零件号、名称、规格、单价、描述l供应商:属性有供应商号、姓名、地址、电话号码、账号供应商:属性有供应商号、姓名、地址、电话号码、账号l项目:属性有项目号、预算、开工日期项目:属性有项目号、预算、开工日期l职工:属性有职工号、姓名、年龄、职称职工:属性有职工号、姓名、年龄、职称E-R模型(续)n这些实体之间的联系如下:这些实体之间的联系如下: (1) 一个仓库可以存放多种零件,一种零件可以存放在多个一个仓库可以存放多种零件,一种零件可以存放在多个 仓库中,因此

35、仓库和零件具有多对多的联系。用仓库中,因此仓库和零件具有多对多的联系。用库存量库存量 来表示某种零件在某个仓库中的数量。来表示某种零件在某个仓库中的数量。(2) 一个仓库有多个职工当仓库保管员,一个职工只能在一一个仓库有多个职工当仓库保管员,一个职工只能在一 个仓库工作,因此仓库和职工之间是一对多的联系。个仓库工作,因此仓库和职工之间是一对多的联系。E-R模型(续)n这些实体之间的联系如下(续):这些实体之间的联系如下(续): (3) 职工之间具有领导与被领导关系。即仓库主任领导若职工之间具有领导与被领导关系。即仓库主任领导若 干保管员,因此职工实体型中具有一对多的联系。干保管员,因此职工实体

36、型中具有一对多的联系。(4) 供应商、项目和零件三者之间具有多对多的联系。即一供应商、项目和零件三者之间具有多对多的联系。即一 个供应商可以供给若干项目多种零件,每个项目可以使个供应商可以供给若干项目多种零件,每个项目可以使 用不同供应商供应的零件,每种零件可由不同供应商供用不同供应商供应的零件,每种零件可由不同供应商供 给。给。E-R模型(续)E-R模型(续)E-R模型(续)7.3 概念结构设计7.3.1 概念结构7.3.2 E-R模型*7.3.3 扩展的E-R模型*7.3.4 UML7.3.5 概念结构设计7.3.5 概念结构设计1. 实体与属性的划分原则n为了简化为了简化E-R图的处置,

37、现实世界的事物能作为属性对图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待待的,尽量作为属性对待。n两条准则:两条准则:(1)作为属性,不能再具有需要描述的性质。属性必须)作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。是不可分的数据项,不能包含其他属性。 (2)属性不能与其他实体具有联系,即)属性不能与其他实体具有联系,即E-R图中所表示图中所表示的联系是实体之间的联系。的联系是实体之间的联系。概念结构设计(续)例1 职工是一个实体,职工号、姓名、年龄是职工的属性。n 职称如果没有与工资、福利挂钩,根据准则(职称如果没有与工资、福利挂钩,根据准则(1

38、)可以作为职工实体)可以作为职工实体的属性的属性n 如果不同的职称有不同的工资、住房标准和不同的附加福利,则职如果不同的职称有不同的工资、住房标准和不同的附加福利,则职称作为一个实体更恰当称作为一个实体更恰当概念结构设计(续)例2 在医院中,一个病人只能住在一个病房,病房号可以作为病人实体的一个属性; 如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则根据准则(2) 病房应作为一个实体。概念结构设计(续)例3 如果一种货物只存放在一个仓库,那么就可以把存放货物的仓库的仓库号作为描述货物存放地点的属性。 如果一种货物可以存放在多个仓库中,或者仓库本身又用面积作为属性,或者

39、仓库与职工发生管理上的联系,那么就应把仓库作为一个实体。概念结构设计(续)u例7.1 销售管理子系统E-R图的设计。n该子系统的主要功能是:该子系统的主要功能是:l处理顾客和销售员送来的订单处理顾客和销售员送来的订单l工厂是根据订货安排生产的工厂是根据订货安排生产的l交出货物同时开出发票交出货物同时开出发票l收到顾客付款后,根据发票存根和信贷情况进行应收款收到顾客付款后,根据发票存根和信贷情况进行应收款处理处理概念结构设计(续)u 参照需求分析和数据字典中的详尽描述,遵循前面给出的两个准则,进行了如下调整:(1)每张订单由订单号、若干头信息和订单细节组成。订单细节又每张订单由订单号、若干头信息

40、和订单细节组成。订单细节又有订货的零件号、数量等来描述。按照准则(有订货的零件号、数量等来描述。按照准则(2),订单细节就不),订单细节就不能作订单的属性处理而应该上升为实体。一张订单可以订若干产能作订单的属性处理而应该上升为实体。一张订单可以订若干产品,所以订单与订单细节两个实体之间是品,所以订单与订单细节两个实体之间是1 n的联系。的联系。概念结构设计(续)(2)原订单和产品的联系实际上是订单细节和产品的联原订单和产品的联系实际上是订单细节和产品的联系。每条订货细节对应一个产品描述,订单处理时从系。每条订货细节对应一个产品描述,订单处理时从中获得当前单价、产品重量等信息。中获得当前单价、产

41、品重量等信息。(3)工厂对大宗订货给予优惠。每种产品都规定了不同工厂对大宗订货给予优惠。每种产品都规定了不同订货数量的折扣,应增加一个订货数量的折扣,应增加一个“折扣规则折扣规则”实体存放实体存放这些信息,而不应把它们放在产品实体中。这些信息,而不应把它们放在产品实体中。概念结构设计(续)u最后得到销售管理子系统E-R图如图7.23所示。图图7.23 销售管理子系统的销售管理子系统的E-R图图概念结构设计(续)u对每个实体定义的属性如下:n 顾客:顾客:顾客号顾客号,顾客名,地址,电话,信贷状况,账目余额,顾客名,地址,电话,信贷状况,账目余额n 订单:订单:订单号订单号,顾客号,订货项数,订

42、货日期,交货日期,工,顾客号,订货项数,订货日期,交货日期,工种号,生产地点种号,生产地点n 订单细则:订单细则:订单号,细则号订单号,细则号,零件号,订货数,金额,零件号,订货数,金额n 应收账款:应收账款:顾客号,订单号顾客号,订单号,发票号,应收金额,支付日期,发票号,应收金额,支付日期,支付金额,当前余额,货款限额支付金额,当前余额,货款限额n 产品:产品:产品号产品号,产品名,单价,重量,产品名,单价,重量n 折扣规则:折扣规则:产品号,订货量产品号,订货量,折扣,折扣概念结构设计(续)2. E-R图的集成nE-R图的集成一般需要分两步图的集成一般需要分两步l 合并。解决各分合并。解

43、决各分E-R图之间的冲突,将分图之间的冲突,将分E-R图合并起图合并起来生成初步来生成初步E-R图。图。l 修改和重构。消除不必要的冗余,生成基本修改和重构。消除不必要的冗余,生成基本E-R图。图。概念结构设计(续)(1)合并)合并E-R图,生成初步图,生成初步E-R图图l各个局部应用所面向的问题不同,各个子系统的各个局部应用所面向的问题不同,各个子系统的E-R图图之间必定会存在许多不一致的地方,称之为冲突。之间必定会存在许多不一致的地方,称之为冲突。l子系统子系统E-R图之间的冲突主要有三类:图之间的冲突主要有三类:属性冲突属性冲突命名冲突命名冲突结构冲突结构冲突概念结构设计(续)属性冲突属

44、性冲突l属性域冲突,即属性值的类型、取值范围或取值集合不属性域冲突,即属性值的类型、取值范围或取值集合不同。同。例如零件号,有的部门把它定义为整数,有的部门例如零件号,有的部门把它定义为整数,有的部门把它定义为字符型。把它定义为字符型。年龄,某些部门以出生日期形式表示职工的年龄,年龄,某些部门以出生日期形式表示职工的年龄,而另一些部门用整数表示职工的年龄。而另一些部门用整数表示职工的年龄。l属性取值单位冲突。属性取值单位冲突。例如,零件的重量有的以公斤为单位,有的以斤为例如,零件的重量有的以公斤为单位,有的以斤为单位,有的以克为单位。单位,有的以克为单位。概念结构设计(续)命名冲突命名冲突l同

45、名异义,即不同意义的对象在不同的局部应用中具有相同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。同的名字。l异名同义(一义多名),即同一意义的对象在不同的局部异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。应用中具有不同的名字。如对科研项目,财务科称为项目,科研处称为课题,如对科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程。生产管理处称为工程。l命名冲突命名冲突可能发生在实体、联系一级上可能发生在实体、联系一级上也可能发生在属性一级上也可能发生在属性一级上通过讨论、协商等行政手段加以解决通过讨论、协商等行政手段加以解决概念结构设计(续)结构冲突

46、结构冲突l同一对象在不同应用中具有不同的抽象。同一对象在不同应用中具有不同的抽象。例如,职工在某一局部应用中被当作实体,而在另一局例如,职工在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。部应用中则被当作属性。解决方法:把属性变换为实体或把实体变换为属性,使解决方法:把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。同一对象具有相同的抽象。l同一实体在不同子系统的同一实体在不同子系统的E-R图中所包含的属性个数和属性图中所包含的属性个数和属性排列次序不完全相同。排列次序不完全相同。解决方法:使该实体的属性取各子系统的解决方法:使该实体的属性取各子系统的E-R图中属性图中

47、属性的并集,再适当调整属性的次序。的并集,再适当调整属性的次序。概念结构设计(续)结构冲突(续)结构冲突(续)l实体间的联系在不同的实体间的联系在不同的E-R图中为不同的类型。图中为不同的类型。实体实体E1与与E2在一个在一个E-R图中是多对多联系,在另一个图中是多对多联系,在另一个E-R图中是一对多联系图中是一对多联系解决方法是根据应用的语义对实体联系的类型进行综合解决方法是根据应用的语义对实体联系的类型进行综合或调整。或调整。概念结构设计(续)图图7.25(a)中零件与产品之间中零件与产品之间存在多对多的联系存在多对多的联系“构成构成”图图7.25(b)中产品、零件与供中产品、零件与供应商

48、三者之间还存在多对多应商三者之间还存在多对多的联系的联系“供应供应”合并两个合并两个E-R图,图,如图如图7.25(c)概念结构设计(续)(2)消除不必要的冗余,设计基本)消除不必要的冗余,设计基本E-R图图l所谓冗余的数据是指可由基本数据导出的数据,冗余的所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。联系是指可由其他联系导出的联系。l消除冗余主要采用分析方法,即以数据字典和数据流图消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。明来消除冗余。概念结构

49、设计(续)l如图如图7.26中,中,Q3=Q1Q2,Q4=Q5。所以。所以Q3和和Q4是冗是冗余数据,可以消去。并且由于余数据,可以消去。并且由于Q3消去,产品与材料间消去,产品与材料间m:n的冗余联系也应消去。的冗余联系也应消去。并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。不以冗余信息作为代价。图图7.26 消除冗余消除冗余概念结构设计(续)u用规范化理论来消除冗余确定分确定分E-R图实体之间的数据依赖。图实体之间的数据依赖。l实体之间一对一、一对多、多对多的联系可以用实体码实体

50、之间一对一、一对多、多对多的联系可以用实体码之间的函数依赖来表示。于是有函数依赖集之间的函数依赖来表示。于是有函数依赖集FL。l如图如图7.27中:中: 部门和职工之间一对多的联系可表示为职工号部门和职工之间一对多的联系可表示为职工号部门号部门号 职工和产品之间多对多的联系可表示为职工和产品之间多对多的联系可表示为 (职工号,产品号)(职工号,产品号)工作天数等。工作天数等。概念结构设计(续)图图7.27 劳动人事管理的分劳动人事管理的分E-R图图求求FL的最小覆盖的最小覆盖GL,差集为,差集为 D=FL-GL。l逐一考察逐一考察D中的函数依赖,确定是否是冗余的中的函数依赖,确定是否是冗余的联

51、系,若是,就把它去掉。联系,若是,就把它去掉。概念结构设计(续)n由于规范化理论受到泛关系假设的限制,应注意下面由于规范化理论受到泛关系假设的限制,应注意下面两个问题:两个问题:l冗余的联系一定在冗余的联系一定在D中,而中,而D中的联系不一定是冗余的;中的联系不一定是冗余的;l当实体之间存在多种联系时,要将实体之间的联系在形当实体之间存在多种联系时,要将实体之间的联系在形式上加以区分。式上加以区分。概念结构设计(续)u例7.2 某工厂管理信息系统的视图集成。图图7.11 工厂物资管理工厂物资管理E-R图图概念结构设计(续)u例7.2 某工厂管理信息系统的视图集成。图图7.27 劳动劳动人事管理

52、人事管理的分的分E-R图图图图7.23 销售销售管理管理子系统的子系统的E-R图图概念结构设计(续)u例7.2 某工厂管理信息系统的视图集成。图图7.28 某工厂管理信息系统的基本某工厂管理信息系统的基本E-R图图异名同义,项目和产品含义相同。某个项目实质上是指某个产异名同义,项目和产品含义相同。某个项目实质上是指某个产品的生产。统一用产品作实体名。品的生产。统一用产品作实体名。库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与职工之间的联系之中,所以可以取消。职工之间领导与被领导关系职工之间的联系之中,所以可以取消。职工之间领

53、导与被领导关系可由部门与职工(经理)之间的领导关系、部门与职工之间的从属可由部门与职工(经理)之间的领导关系、部门与职工之间的从属关系两者导出,所以也可以取消。关系两者导出,所以也可以取消。7.4 逻辑结构设计u逻辑结构设计的任务n把概念结构设计阶段设计好的基本把概念结构设计阶段设计好的基本E-R图转换为与选用图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑数据库管理系统产品所支持的数据模型相符合的逻辑结构结构7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式E-R图向关系模型的转换(续)u转换内容nE-R图由实体型、实体的

54、属性和实体型之间的联系三个图由实体型、实体的属性和实体型之间的联系三个要素组成要素组成n关系模型的逻辑结构是一组关系模式的集合关系模型的逻辑结构是一组关系模式的集合n将将E-R图转换为关系模型:将实体型、实体的属性和实图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式体型之间的联系转化为关系模式E-R图向关系模型的转换(续)转换原则 1. 一个实体型转换为一个关系模式。n关系的属性:实体的属性关系的属性:实体的属性n关系的码:实体的码关系的码:实体的码E-R图向关系模型的转换(续)2. 实体型间的联系有以下不同情况(1) 一个一个1:1联系可以转换为一个独立的关系模式,也联

55、系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。可以与任意一端对应的关系模式合并。 转换为一个独立的关系模式转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系关系的属性:与该联系相连的各实体的码以及联系本身的属性本身的属性关系的候选码:每个实体的码均是该关系的候选码关系的候选码:每个实体的码均是该关系的候选码E-R图向关系模型的转换(续)(1)一个)一个1:1联系的转换(续)联系的转换(续)与某一端实体对应的关系模式合并与某一端实体对应的关系模式合并合并后关系的属性:加入对应关系的码和联系本身合并后关系的属性:加入对应关系的码和联系本身的属性的属性合并后关

56、系的码:不变合并后关系的码:不变E-R图向关系模型的转换(续)(2)一个)一个1:n联系可以转换为一个独立的关系模式,也可联系可以转换为一个独立的关系模式,也可以与以与n端对应的关系模式合并。端对应的关系模式合并。转换为一个独立的关系模式转换为一个独立的关系模式关系的属性:与该联系相连的各实体的码以及联系本关系的属性:与该联系相连的各实体的码以及联系本身的属性身的属性关系的码:关系的码:n端实体的码端实体的码E-R图向关系模型的转换(续)(2)一个)一个1:n联系的转换(续)联系的转换(续)与与n端对应的关系模式合并端对应的关系模式合并合并后关系的属性:在合并后关系的属性:在n端关系中加入端关

57、系中加入1端关系的码端关系的码和联系本身的属性和联系本身的属性合并后关系的码:不变合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于可以减少系统中的关系个数,一般情况下更倾向于采用这种方法采用这种方法E-R图向关系模型的转换(续)(3)一个)一个m:n联系转换为一个关系模式联系转换为一个关系模式l关系的属性:与该联系相连的各实体的码以及联系本身关系的属性:与该联系相连的各实体的码以及联系本身的属性的属性l关系的码:各实体码的组合关系的码:各实体码的组合例例“选修选修”联系是一个联系是一个m:n联系,可以将它转换为如下联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码

58、:关系模式,其中学号与课程号为关系的组合码: 选修(学号,课程号,成绩)E-R图向关系模型的转换(续)(4)三个或三个以上实体间的一个多元联系转换为一个)三个或三个以上实体间的一个多元联系转换为一个关系模式。关系模式。l关系的属性:与该多元联系相连的各实体的码以及联系关系的属性:与该多元联系相连的各实体的码以及联系本身的属性本身的属性l关系的码:各实体码的组合关系的码:各实体码的组合E-R图向关系模型的转换(续)(5)具有相同码的关系模式可合并)具有相同码的关系模式可合并l目的:减少系统中的关系个数目的:减少系统中的关系个数l合并方法:合并方法: 将其中一个关系模式的全部属性加入到另一个关将其

59、中一个关系模式的全部属性加入到另一个关系模式中系模式中 然后去掉其中的同义属性(可能同名也可能不同然后去掉其中的同义属性(可能同名也可能不同名)名) 适当调整属性的次序适当调整属性的次序E-R图向关系模型的转换(续)图图7.28中虚线上部的中虚线上部的E-R图转换为关系模型。图转换为关系模型。关系的码用下横线标出。关系的码用下横线标出。E-R图向关系模型的转换(续)n部门(部门号,部门名,经理的职工号,)n职工(职工号、部门号,职工名,职务,)n产品(产品号,产品名,产品组长的职工号,)n供应商(供应商号,姓名,)n零件(零件号,零件名,)n职工工作(职工号,产品号,工作天数,)n供应(产品号

60、,供应商号,零件号,供应量)7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式7.4.2 数据模型的优化u一般的数据模型还需要向特定数据库管理系统规定的模型进行转换。u转换的主要依据是所选用的数据库管理系统的功能及限制。没有通用规则。u对于关系模型来说,这种转换通常都比较简单。数据模型的优化(续)u数据库逻辑设计的结果不是唯一的。u得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。u关系数据模型的优化通常以规范化理论为指导。数据模型的优化(续)优化数据模型的方法:(1)确定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论