《数据库系统概论(第五版)PPT第7章.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论(第五版)PPT第7章.ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、An Introduction to Database System数据库系统概论An Introduction to Database System第七章第七章 数据库设计数据库设计xx大学信息学院大学信息学院An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 物理结构设计物理结构设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结An Introduction to Database System7
2、.1 数据库设计概述数据库设计概述v 数据库设计数据库设计n数据库设计是指对于一个给定的应用环境,构造(设数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库计)优化的数据库逻辑模式逻辑模式和和物理结构物理结构,并据此建立并据此建立数据库及其应用系统数据库及其应用系统,使之能够有效地存储和管理数,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。数据操作要求。n信息管理要求:在数据库中应该存储和管理哪些数据信息管理要求:在数据库中应该存储和管理哪些数据对象对象。n数据操作要求:对数据对象需要进行哪些操作
3、,如查数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。询、增、删、改、统计等操作。An Introduction to Database System数据库设计概述(续)数据库设计概述(续)v 数据库设计数据库设计n数据库设计的目标是为用户和各种应用系统提供一个数据库设计的目标是为用户和各种应用系统提供一个信息基础设施信息基础设施和高效率的和高效率的运行环境运行环境。n高效率的运行环境高效率的运行环境l数据库数据的存取效率高数据库数据的存取效率高l数据库存储空间的利用率高数据库存储空间的利用率高l数据库系统运行管理的效率高数据库系统运行管理的效率高An Introdu
4、ction to Database System7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式An Introduction to Database System7.1.1 数据库设计的特点数据库设计的特点1.数据库建设的基本规律数据库建设的基本规律n三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据 n管理管理 l数据库建设项目管理数据库建设项目管理 l企业(即应用部门)的业务管理企业(
5、即应用部门)的业务管理 n基础数据基础数据 l数据的收集、整理、组织和不断更新数据的收集、整理、组织和不断更新An Introduction to Database System数据库设计的特点(续)数据库设计的特点(续)2.结构(数据)设计和行为(处理)设计相结合结构(数据)设计和行为(处理)设计相结合 n将数据库结构设计和数据处理设计密切结合将数据库结构设计和数据处理设计密切结合v结构和行为分离的设计结构和行为分离的设计n传统的软件工程:重传统的软件工程:重 行为设计行为设计l忽视对应用中数据语义的分析和抽象,只要有可能就尽忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计
6、的决策量推迟数据结构设计的决策n早期的数据库设计:重早期的数据库设计:重 结构设计结构设计l致力于数据模型和数据库建模方法研究,忽视了行为设致力于数据模型和数据库建模方法研究,忽视了行为设计对结构设计的影响计对结构设计的影响An Introduction to Database System数据库设计的特点(续)数据库设计的特点(续)结构和行为分离的设计结构和行为分离的设计 现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计应用设
7、计应用设计应用开发应用开发系统调试系统调试数据库设计数据库设计应用系统设计应用系统设计An Introduction to Database System7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式An Introduction to Database System7.1.2 数据库设计方法数据库设计方法v大型数据库设计是涉及多学科的综合性技术,又大型数据库设计是涉及多学科的综合性技术,又是一项庞大的工程
8、项目。是一项庞大的工程项目。v它要求多方面的知识和技术。主要包括:它要求多方面的知识和技术。主要包括:n计算机的基础知识计算机的基础知识n软件工程的原理和方法软件工程的原理和方法n程序设计的方法和技巧程序设计的方法和技巧n数据库的基本知识数据库的基本知识n数据库设计技术数据库设计技术n应用领域的知识应用领域的知识An Introduction to Database System数据库设计方法(续)数据库设计方法(续)v手工试凑法手工试凑法n设计质量与设计人员的经验和水平有直接关系设计质量与设计人员的经验和水平有直接关系n缺乏科学理论和工程方法的支持,工程的质量难以保缺乏科学理论和工程方法的支
9、持,工程的质量难以保证证n数据库运行一段时间后常常又不同程度地发现各种问数据库运行一段时间后常常又不同程度地发现各种问题,增加了维护代价题,增加了维护代价An Introduction to Database System数据库设计方法(续)数据库设计方法(续)v规范设计法规范设计法n手工设计方法手工设计方法n基本思想基本思想l过程迭代和逐步求精过程迭代和逐步求精n典型方法典型方法l新奥尔良(新奥尔良(New Orleans)方法)方法l基于基于E-R模型的数据库设计方法模型的数据库设计方法l3NF(第三范式)的设计方法(第三范式)的设计方法l面向对象的数据库设计方法面向对象的数据库设计方法l
10、统一建模语言(统一建模语言(UML)方法)方法An Introduction to Database System7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式An Introduction to Database System7.1.3 数据库设计的基本步骤数据库设计的基本步骤v数据库设计分数据库设计分6个阶段个阶段n需求分析需求分析n概念结构设计概念结构设计n逻辑结构设计逻辑结构设计n物理结构设计物理结
11、构设计n数据库实施数据库实施n数据库运行和维护数据库运行和维护 v需求分析和概念设计独立于任何数据库管理系统需求分析和概念设计独立于任何数据库管理系统 v逻辑设计和物理设计与选用的数据库管理系统密逻辑设计和物理设计与选用的数据库管理系统密切相关切相关An Introduction to Database SystemAn Introduction to Database System数据库设计的基本步骤(续)数据库设计的基本步骤(续)v参加参加数据库数据库设计的人员设计的人员n系统分析人员系统分析人员和和数据库设计人员数据库设计人员l自始至终参与数据库设计,其水平决定了数据库系统的自始至终参与
12、数据库设计,其水平决定了数据库系统的质量质量n数据库管理员和用户代表数据库管理员和用户代表l主要参加需求分析与数据库的运行和维护主要参加需求分析与数据库的运行和维护n应用开发人员应用开发人员l包括程序员和操作员包括程序员和操作员l在实施阶段参与进来,分别负责编制程序和准备软硬件在实施阶段参与进来,分别负责编制程序和准备软硬件环境环境An Introduction to Database System数据库设计的基本步骤(续)数据库设计的基本步骤(续)1.需求分析阶段需求分析阶段n是否做得充分与准确,决定了构建数据库的速度和质是否做得充分与准确,决定了构建数据库的速度和质量量2.概念结构设计阶段
13、概念结构设计阶段n通过对用户需求进行综合、归纳与抽象,形成一个独通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型立于具体数据库管理系统的概念模型3.逻辑结构设计阶段逻辑结构设计阶段n将概念结构转换为某个数据库管理系统所支持的数据将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化模型,并对其进行优化An Introduction to Database System数据库设计的基本步骤(续)数据库设计的基本步骤(续)4.物理结构设计阶段物理结构设计阶段n为逻辑数据结构选取一个最适合应用环境的物理结构为逻辑数据结构选取一个最适合应用环境的物理结构n包括
14、存储结构和存取方法包括存储结构和存取方法5.数据库实施阶段数据库实施阶段n根据逻辑设计和物理设计的结果构建数据库根据逻辑设计和物理设计的结果构建数据库n编写与调试应用程序编写与调试应用程序n组织数据入库并进行试运行组织数据入库并进行试运行6.数据库运行和维护阶段数据库运行和维护阶段n经过试运行后即可投入正式运行经过试运行后即可投入正式运行n在运行过程中必须不断对其进行评估、调整与修改在运行过程中必须不断对其进行评估、调整与修改An Introduction to Database System数据库设计的基本步骤(续)数据库设计的基本步骤(续)v设计设计一个完善的数据库应用系统一个完善的数据库
15、应用系统 往往是上述往往是上述6个个阶段的不断反复阶段的不断反复v这个设计步骤既是数据库设计的过程,也包括了这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程数据库应用系统的设计过程v把数据库的设计和对数据库中数据处理的设计紧把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计互补充,以完善两方面的设计An Introduction to Database System数据库设计的基本步骤(续)数
16、据库设计的基本步骤(续)图图7.3 数据库设计各个阶段的数据设计描述数据库设计各个阶段的数据设计描述An Introduction to Database System7.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式An Introduction to Database System7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式v数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的
17、数据库各级模式数据库的各级模式数据库的各级模式 An Introduction to Database System数据库设计过程中的各级模式(续)数据库设计过程中的各级模式(续)v数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式需求分析阶段:需求分析阶段:综合各个用户的应用需求综合各个用户的应用需求数据库的各级模式数据库的各级模式 An Introduction to Database System数据库设计过程中的各级模式(续)数据库设计过程中的各级模式(续)v数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式概念设计阶段:概念设计阶段
18、:形成独立于机器特点,独形成独立于机器特点,独立于各个数据库管理系统产立于各个数据库管理系统产品的品的概念模式概念模式(E-R图)图)数据库的各级模式数据库的各级模式 An Introduction to Database System数据库设计过程中的各级模式(续)数据库设计过程中的各级模式(续)v数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式逻辑设计阶段:逻辑设计阶段:1.首先将首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库形成数据库逻辑模式逻辑模式2.然后根据用户处理的要求、安全
19、性的考虑,在基本表的基础上再建立然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(必要的视图(View),形成数据的),形成数据的外模式外模式An Introduction to Database System数据库设计过程中的各级模式(续)数据库设计过程中的各级模式(续)v数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式物理设计阶段:物理设计阶段:根据数据库管理系统特点和处理的需要,根据数据库管理系统特点和处理的需要,进行物理存储安排,建立索引,形成数进行物理存储安排,建立索引,形成数据库据库内模式内模式数据库的各级模式数据库的各级模式 An
20、 Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 物理结构设计物理结构设计7.6 数据库的实施和维护数据库的实施和维护7.7 小结小结An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典An Introduction to Database System需求分析需求分析(
21、续)(续)v需求分析就是分析用户的要求需求分析就是分析用户的要求n是设计数据库的起点是设计数据库的起点n结果是否准确地反映了用户的实际要求,将直接影响结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理到后面各个阶段的设计,并影响到设计结果是否合理和实用和实用An Introduction to Database System7.2.1 需求分析的任务需求分析的任务v详细调查现实世界要处理的对象(组织、部门、详细调查现实世界要处理的对象(组织、部门、企业等)企业等)v充分了解原系统(手工系统或计算机系统)工作充分了解原系统(手工系统或计算机系统)工作概况
22、概况v明确用户的各种需求明确用户的各种需求v在此基础上确定新系统的功能在此基础上确定新系统的功能v新系统必须充分考虑今后可能的扩充和改变新系统必须充分考虑今后可能的扩充和改变An Introduction to Database System需求分析的任务需求分析的任务(续)(续)v调查的重点是调查的重点是“数据数据”和和“处理处理”,获得用户对,获得用户对数据库的要求数据库的要求(1)信息要求)信息要求l用户需要从数据库中获得信息的内容与性质用户需要从数据库中获得信息的内容与性质l由信息要求可以导出数据要求,即在数据库中需要存储由信息要求可以导出数据要求,即在数据库中需要存储哪些数据哪些数据
23、(2)处理要求)处理要求l用户要完成的处理功能用户要完成的处理功能l对处理性能的要求对处理性能的要求(3)安全性与完整性要求)安全性与完整性要求An Introduction to Database System需求分析的任务需求分析的任务(续)(续)v确定用户最终需求的难点确定用户最终需求的难点n用户缺少计算机知识,不能准确地表达自己的需求,用户缺少计算机知识,不能准确地表达自己的需求,他们所提出的需求往往不断地变化。他们所提出的需求往往不断地变化。n设计人员缺少用户的专业知识,不易理解用户的真正设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求需求,甚至误解用户的需求v
24、解决方法解决方法n设计人员必须不断深入地与用户进行交流,才能逐步设计人员必须不断深入地与用户进行交流,才能逐步确定用户的实际需求确定用户的实际需求An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2.3 数据字典数据字典An Introduction to Database System7.2.2 需求分析的方法需求分析的方法v调查清楚用户的实际需求并进行初步分析调查清楚用户的实际需求并进行初步分析v与用户达成共识与用户达成共识v分析与表达这些需求分析与表达这些需求An
25、 Introduction to Database System调查用户需求的步骤调查用户需求的步骤(1)调查组织机构情况)调查组织机构情况(2)调查各部门的业务活动情况)调查各部门的业务活动情况(3)协助用户明确对新系统的各种要求,包括信)协助用户明确对新系统的各种要求,包括信 息要求、处理要求、完全性与完整性要求息要求、处理要求、完全性与完整性要求(4)确定新系统的边界)确定新系统的边界An Introduction to Database System常用调查方法常用调查方法(1)跟班作业)跟班作业n通过亲身参加业务工作了解业务活动的情况通过亲身参加业务工作了解业务活动的情况(2)开调查
26、会)开调查会n通过与用户座谈来了解业务活动情况及用户需求通过与用户座谈来了解业务活动情况及用户需求(3)请专人介绍)请专人介绍(4)询问)询问n对某些调查中的问题,可以找专人询问对某些调查中的问题,可以找专人询问(5)设计调查表请用户填写)设计调查表请用户填写n调查表设计合理,则很有效调查表设计合理,则很有效(6)查阅记录)查阅记录n查阅与原系统有关的数据记录查阅与原系统有关的数据记录An Introduction to Database System进一步分析和表达用户需求进一步分析和表达用户需求v分析方法分析方法n结构化分析方法(结构化分析方法(Structured Analysis,简称
27、,简称SA方法)方法)lSA方法从最上层的系统组织机构入手方法从最上层的系统组织机构入手l采用自顶向下、逐层分解的方式分析系统采用自顶向下、逐层分解的方式分析系统v对用户需求进行分析与表达后,需求分析报告必须提对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户的认可交给用户,征得用户的认可An Introduction to Database System需求分析过程需求分析过程需求分析过程需求分析过程 An Introduction to Database System7.2 需求分析需求分析7.2.1 需求分析的任务需求分析的任务7.2.2 需求分析的方法需求分析的方法7.2
28、.3 数据字典数据字典An Introduction to Database System7.2.3 数据字典数据字典v数据字典是关于数据库中数据的描述,即元数据,数据字典是关于数据库中数据的描述,即元数据,不是数据本身不是数据本身v数据字典在需求分析阶段建立,在数据库设计过程数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善中不断修改、充实、完善v数据字典是进行详细的数据收集和数据分析所获得数据字典是进行详细的数据收集和数据分析所获得的主要结果的主要结果注意:注意:和关系数据库管理系统中数据字典的区别和联系和关系数据库管理系统中数据字典的区别和联系An Introductio
29、n to Database System数据字典数据字典(续)(续)v数据字典的内容数据字典的内容n数据项数据项n数据结构数据结构n数据流数据流n数据存储数据存储n处理过程处理过程v 数据项是数据的最小组成单位数据项是数据的最小组成单位v 若干个数据项可以组成一个数据结构若干个数据项可以组成一个数据结构v 数据字典通过对数据项和数据结构的定义来描述数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容数据流、数据存储的逻辑内容An Introduction to Database System1.数据项数据项v 数据项是不可再分的数据单位数据项是不可再分的数据单位v 对数据项的描
30、述对数据项的描述数据项描述数据项描述=数据项名数据项名,数据项含义说明数据项含义说明,别名别名,数据类型数据类型,长度长度,取值范围取值范围,取值含义取值含义,与其他数据项的逻辑关系与其他数据项的逻辑关系,数据项之间的联系数据项之间的联系n“取值范围取值范围”、“与其他数据项的逻辑关系与其他数据项的逻辑关系”定义了数定义了数据的完整性约束条件,是设计据的完整性约束条件,是设计 数据检验功能的依据数据检验功能的依据n可以用关系规范化理论为指导,用数据依赖的概念分析可以用关系规范化理论为指导,用数据依赖的概念分析和表示数据项之间的联系和表示数据项之间的联系 An Introduction to D
31、atabase System2.数据结构数据结构v数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。v 一个数据结构可以由若干个数据项组成,也可以由一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结若干个数据结构组成,或由若干个数据项和数据结构混合组成。构混合组成。v 对数据结构的描述对数据结构的描述数据结构描述数据结构描述=数据结构名,含义说明,组成数据结构名,含义说明,组成:数据项或数据结构数据项或数据结构An Introduction to Database System3.数据流数据流v 数据流是数据结构在系统内传输的路径。数据流
32、是数据结构在系统内传输的路径。v 对数据流的描述对数据流的描述 数据流描述数据流描述=数据流名数据流名,说明说明,数据流来源数据流来源,数据流去向数据流去向,组成组成:数据结构数据结构,平均流量平均流量,高峰期流量高峰期流量n数据流来源:说明该数据流来自哪个过程数据流来源:说明该数据流来自哪个过程n数据流去向:说明该数据流将到哪个过程去数据流去向:说明该数据流将到哪个过程去n平均流量:在单位时间(每天、每周、每月等)里的传平均流量:在单位时间(每天、每周、每月等)里的传输次数输次数n高峰期流量:在高峰时期的数据流量高峰期流量:在高峰时期的数据流量An Introduction to Datab
33、ase System4.数据存储数据存储v数据存储是数据结构停留或保存的地方,也是数据数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。流的来源和去向之一。v对数据存储的描述对数据存储的描述数据存储描述数据存储描述=数据存储名数据存储名,说明说明,编号编号,输输 入的数据流入的数据流,输出的数据流输出的数据流,组成组成:数据结构数据结构,数据量数据量,存取频度存取频度,存取方式存取方式n存取频度:每小时、每天或每周存取次数,每次存取的存取频度:每小时、每天或每周存取次数,每次存取的数据量等信息数据量等信息 n存取方法:批处理存取方法:批处理/联机处理;检索联机处理;检索/更新;顺
34、序检索更新;顺序检索/随机检索随机检索n输入的数据流:数据来源输入的数据流:数据来源n输出的数据流:数据去向输出的数据流:数据去向An Introduction to Database System5.处理过程处理过程v处理过程的具体处理逻辑一般用判定表或判定树来描处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息述。数据字典中只需要描述处理过程的说明性信息v处理过程说明性信息的描述处理过程说明性信息的描述 处理过程描述处理过程描述=处理过程名处理过程名,说明说明,输入输入:数据流数据流,输出输出:数据流数据流,处理处理:简要说明简要说明n简要说明:说明
35、该处理过程的功能及处理要求简要说明:说明该处理过程的功能及处理要求l功能:该处理过程用来做什么功能:该处理过程用来做什么l处理要求:处理频度要求,如单位时间里处理多少事务,多处理要求:处理频度要求,如单位时间里处理多少事务,多少数据量、响应时间要求等少数据量、响应时间要求等l处理要求是后面物理设计的输入及性能评价的标准处理要求是后面物理设计的输入及性能评价的标准An Introduction to Database System需求分析小结需求分析小结v把需求收集和分析作为数据库设计的第一阶段是十把需求收集和分析作为数据库设计的第一阶段是十分重要的。分重要的。v第一阶段收集的基础数据(用数据字
36、典来表达)是第一阶段收集的基础数据(用数据字典来表达)是下一步进行概念设计的基础。下一步进行概念设计的基础。v强调两点强调两点(1)设计人员应充分考虑到可能的扩充和改变,使设计)设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充易于更改,系统易于扩充(2)必须强调用户的参与)必须强调用户的参与An Introduction to Database System第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 物理结构设计物理结构设计7.6 数据库的实施和维护数据库
37、的实施和维护7.7 小结小结An Introduction to Database System7.3 概念结构设计概念结构设计7.3.1 概念模型概念模型7.3.2 E-R模型模型*7.3.3 扩展的扩展的E-R模型模型*7.3.4 UML7.3.5 概念结构设计概念结构设计An Introduction to Database System7.3.1 概念模型概念模型v将需求分析得到的用户需求抽象为信息结构(即概将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计念模型)的过程就是概念结构设计v概念模型的特点概念模型的特点(1)能真实、充分地反映现实世界,是现实世界的
38、一个真)能真实、充分地反映现实世界,是现实世界的一个真 实模型。实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换)易于理解,从而可以用它和不熟悉计算机的用户交换 意见。意见。(3)易于更改,当应用环境和应用要求改变时,容易对概)易于更改,当应用环境和应用要求改变时,容易对概 念模型修改和扩充。念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换)易于向关系、网状、层次等各种数据模型转换v描述概念模型的工具描述概念模型的工具nE-R模型模型An Introduction to Database System7.3 概念结构设计概念结构设计7.3.1 概念结构概念结构7.3
39、.2 E-R模型模型*7.3.3 扩展的扩展的E-R模型模型*7.3.4 UML7.3.5 概念结构设计概念结构设计An Introduction to Database System7.3.2 E-R模型模型1.实体之间的联系实体之间的联系(1)两个实体型之间的联系:)两个实体型之间的联系:一对一联系(一对一联系(1 1)一对多联系(一对多联系(1 n)多对多联系(多对多联系(m n)An Introduction to Database SystemE-R模型(续)模型(续)一对一联系(一对一联系(1 1)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中至多有
40、中至多有一个(也可以没有)实体与之联系,反之亦然,则称一个(也可以没有)实体与之联系,反之亦然,则称实体集实体集A与实体集与实体集B具有一对一联系,记为具有一对一联系,记为1 1。例如,学校里一个班级只有一个正班长,而一个班长例如,学校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联只在一个班中任职,则班级与班长之间具有一对一联系。系。An Introduction to Database SystemE-R模型(续)模型(续)一对多联系(一对多联系(1 n)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实个实体(体(
41、n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的每一个中的每一个实体,实体集实体,实体集A中至多只有一个实体与之联系,则称实中至多只有一个实体与之联系,则称实体集体集A与实体集与实体集B有一对多联系,记为有一对多联系,记为1 n。例如,一个班级中有若干名学生,而每个学生只在一个例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。班级中学习,则班级与学生之间具有一对多联系。An Introduction to Database System多对多联系(多对多联系(m n)如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,
42、实体集B中有中有n个实体(个实体(n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的中的每一个实体,实体集每一个实体,实体集A中也有中也有m个实体(个实体(m0)与之)与之联系,则称实体集联系,则称实体集A与实体集与实体集B具有多对多联系,记具有多对多联系,记为为m n。例如,一门课程同时有若干个学生选修,而一个学生例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对可以同时选修多门课程,则课程与学生之间具有多对多联系。多联系。E-R模型(续)模型(续)An Introduction to Database SystemE-R模型(续)模
43、型(续)图图7.6 两个实体型之间的三类联系两个实体型之间的三类联系An Introduction to Database SystemE-R模型(续)模型(续)(2)两个以上的实体型之间的联系)两个以上的实体型之间的联系l一般地,两个以上的实体型之间也存在着一对一、一对一般地,两个以上的实体型之间也存在着一对一、一对多、多对多联系。多、多对多联系。l对于课程、教师与参考书对于课程、教师与参考书3个实体型,如果一门课程可以个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则只讲
44、授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的,如图课程与教师、参考书之间的联系是一对多的,如图7.7(a)所示。所示。An Introduction to Database SystemE-R模型(续)模型(续)图图7.7 三个实体型之间的联系示例三个实体型之间的联系示例An Introduction to Database SystemE-R模型(续)模型(续)(3)单个实体型内的联系)单个实体型内的联系l同一个实体集内的各实体之间也可以存在一对一、一对同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。多、多对多的联系。l例如,职工实体型
45、内部具有领导与被领导的联系,即某例如,职工实体型内部具有领导与被领导的联系,即某一职工(干部)一职工(干部)“领导领导”若干名职工,而一个职工仅被若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系,如图另外一个职工直接领导,因此这是一对多的联系,如图7.8所示。所示。An Introduction to Database SystemE-R模型(续)模型(续)图图7.8 单个实体型内的一对多联系示例单个实体型内的一对多联系示例n联系的度:联系的度:参与联系的实体型的数目参与联系的实体型的数目l2个实体型之间的联系度为个实体型之间的联系度为2,也称为二元联系;,也称为二元联系;
46、l3个实体型之间的联系度为个实体型之间的联系度为3,称为,称为三三元联系;元联系;lN个实体型之间的联系度为个实体型之间的联系度为N,也称为,也称为N元联系元联系An Introduction to Database SystemE-R模型(续)模型(续)2.E-R图图nE-R图提供了表示实体型、属性和联系的方法:图提供了表示实体型、属性和联系的方法:l实体型:用矩形表示,矩形框内写明实体名。实体型:用矩形表示,矩形框内写明实体名。l属性:用椭圆形表示,并用无向边将其与相应的实体型连属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。接起来。例如,学生实体具有学号、姓名、性别、出生年份、
47、系、例如,学生实体具有学号、姓名、性别、出生年份、系、入学时间等属性,用入学时间等属性,用E-R图表示如图图表示如图7.9所示所示图图7.9 学生实体及属性学生实体及属性An Introduction to Database SystemE-R模型(续)模型(续)l联系:用菱形表示,菱形框内写明联系名,并用无向边联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系分别与有关实体型连接起来,同时在无向边旁标上联系的类型(的类型(1 1,1 n或或m n)。)。l联系可以具有属性联系可以具有属性图图7.10 联系的属性联系的属性An Introducti
48、on to Database SystemE-R模型(续)模型(续)v3.一个实例一个实例n某个工厂物资管理的概念模型。物资管理涉及的实体有:某个工厂物资管理的概念模型。物资管理涉及的实体有:l仓库:属性有仓库号、面积、电话号码仓库:属性有仓库号、面积、电话号码l零件:属性有零件号、名称、规格、单价、描述零件:属性有零件号、名称、规格、单价、描述l供应商:属性有供应商号、姓名、地址、电话号码、账号供应商:属性有供应商号、姓名、地址、电话号码、账号l项目:属性有项目号、预算、开工日期项目:属性有项目号、预算、开工日期l职工:属性有职工号、姓名、年龄、职称职工:属性有职工号、姓名、年龄、职称An
49、Introduction to Database SystemE-R模型(续)模型(续)n这些实体之间的联系如下:这些实体之间的联系如下:(1)一个仓库可以存放多种零件,一种零件可以存放在多个一个仓库可以存放多种零件,一种零件可以存放在多个 仓库中,因此仓库和零件具有多对多的联系。用仓库中,因此仓库和零件具有多对多的联系。用库存量库存量 来表示某种零件在某个仓库中的数量。来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一一个仓库有多个职工当仓库保管员,一个职工只能在一 个仓库工作,因此仓库和职工之间是一对多的联系。个仓库工作,因此仓库和职工之间是一对多的联
50、系。An Introduction to Database SystemE-R模型(续)模型(续)n这些实体之间的联系如下(续):这些实体之间的联系如下(续):(3)职工之间具有领导与被领导关系。即仓库主任领导若职工之间具有领导与被领导关系。即仓库主任领导若 干保管员,因此职工实体型中具有一对多的联系。干保管员,因此职工实体型中具有一对多的联系。(4)供应商、项目和零件三者之间具有多对多的联系。即一供应商、项目和零件三者之间具有多对多的联系。即一 个供应商可以供给若干项目多种零件,每个项目可以使个供应商可以供给若干项目多种零件,每个项目可以使 用不同供应商供应的零件,每种零件可由不同供应商供用