第5章 数据库设计ppt课件.pptx

上传人:春哥&#****71; 文档编号:17070029 上传时间:2022-05-21 格式:PPTX 页数:162 大小:2.32MB
返回 下载 相关 举报
第5章 数据库设计ppt课件.pptx_第1页
第1页 / 共162页
第5章 数据库设计ppt课件.pptx_第2页
第2页 / 共162页
点击查看更多>>
资源描述

《第5章 数据库设计ppt课件.pptx》由会员分享,可在线阅读,更多相关《第5章 数据库设计ppt课件.pptx(162页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、An Introduction to Database System 数据库原理及应用数据库原理及应用第第5 5章章 数据库设计数据库设计学习目标学习目标v本章主要讨论基于关系数据库管理系统的关系数据库设计问题。要求深入理解E-R 模型的基本概念和约束;熟练掌握运用 E-R 模型进行数据库概念模型设计的方法和原则;能在独立分析现实世界应用需求的基础上设计出正确的 E-R 图,并能熟练运用 E-R 模型转换规则,将设计出的 E-R 图转化为关系模型。学习方法学习方法vE-R 模型是一种语义模型,是现实世界到信息世界的事物及事物之间关系的抽象表示。因此,在学习过程中,能根据具体的应用需求,反复运用

2、抽象的方法进行 E-R模型设计。本章导读本章导读v数据库设计的任务是分析数据库中必须存储哪些信息以及这些信息之间的关系,并通过一种高级数据模型来表示,使其描述的数据及处理符合用户与开发者的意图。vE-R 模型是一种使用非常广泛的数据建模工具,它是通过将现实世界中的事物及其关系建模为实体、实体的属性和实体之间的联系,并通过 E-R 图进行描述,具有很强的表达能力。An Introduction to Database System第第5章章 数据库设计数据库设计5.1 数据库设计概述数据库设计概述5.2 需求分析需求分析5.3 概念结构设计概念结构设计5.4 逻辑结构设计逻辑结构设计5.5 数据

3、库的物理设计数据库的物理设计5.6 数据库实施和维护数据库实施和维护5.7 小结小结An Introduction to Database System数据库设计概述数据库设计概述v 数据库设计数据库设计 数据库设计是指对于一个给定的应用环境,设数据库设计是指对于一个给定的应用环境,设计优化的数据库计优化的数据库逻辑模式和物理结构逻辑模式和物理结构,并据此,并据此建立数据库及其应用系统,使之能够有效地存建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。括信息管理要求和数据操作要求。 目标:目标:

4、为用户和各种应用系统提供一个信息基为用户和各种应用系统提供一个信息基础设施和高效率的运行环境础设施和高效率的运行环境An Introduction to Database System5.1 数据库设计概述数据库设计概述5.1.1 数据库设计的特点数据库设计的特点5.1.2 数据库设计方法数据库设计方法5.1.3 数据库设计的基本步骤数据库设计的基本步骤5.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式An Introduction to Database System5.1.1 数据库设计的特点数据库设计的特点v数据库建设的基本规律数据库建设的基本规律 三分技术,七分管理,十二

5、分基础数据三分技术,七分管理,十二分基础数据 管理管理 数据库建设项目管理数据库建设项目管理 企业(即应用部门)的业务管理企业(即应用部门)的业务管理 基础数据基础数据 收集、入库收集、入库 更新新的数据更新新的数据v结构(数据)设计和行为(处理)设计相结合结构(数据)设计和行为(处理)设计相结合 将数据库结构设计和数据处理设计密切结合将数据库结构设计和数据处理设计密切结合An Introduction to Database System数据库设计的特点(续)数据库设计的特点(续)现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库

6、设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试结构和行为分离的设计结构和行为分离的设计 新奥尔良方法的数据库设计步骤新奥尔良方法的数据库设计步骤v数据库设计的主要内容包括:需求分析、概念模型设计、逻辑模型设计、物理模型设计、数据库的实施和数据库的运行和维护(见图 5-1)。v在进行数据库设计时,应遵循以下数据库设计的原则:(1)数据库设计起码要占用整个项目开发的 40%以上的时间。(2)数据库设计不仅仅停留于页面 demo 的表面。(3)数据库设计完成后,项目 80%的设计

7、开发已经在脑海中完成。(4)数据库设计时就要考虑到效率和优化问题。(5)添加必要的(冗余)字段。(6)设计合理的表关联。v(7)设计表时不加主外键等约束性关联,便于团队并行开发,减少编码时所遇到问题v(8)选择合适的主键生成策略。5.2 需需 求求 分分 析析v1数据流图vDFD 一般有 4 种符号,即外部实体、数据流、加工和存储。v2数据字典v 数据字典(Data Dictionary,DD)是对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流图中的各个元素做出详细的说明。5.3 概念模型设计概念模型设计v1数据抽象与局部 E-R 图设计v1)数

8、据抽象v数据抽象技术有两种:分类和聚集。(1)分类(Classification)(2)聚集()聚集(Aggregation)v2)局部 E-R 图设计全局全局 E-R 图设计图设计v各局部 E-R 图之间的冲突主要有 3 类:v属性冲突v命名冲突v结构冲突3优化全局优化全局 E-R 图图v一个好的全局 E-R 图除了能反映用户功能需求外,还应满足如下条件:(1)实体个数尽可能少。(2)实体所包含的属性尽可能少。(3)实体间联系无冗余。数据库设计各个阶段的设计描述数据库设计各个阶段的设计描述An Introduction to Database System数据抽象(续)数据抽象(续)v三种常

9、用抽象三种常用抽象1. 分类(分类(Classification) 定义某一类概念作为现实世界中一组对象的类型定义某一类概念作为现实世界中一组对象的类型 抽象了对象抽象了对象值和型值和型之间的之间的“is member of”的语义的语义An Introduction to Database System数据抽象(续)数据抽象(续)An Introduction to Database System数据抽象(续)数据抽象(续)2. 聚集(聚集(Aggregation) 定义某一类型的组成成分定义某一类型的组成成分 抽象了对象内部类型和成分之间抽象了对象内部类型和成分之间“is part of”

10、的语义的语义An Introduction to Database System数据抽象(续)数据抽象(续) 聚集聚集 An Introduction to Database System数据抽象(续)数据抽象(续) 复杂的聚集,某一类型的成分仍是一个复杂的聚集,某一类型的成分仍是一个聚集聚集 更复杂的聚集更复杂的聚集 An Introduction to Database System数据抽象(续)数据抽象(续)3. 概括(概括(Generalization) 定义类型之间的一种子集联系定义类型之间的一种子集联系 抽象了类型之间的抽象了类型之间的“is subset of”的语的语义义 继承

11、性继承性 An Introduction to Database System数据抽象(续)数据抽象(续)概括概括 An Introduction to Database System局部视图设计局部视图设计设计分设计分E-R图的步骤图的步骤:选择局部应用选择局部应用逐一设计分逐一设计分E-R图图An Introduction to Database System 选择局部应用选择局部应用v在多层的数据流图中选择一个适当层次的在多层的数据流图中选择一个适当层次的数据流图,作为设计分数据流图,作为设计分E-R图的出发点图的出发点 v通常以通常以中层数据流图中层数据流图作为设计分作为设计分E-R图

12、的依据图的依据An Introduction to Database System选择局部应用(续)选择局部应用(续)设计分设计分E-R图的出发点图的出发点 An Introduction to Database System 逐一设计分逐一设计分E-R图图v任务任务 将各局部应用涉及的数据分别从数据字典中抽取将各局部应用涉及的数据分别从数据字典中抽取出来出来 参照数据流图,标定各局部应用中的实体、实体参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码的属性、标识实体的码v确定实体之间的联系及其类型(确定实体之间的联系及其类型(1:1,1:n,m:n)An Introduction

13、 to Database System逐一设计分逐一设计分E-R图(续)图(续)v两条准则:两条准则:(1)属性不能再具有需要描述的性质。即属性必须是)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成不可分的数据项,不能再由另一些属性组成(2)属性不能与其他实体具有联系。联系只发生在实)属性不能与其他实体具有联系。联系只发生在实体之间体之间An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)职称作为一个实体职称作为一个实体An Introduction to Database System逐一设计分逐一设

14、计分E-R图(续)图(续)病房作为一个实体病房作为一个实体An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)仓库作为一个实体仓库作为一个实体An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)实例实例销售管理子系统分销售管理子系统分E-R图的设计图的设计v销售管理子系统的主要功能:销售管理子系统的主要功能:n处理顾客和销售员送来的订单处理顾客和销售员送来的订单n工厂是根据订货安排生产的工厂是根据订货安排生产的n交出货物同时开出发票交出货物同时开出发票n收到顾客付款后,根据发票存

15、根和信贷情况进收到顾客付款后,根据发票存根和信贷情况进行应收款处理行应收款处理An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)v 下图是第一层数据流图,虚线部分划出了系统边界下图是第一层数据流图,虚线部分划出了系统边界 图图7.18 销售管理子系统第一层数据流图销售管理子系统第一层数据流图 An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)v 上图中把系统功能又分为上图中把系统功能又分为4个子系统,下面四个图是第二层数据流图个子系统,下面四个图是第二层数据流图 图图7.19

16、 接收订单接收订单 An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)图图7.20 处理订单处理订单 An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)图图7.21 开发票开发票 An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)图图7.22 支付过账支付过账 An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)分分E-R图的框架图的框架 An Introdu

17、ction to Database System逐一设计分逐一设计分E-R图(续)图(续)v 参照第二层数据流图和数据字典,遵循两个准则,进行如参照第二层数据流图和数据字典,遵循两个准则,进行如下调整:下调整:(1) 订单与订单细节是订单与订单细节是1 n的联系的联系(2) 原订单和产品的联系实际上是订单细节和产品的联系。原订单和产品的联系实际上是订单细节和产品的联系。(3) 图图7.21中中“发票主清单发票主清单”是一个数据存储,不必作为实体是一个数据存储,不必作为实体加入分加入分E-R图图(4) 工厂对大宗订货给予优惠。故增加一个工厂对大宗订货给予优惠。故增加一个“折扣规则折扣规则”实体实

18、体An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)v得到分得到分E-R图如下图所示图如下图所示 销售管理子系统的分销售管理子系统的分E-R图图 An Introduction to Database System逐一设计分逐一设计分E-R图(续)图(续)对每个实体定义的属性如下:对每个实体定义的属性如下: 顾客:顾客:顾客号顾客号,顾客名,地址,电话,信贷状况,账,顾客名,地址,电话,信贷状况,账目余额目余额 订单:订单:订单号订单号,顾客号顾客号,订货项数,订货日期,交货,订货项数,订货日期,交货日期,工种号,生产地点日期,工种号

19、,生产地点 订单细节:订单细节:订单号,细则号订单号,细则号,零件号零件号,订货,订货量量,金额,金额 应收账款:应收账款:顾客号,订单号顾客号,订单号,发票号发票号,应收金额,支,应收金额,支付日期,支付金额,当前余额,货款限额付日期,支付金额,当前余额,货款限额 产品描述:产品描述:产品号产品号,产品名,单价,重量,产品名,单价,重量 折扣规则:折扣规则:产品号,订货量产品号,订货量,折扣,折扣An Introduction to Database System 视图的集成视图的集成v各个局部视图即分各个局部视图即分E-R图建立好后,还需要图建立好后,还需要对它们进行合并,集成为一个整体的

20、数据对它们进行合并,集成为一个整体的数据概念结构即总概念结构即总E-R图。图。An Introduction to Database System视图集成的两种方式视图集成的两种方式v 多个分多个分E-R图一次集成图一次集成 一次集成多个分一次集成多个分E-R图图通常用于局部视图比较简单时通常用于局部视图比较简单时An Introduction to Database System视图的集成(续)视图的集成(续)v逐步集成逐步集成用累加的方式一次集成两个分用累加的方式一次集成两个分E-R图图 An Introduction to Database System视图的集成(续)视图的集成(续)v

21、 集成局部集成局部E-R图的步骤图的步骤1. 合并合并2. 修改与重构修改与重构An Introduction to Database System视图的集成(续)视图的集成(续)视图集成视图集成 An Introduction to Database System合并分合并分E-R图,生成初步图,生成初步E-R图图v 各分各分E-R图存在冲突图存在冲突 各个分各个分E-R图之间必定会存在许多不一致的地方图之间必定会存在许多不一致的地方v合并分合并分E-R图的主要工作与关键图的主要工作与关键 合理消除各分合理消除各分E-R图的冲突图的冲突An Introduction to Database

22、System合并分合并分E-R图,生成初步图,生成初步E-R图(续)图(续)v 冲突的种类冲突的种类 属性冲突属性冲突 命名冲突命名冲突 结构冲突结构冲突An Introduction to Database System 属性冲突属性冲突v两类属性冲突两类属性冲突 属性域冲突属性域冲突属性值的类型(学号:属性值的类型(学号:char or int)取值范围(成绩:取值范围(成绩:0100 or AE)取值集合不同(性别:男,女;取值集合不同(性别:男,女;M,F;0,1) 属性取值单位冲突属性取值单位冲突An Introduction to Database System 命名冲突命名冲突v

23、两类命名冲突两类命名冲突 同名异义同名异义:不同意义的对象在不同的局:不同意义的对象在不同的局部应用中具有相同的名字部应用中具有相同的名字 异名同义(一义多名)异名同义(一义多名):同一意义的对:同一意义的对象在不同的局部应用中具有不同的名字象在不同的局部应用中具有不同的名字An Introduction to Database System 结构冲突结构冲突v三类结构冲突三类结构冲突 同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象 同一实体在不同分同一实体在不同分E-R图中所包含的属性个数图中所包含的属性个数和属性排列次序不完全相同和属性排列次序不完全相同 实体之间的联

24、系在不同局部视图中呈现不同的实体之间的联系在不同局部视图中呈现不同的类型类型An Introduction to Database System消除不必要的冗余,设计基本消除不必要的冗余,设计基本E-R图图v基本任务基本任务 消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图图合并合并初步初步E-R图图分分E-R图图基本基本E-R图图消除不必要的冗余消除不必要的冗余可能存在冗余的数据可能存在冗余的数据和冗余的实体间联系和冗余的实体间联系An Introduction to Database System消除不必要的冗余,设计基本消除不必要的冗余,设计基本E-R图(续)图(续)

25、v 冗余冗余v 消除冗余的方法消除冗余的方法An Introduction to Database System1冗余冗余v冗余的数据冗余的数据是指可由基本数据导出的数据是指可由基本数据导出的数据冗余的联系冗余的联系是指可由其他联系导出的联系是指可由其他联系导出的联系 v冗余数据和冗余联系容易破坏数据库的完整性,冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难给数据库维护增加困难v消除不必要的冗余后的初步消除不必要的冗余后的初步E-R图称为基本图称为基本E-R图图 An Introduction to Database System消除冗余的方法消除冗余的方法v方法一:分析方法方

26、法一:分析方法 以数据字典和数据流图为依据以数据字典和数据流图为依据 根据数据字典中关于数据项之间的逻辑根据数据字典中关于数据项之间的逻辑关系关系An Introduction to Database System消除冗余的方法(续)消除冗余的方法(续)消除冗余消除冗余 An Introduction to Database System消除冗余的方法(续)消除冗余的方法(续) 效率效率VS冗余信息冗余信息l需要根据用户的整体需求来确定需要根据用户的整体需求来确定 若人为地保留了一些冗余数据,则应把数据字典若人为地保留了一些冗余数据,则应把数据字典中数据关联的说明作为中数据关联的说明作为完整性

27、约束条件完整性约束条件lQ4=Q5l一旦一旦Q5修改后就应当触发完整性检查,对修改后就应当触发完整性检查,对Q4进行修改进行修改An Introduction to Database System消除冗余的方法(续)消除冗余的方法(续)v方法二:规范化理论方法二:规范化理论 函数依赖的概念提供了消除冗余联系的函数依赖的概念提供了消除冗余联系的形式化工具形式化工具An Introduction to Database System消除冗余的方法(续)消除冗余的方法(续) 方法方法1. 确定分确定分E-R图实体之间的数据依赖图实体之间的数据依赖 ,并用实,并用实体码之间的函数依赖表示。体码之间的函

28、数依赖表示。劳动人事管理的分劳动人事管理的分E-R图图 An Introduction to Database System消除冗余的方法(续)消除冗余的方法(续)上图中,上图中, 部门和职工之间一对多的联系可表示为:部门和职工之间一对多的联系可表示为: 职工号职工号部门号部门号 职工和产品之间多对多的联系可表示为:职工和产品之间多对多的联系可表示为: (职工号,产品号)(职工号,产品号)工作天数工作天数 得到函数依赖集得到函数依赖集FL An Introduction to Database System消除冗余的方法(续)消除冗余的方法(续)2. 求求FL的最小的最小函数依赖集函数依赖集G

29、L ,差集为,差集为D = FL-GL。 逐一考察逐一考察D中的函数依赖,确定是否是冗余的联中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。系,若是,就把它去掉。(1) 冗余的联系一定在冗余的联系一定在D中,而中,而D中的联系不一定是中的联系不一定是冗余的;冗余的;(2) 当实体之间存在多种联系时要将实体之间的联系当实体之间存在多种联系时要将实体之间的联系在形式上加以区分。在形式上加以区分。 定义定义4.5 如果函数依赖集如果函数依赖集F满足下列条件,则称满足下列条件,则称F为为一个一个极小函数依赖集极小函数依赖集。亦称为。亦称为最小依赖集最小依赖集或或最小最小覆盖覆盖。 (1) F中任

30、一函数依赖的右部仅含有一个属性。中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖中不存在这样的函数依赖XA,使得,使得F与与F-XA等价。等价。 (3) F中不存在这样的函数依赖中不存在这样的函数依赖XA, X有真有真 子集子集Z使得使得F-XAZA与与F等价。等价。 An Introduction to Database System消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例图实例 实例实例 某工厂管理信息系统的视图集成。某工厂管理信息系统的视图集成。 支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。An Intr

31、oduction to Database System消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。图图1 工厂物资管理工厂物资管理E-R图图该厂物资管理分该厂物资管理分E-R图图An Introduction to Database System消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。图图2 销售管理子系统的分销售管理子系统的分E-R图图该厂销售管理分该

32、厂销售管理分E-R图图An Introduction to Database System消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。图图3 劳动人事管理的分劳动人事管理的分E-R图图该厂劳动人事管理分该厂劳动人事管理分E-R图图An Introduction to Database System消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。系统的基本系统的基

33、本E-R(图图7.30)某工厂管理信息系统某工厂管理信息系统的基本的基本E-R图图 An Introduction to Database System消除冗余,设计生成基本消除冗余,设计生成基本E-R图实例(续)图实例(续)集成过程,解决了以下问题:集成过程,解决了以下问题:v 异名同义,项目和产品含义相同异名同义,项目和产品含义相同v 库存管理中职工与仓库的工作关系已包含在劳动人事管理库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与职工之间的联系之中,所以可以取消的部门与职工之间的联系之中,所以可以取消v 职工之间领导与被领导关系可由部门与职工(经理)之间职工之间领导与被领导关系

34、可由部门与职工(经理)之间的领导关系、部门与职工之间的从属关系两者导出,所以的领导关系、部门与职工之间的从属关系两者导出,所以也可以取消也可以取消An Introduction to Database System验证整体概念结构验证整体概念结构v 视图集成后形成一个整体的数据库概念结构,对该整体概视图集成后形成一个整体的数据库概念结构,对该整体概念结构还必须进一步验证,确保它能够满足下列条件:念结构还必须进一步验证,确保它能够满足下列条件: 整体概念结构内部必须具有一致性,不存在互相矛盾的整体概念结构内部必须具有一致性,不存在互相矛盾的表达表达 整体概念结构能准确地反映原来的每个视图结构,包

35、括整体概念结构能准确地反映原来的每个视图结构,包括属性、实体及实体间的联系属性、实体及实体间的联系 整体概念结构能满足需求分析阶段所确定的所有要求整体概念结构能满足需求分析阶段所确定的所有要求An Introduction to Database System验证整体概念结构(续)验证整体概念结构(续)v整体概念结构最终还应该提交给用户,征求用户整体概念结构最终还应该提交给用户,征求用户和有关人员的意见,进行评审、修改和优化,然和有关人员的意见,进行评审、修改和优化,然后把它确定下来,作为数据库的概念结构,作为后把它确定下来,作为数据库的概念结构,作为进一步设计数据库的依据进一步设计数据库的依

36、据。An Introduction to Database System概念结构设计小结概念结构设计小结v概念结构设计的步骤概念结构设计的步骤 抽象数据并设计局部视图抽象数据并设计局部视图 集成局部视图,得到全局概念结构集成局部视图,得到全局概念结构 验证整体概念结构验证整体概念结构An Introduction to Database System概念结构设计小结概念结构设计小结v数据抽象数据抽象 分类分类 聚集聚集 概括概括An Introduction to Database System概念结构设计小结概念结构设计小结v设计局部视图设计局部视图 选择局部应用选择局部应用 2. 逐一设计

37、分逐一设计分E-R图图 标定局部应用中的实体、属性、码,标定局部应用中的实体、属性、码,实体间的联系用实体间的联系用E-R图描述出来图描述出来An Introduction to Database System概念结构设计小结概念结构设计小结v 集成局部视图集成局部视图1.合并分合并分E-R图,生成初步图,生成初步E-R图图消除冲突消除冲突l属性冲突属性冲突l命名冲突命名冲突l结构冲突结构冲突2. 修改与重构修改与重构消除不必要的冗余,设计生成基本消除不必要的冗余,设计生成基本E-R图图l分析方法分析方法l规范化理论规范化理论An Introduction to Database System

38、5.4 逻辑结构设计逻辑结构设计v逻辑结构设计的任务逻辑结构设计的任务 把概念结构设计阶段设计好的基本把概念结构设计阶段设计好的基本E-R图转换为图转换为与选用与选用DBMS产品所支持的数据模型相符合的逻产品所支持的数据模型相符合的逻辑结构辑结构v逻辑结构设计的步骤逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型将概念结构转化为一般的关系、网状、层次模型 将转换来的关系、网状、层次模型向特定将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换支持下的数据模型转换 对数据模型进行优化对数据模型进行优化An Introduction to Database System

39、逻辑结构设计逻辑结构设计(续续)逻辑结构设计时的逻辑结构设计时的3个步骤个步骤 An Introduction to Database System5.4 逻辑结构设计逻辑结构设计5.4.1 E-R图向关系模型的转换图向关系模型的转换5.4.2 数据模型的优化数据模型的优化5.4.3 设计用户子模式设计用户子模式An Introduction to Database System5.4.1 E-R图向关系模型的转换图向关系模型的转换v转换内容转换内容v转换原则转换原则An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)vE-

40、R图向关系模型的转换要解决的问题图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式如何将实体型和实体间的联系转换为关系模式 如何确定这些关系模式的属性和码如何确定这些关系模式的属性和码 v转换内容转换内容 将将E-R图转换为关系模型:将实体、实体的属性和图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。实体之间的联系转换为关系模式。An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(1)一个一个1:1联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与任意一端

41、对应的关系模式合并。也可以与任意一端对应的关系模式合并。转换为一个独立的关系模式转换为一个独立的关系模式与某一端实体对应的关系模式合并与某一端实体对应的关系模式合并实体型间的联系有以下不同情况实体型间的联系有以下不同情况 :An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(2)一个一个1:n联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与也可以与n端对应的关系模式合并。端对应的关系模式合并。 转换为一个独立的关系模式转换为一个独立的关系模式 与与n端对应的关系模式合并端对应的关系模式合并An

42、Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(3) 一个一个m:n联系转换为一个关系模式。联系转换为一个关系模式。例:例:“选修选修”联系是一个联系是一个m:n联系,可以将它转联系,可以将它转换为如下关系模式,其中学号与课程号为关系的换为如下关系模式,其中学号与课程号为关系的组合码:组合码:选修(选修(学号学号,课程号课程号,成绩),成绩)An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(4)三个或三个以上实体间的一个三个或三个以上实体间的一个多元联

43、系多元联系转换为转换为一个关系模式。一个关系模式。例:例:“讲授讲授”联系是一个三元联系,可以将它联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和转换为如下关系模式,其中课程号、职工号和书号为关系的书号为关系的组合码:组合码:讲授(讲授(课程号,职工号,书号课程号,职工号,书号)An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)(5)具有具有相同码相同码的关系模式可合并的关系模式可合并 目的:目的:减少系统中的关系个数减少系统中的关系个数 合并方法:合并方法:将其中一个关系模式的全部属性加将其中一个关系

44、模式的全部属性加入到另一个关系模式中,然后去掉其中的同义入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性(可能同名也可能不同名),并适当调整属性的次序属性的次序An Introduction to Database SystemE-R图向关系模型的转换(续)图向关系模型的转换(续)注意:注意:v 从理论上讲,从理论上讲,1:1联系可以与任意一端对应的关系模式合并联系可以与任意一端对应的关系模式合并v 但在一些情况下,与不同的关系模式合并效率会大不一样。但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情因此究

45、竟应该与哪端的关系模式合并需要依应用的具体情况而定。况而定。v 由于由于连接操作是最费时连接操作是最费时的操作,所以一般应以尽量减少连的操作,所以一般应以尽量减少连接操作为目标。接操作为目标。 例如:例如:如果经常要查询某个班级的班主任姓名,则将管理如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。联系与教师关系合并更好些。v例如,有 1 1 联系的 E-R 模型如图 5-15 所示,设每个部门只有一个经理,一个经理只负责一个部门。请将该 E-R 模型转换为合适的关系模式。v例如,有 1 联系的 E-R 模型如图 5-16 所示,请将该 E-R 模型转换为合适的关系模式。部

46、门部门(部门号部门号,部门名部门名),其中部门号为主键。,其中部门号为主键。职工职工(职工号职工号,部门号部门号,职工名职工名,工资工资),其中,其中“职工号职工号”为主键,为主键,“部门号部门号”为外键。为外键。例如例如,有,有 m n 联系的联系的 E-R 模型如图模型如图 5-17 所示,请将所示,请将该该 E-R 模型转换为合适的关系模式。模型转换为合适的关系模式。教教 师师(教师号教师号,教师名教师名,职称职称),其中,其中“教师号教师号”为主键。为主键。课程课程(课程号课程号,课程名课程名,学分学分),其中,其中“课程号课程号”为主键。为主键。授课授课(教师号教师号,课程号课程号,

47、授课时数授课时数),其,其中中(教师号教师号,课程号课程号)为主键,同时为主键,同时“教教师号师号”和和“课程号课程号”均为外键。均为外键。An Introduction to Database System5.4 逻辑结构设计逻辑结构设计5.4.1 E-R图向关系模型的转换图向关系模型的转换5.4.2 数据模型的优化数据模型的优化5.4.3 设计用户子模式设计用户子模式An Introduction to Database System5.4.2 数据模型的优化数据模型的优化v得到初步数据模型后,还应该适当地修改、调整得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据

48、库应用系统数据模型的结构,以进一步提高数据库应用系统的性能,这就是的性能,这就是数据模型的优化数据模型的优化v关系数据模型的优化通常以关系数据模型的优化通常以规范化理论规范化理论为指导为指导An Introduction to Database System数据模型的优化(续)数据模型的优化(续)v优化数据模型的方法优化数据模型的方法1.确定数据依赖确定数据依赖按需求分析阶段所得到的语义,分别写出每个关系模式按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖数据依赖2.消除消除 冗余的联系冗余

49、的联系对于各个关系模式之间的数据依赖进行极小化处理,消对于各个关系模式之间的数据依赖进行极小化处理,消除除 冗余的联系。冗余的联系。An Introduction to Database System数据模型的优化(续)数据模型的优化(续)3、确定所属范式、确定所属范式按照数据依赖的理论对关系模式逐一进行分析按照数据依赖的理论对关系模式逐一进行分析考查是否存在部分函数依赖、传递函数依赖、考查是否存在部分函数依赖、传递函数依赖、多值依赖等多值依赖等确定各关系模式分别属于第几范式确定各关系模式分别属于第几范式An Introduction to Database System数据模型的优化(续)数

50、据模型的优化(续)4.按照需求分析阶段得到的各种应用对数据处理按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是的要求,分析对于这样的应用环境这些模式是否合适,否合适, 确定是否要对它们进行合并或分解。确定是否要对它们进行合并或分解。注意:注意:并不是规范化程度越高的关系就越优,一般并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了说来,第三范式就足够了An Introduction to Database System数据模型的优化(续)数据模型的优化(续)例:例:在关系模式在关系模式 学生成绩单学生成绩单(学号学号,英语英语,数学数学,语文语文,平均

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com