第5章 数据库设计ppt课件.pptx
《第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方法一:分析方法方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 数据库设计ppt课件 数据库 设计 ppt 课件
限制150内