资源预览内容
第1页 / 共76页
第2页 / 共76页
第3页 / 共76页
第4页 / 共76页
第5页 / 共76页
第6页 / 共76页
第7页 / 共76页
第8页 / 共76页
第9页 / 共76页
第10页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库系统概论数据库系统概论An Introduction to Database SystemsAn Introduction to Database SystemsSchool of Computer Science & TechnologyDalian Maritime University 2008谢益武谢益武 84729625 xieyiwudlmu.edu.cn2DBS2007-2008(2)数据库系统概论 An Introduction to Database System第七章 数据库设计3DBS2007-2008(2)第七章 数据库设计7.1 数据库设计概述7.2 需求分析7.3 概念结构设计7.4 逻辑结构设计7.5 数据库的物理设计7.6 数据库实施和维护7.7 小结4DBS2007-2008(2)7.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成5DBS2007-2008(2)7.3.1 概念结构 什么是概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定概念结构设计是整个数据库设计的关键6DBS2007-2008(2)概念结构(续)现实世界机器世界信息世界需求分析概念结构设计7DBS2007-2008(2)概念结构(续) 概念结构设计的特点(1) 能真实、充分地反映现实世界(2) 易于理解(3) 易于更改(4) 易于向关系、网状、层次等各种数据模型转换8DBS2007-2008(2)概念结构(续) 描述概念模型的工具 E-R模型9DBS2007-2008(2)7.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成10DBS2007-2008(2)7.3.2 概念结构设计的方法与步骤 设计概念结构的四类方法 自顶向下 首先定义全局概念结构的框架,然后逐步细化自顶向下策略11DBS2007-2008(2)7.3.2 概念结构设计的方法与步骤自底向上 首先定义各局部应用的概念结构,然后将它们集 成起来,得到全局概念结构自底向上策略12DBS2007-2008(2)概念结构设计的方法与步骤(续)逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以 滚雪球的方式逐步生成其他概念结构,直至总体概念 结构逐步扩张策略13DBS2007-2008(2)概念结构设计的方法与步骤(续)混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。14DBS2007-2008(2)概念结构设计的方法与步骤(续) 常用策略 自顶向下地进行需求分析 自底向上地设计概念结构15DBS2007-2008(2)概念结构设计的方法与步骤(续)v自底向上设计概念结构的步骤 第1步:抽象数据并设计局部视图 第2步:集成局部视图,得到全局概念结构16DBS2007-2008(2)7.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成17DBS2007-2008(2)7.3.3 数据抽象与局部视图设计 数据抽象 局部视图设计18DBS2007-2008(2)数据抽象 抽象是对实际的人、物、事和概念中抽取所 关心的共同特性,忽略非本质的细节,并把 这些特性用各种概念精确地加以描述。 概念结构是对现实世界的一种抽象19DBS2007-2008(2)数据抽象(续) 三种常用抽象1. 分类(Classification) 定义某一类概念作为现实世界中一组对象的类型 抽象了对象值和型之间的“is member of”的语义20DBS2007-2008(2)数据抽象(续)21DBS2007-2008(2)数据抽象(续)2. 聚集(Aggregation) 定义某一类型的组成成分 抽象了对象内部类型和成分之间“is part of”的语义22DBS2007-2008(2)数据抽象(续)聚集 23DBS2007-2008(2)数据抽象(续) 复杂的聚集,某一类型的成分仍是一个聚集 更复杂的聚集 24DBS2007-2008(2)数据抽象(续)3. 概括(Generalization) 定义类型之间的一种子集联系 抽象了类型之间的“is subset of”的语义 继承性25DBS2007-2008(2)数据抽象(续)概括 26DBS2007-2008(2)局部视图设计设计分E-R图的步骤:选择局部应用逐一设计分E-R图27DBS2007-2008(2) 选择局部应用 在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点 通常以中层数据流图作为设计分E-R图的依据28DBS2007-2008(2)选择局部应用(续)设计分E-R图的出发点 29DBS2007-2008(2) 逐一设计分E-R图 任务 将各局部应用涉及的数据分别从数据字典中抽取出来 参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码 确定实体之间的联系及其类型(1:1,1:n,m:n)30DBS2007-2008(2)逐一设计分E-R图(续) 两条准则:(1)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成(2)属性不能与其他实体具有联系。联系只发生在实体之间31DBS2007-2008(2)逐一设计分E-R图(续)职称作为一个实体32DBS2007-2008(2)逐一设计分E-R图(续)病房作为一个实体33DBS2007-2008(2)逐一设计分E-R图(续)仓库作为一个实体34DBS2007-2008(2)逐一设计分E-R图(续)实例销售管理子系统分E-R图的设计v销售管理子系统的主要功能:n处理顾客和销售员送来的订单n工厂是根据订货安排生产的n交出货物同时开出发票n收到顾客付款后,根据发票存根和信贷情况进行应收 款处理35DBS2007-2008(2)逐一设计分E-R图(续) 下图是第一层数据流图,虚线部分划出了系统边界 图7.18 销售管理子系统第一层数据流图 36DBS2007-2008(2)逐一设计分E-R图(续) 上图中把系统功能又分为4个子系统,下面四个图是第二 层数据流图 图7.19 接收订单 37DBS2007-2008(2)逐一设计分E-R图(续)图7.20 处理订单 38DBS2007-2008(2)逐一设计分E-R图(续)图7.21 开发票 39DBS2007-2008(2)逐一设计分E-R图(续)图7.22 支付过账 40DBS2007-2008(2)逐一设计分E-R图(续)分E-R图的框架 41DBS2007-2008(2)逐一设计分E-R图(续) 参照第二层数据流图和数据字典,遵循两个准则, 进行如下调整: (1) 订单与订单细节是1n的联系 (2) 原订单和产品的联系实际上是订单细节和产品的联系。 (3) 图7.21中“发票主清单”是一个数据存储,不必作为 实体加入分E-R图 (4) 工厂对大宗订货给予优惠42DBS2007-2008(2)逐一设计分E-R图(续) 得到分E-R图如下图所示 销售管理子系统的分E-R图 43DBS2007-2008(2)逐一设计分E-R图(续)对每个实体定义的属性如下: 顾客:顾客号,顾客名,地址,电话,信贷状况,账目 余额 订单:订单号,顾客号,订货项数,订货日期,交货日 期,工种号,生产地点 订单细则:订单号,细则号,零件号,订货数,金额 应收账款:顾客号,订单号,发票号,应收金额,支付日期,支付金额, 当前余额,货款限额 产品描述:产品号,产品名,单价,重量 折扣规则:产品号,订货量,折扣44DBS2007-2008(2)7.3 概念结构设计7.3.1 概念结构7.3.2 概念结构设计的方法与步骤7.3.3 数据抽象与局部视图设计7.3.4 视图的集成45DBS2007-2008(2)7.3.4 视图的集成 各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。46DBS2007-2008(2)视图集成的两种方式 多个分E-R图一次集成 一次集成多个分E-R图通常用于局部视图比较简单时47DBS2007-2008(2)视图的集成(续) 逐步集成用累加的方式一次集成两个分E-R图 48DBS2007-2008(2)视图的集成(续) 集成局部E-R图的步骤1. 合并2. 修改与重构49DBS2007-2008(2)视图的集成(续)视图集成 50DBS2007-2008(2)合并分E-R图,生成初步E-R图 各分E-R图存在冲突各个分E-R图之间必定会存在许多不一致的地方 合并分E-R图的主要工作与关键合理消除各分E-R图的冲突51DBS2007-2008(2)合并分E-R图,生成初步E-R图(续) 冲突的种类 属性冲突 命名冲突 结构冲突52DBS2007-2008(2) 属性冲突 两类属性冲突属性域冲突 属性值的类型 取值范围 取值集合不同属性取值单位冲突53DBS2007-2008(2) 命名冲突 两类命名冲突 同名异义:不同意义的对象在不同的局部应用 中具有相同的名字 异名同义(一义多名):同一意义的对象在不 同的局部应用中具有不同的名字54DBS2007-2008(2) 结构冲突 三类结构冲突 同一对象在不同应用中具有不同的抽象 同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同 实体之间的联系在不同局部视图中呈现不同的类型55DBS2007-2008(2)消除不必要的冗余,设计基本E-R图 基本任务 消除不必要的冗余,设计生成基本E-R图合并初步E-R图分E-R图可能存在冗余的数据 和冗余的实体间联系基本E-R图消除不必要的冗余56DBS2007-2008(2)消除不必要的冗余,设计基本E-R图(续 ) 冗余 消除冗余的方法57DBS2007-2008(2)1冗余 冗余的数据是指可由基本数据导出的数据冗余的联系是指可由其他联系导出的联系 冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难 消除不必要的冗余后的初步E-R图称为基本E-R图 58DBS2007-2008(2)消除冗余的方法 分析方法 以数据字典和数据流图为依据 根据数据字典中关于数据项之间的逻辑关系59DBS2007-2008(2)消除冗余的方法(续)消除冗余 60DBS2007-2008(2)消除冗余的方法(续) 效率VS冗余信息 需要根据用户的整体需求来确定 若人为地保留了一些冗余数据,则应把数据字典中数据关联的说明作为完整性约束条件 Q4=Q5 一旦Q5修改后就应当触发完整性检查,对Q4进行修改61DBS2007-2008(2)消除冗余的方法(续) 规范化理论 函数依赖的概念提供了消除冗余联系的形式化工具62DBS2007-2008(2)消除冗余的方法(续) 方法 1. 确定分E-R图实体之间的数据依赖 ,并用实体码之间 的函数依赖表示。劳动人事管理的分E-R图 63DBS2007-2008(2)消除冗余的方法(续)上图中, 部门
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号