资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库原理及应用,第三章 数据库系统的设计方法,Objectives,数据库设计的目的、意义及内容 数据库系统设计的方法和步骤,第三章 数据库系统的设计方法,为什么?,为什么需要设计数据库?,为什么?,为什么要设计数据库,糟糕的设计,良好的数据库设计,节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发,数据冗余、存储空间浪费 内存空间浪费 数据更新和出入异常,数据库系统设计概述 系统需求分析 概念结构设计 逻辑结构设计 数据库的物理设计 数据库实施和维护,第三章 数据库系统的设计方法,一、数据库系统设计概述,数据库设计 目标: 反映联系; 有效存储; 方便操作; 有利于据维护和管理。 内容: 数据库的结构特性设计,行为特性设计,物理模式设计。 将结构特性设计和行为特性设计结合起来,相互参照,同步进行,才能较好地达到设计目标。,一、数据库系统设计概述-内容,一、数据库系统设计概述-设计过程,数据库设计的特点 三分技术,七分管理,十二分基础数据 管理 数据库建设项目管理 企业(即应用部门)的业务管理 基础数据 收集、入库 更新新的数据,一、数据库系统设计概述-特点,1. 考虑到计算机硬件、软件和用户的实际情况 (1) 数据库系统的硬件条件 (2) DBMS和主语言系统的特点 (3) 数据库用户的技术水平和管理水平 2. 使结构特性设计和行为特性设计紧密结合 数据库设计过程是一种自上而下的、逐步逼近设计目标的过程,是结构设计和行为设计分离设计、相互参照、反复探寻的过程。,数据库系统设计应注意的问题,一、数据库系统设计概述,数据库系统设计基本步骤,需求分析,概念结构设计,逻辑结构设计,物理结构设计,一、数据库系统设计概述-方法-步骤,实施,运行和维护,新奥尔良方法 只包括4个阶段,数据库结构设计过程的各个阶段及描述,数据库结构设计不同阶段要完成的不同级别的数据模式:(P16-18),一、数据库系统设计概述-步骤,PS:三级数据模式结构(P16-18),二、系统需求分析,系统需求分析:分析用户的要求,将分析结果用数据流程图和数据字典表示。 需求分析的任务和方法 数据字典及其表示,1、系统需求调查的内容,2、系统需求的调查步骤,3、系统需求调查的方法,4、系统需求分析方法,二、系统需求分析-任务和方法,调查目的: 获得数据库所需数据情况 数据处理需求 具体的调查内容有以下3个方面 数据库中的信息内容 数据处理内容 数据安全性和完整性要求,1、系统需求调查的内容,了解管理对象的组织机构情况 了解相关部门的业务动活情况 确定新系统的边界,2.系统需求的调查步骤,做需求调查时,往往需要同时采用下述多种方法: 跟班作业 开调查会 请专人介绍 询问 请用户填写设计调查表 查阅数据记录,3.系统需求调查的方式,4.系统需求分析方法,结构化分析方法 把任何一个 系统都抽象为此图,数据存储,数据来源,处理,数据输出,数据流,3-4 系统高层抽象图,数据字典 各类数据描述的集合,其中的数据称为元数据。 数据字典通常包括5个部分: 1. 数据项:数据项是不可再分的数据单位。 2. 数据结构:数据结构反映了数据之间的组合关系。 3. 数据流:据流是数据结构在系统内传输的路径。 4. 数据存储:数据存储是数据及其结构停留或保存 的地方,也是数据流的来源和去向之一。数据存储可以是手工文档、手工凭单或计算机文档。 5. 处理过程:用判定表或判定树来描述。,二、系统需求分析-数据字典及表示,一个数据流程图的实例,三、概念结构设计,概念结构设计: 将系统需求分析得到的用户需求抽象为信息结构的过程。 结果为概念模型。 整个数据库设计的关键,自顶向下,首先定义全局概念结构的框架,然后逐步细化.,三、概念结构设计-设计方法,自底向上,首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构.,三、概念结构设计-设计方法,www.themegallery.com,逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构.,三、概念结构设计-设计方法,www.themegallery.com,混合策略,将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。(P54 3-6),三、概念结构设计-设计方法,www.themegallery.com,三、概念结构设计-设计步骤,设计分为两步: 抽象数据,设计局部视图; 集成局部视图,得到全局概念结构,三、概念结构设计-数据抽象,三种数据抽象方法 分类: 定义类概念作为现实世界中对象的类型,这些对象具有某些共同的特性和行为。在E-R模型中,实体集是该抽象。 聚集:定义某一类型的组成部分,它抽象了对象内部的类型和 “组成部分”的语义。 概括:定义类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。,三、概念结构设计-局部视图设计,设计分E-R图 概念结构设计是利用抽象机制对需求分析阶段收集到的数据分类、组织(聚集),形成实体集、属性和码,确定实体集之间的联系类型,进而设计分E-R图。 实体和属性的区别: 两条基本准则: 原子性,不可分割; 专一性,必须为实体间的联系。,1. 合并分E-R图,生成初步E-R图 (1) 属性冲突 属性域冲突,即属性值的类型、取值范围或取值集合不同。 属性取值单位冲突。 (2) 命名冲突 同名异义冲突:不同的对象在不同的局部应用中具有相同的名字。 异名同义冲突:意义相同的对象在不同的应用中有不同的名字 (3) 结构冲突 同一对象在不同的应用中具有不同的抽象。 同一实体在不同分E-R图中的属性组成不一致. 实体之间的联系在不同的分E-R图中呈现不同的类型。,三、概念结构设计-视图集成,2. 消除不必要的冗余,设计基本E-R图 并不是将所有冗余数据与冗余联系都消除 消除冗余方法: 分析方法 规划化理论,三、概念结构设计-视图集成,现实世界,信息世界 概念模型,机器世界 DBMS支持的数据模型,转换,认识 抽象,四、逻辑结构设计,逻辑结构设计的任务: 把概念模型结构转换成某个具体的DBMS所支持的数据模型。,概念模型转换为逻辑模型分为三步: 1、把概念模型转换成一般的数据模型 2、将一般的数据模型转换成特定的DBMS所支持的数据模型 3、通过优化方法将其转换为优化的数据模型,概念模型,一般数据模型,特定的DBMS,转换规则,优化方法,优化的数据模型,四、逻辑结构设计,不同型实体集及其联系的转换规则 每个实体集转换成一个记录。 每个1:n的二元联系转换成一个系,系的方向由1方实体记录指向n方实体记录。 每个m:n的二元联系,在转换时要引入一个连结记录,并形成两个系,系的方向由实体记录方指向连结记录方。 K(=3)个实体型之间的多元联系,在转换时也引入一个连结记录,并将联系转换成K个实体记录型和连结记录型之间的K个系,系的方向均为实体型指向连结记录。,四、逻辑结构设计-概念模型向网状模型转换,(a) 1:n联系的转换实例 (b) m:n联系的转换实例,概念模型向网状模型转换,不同型实体-二元联系:,概念模型向网状模型转换,不同型实体-多元联系:,班 长,学生,通知,通知,学生(班长),1,n,1,n,通知,学生(班长),通知-班长系,班长-通知系,概念模型向网状模型转换,同型实体:,E-R图转换为关系模型实质: 将实体集、属性以及联系转换为相应的关系模式 需解决两个问题: 如何将实体集和实体间的联系转换为关系模式; 如何确定这些关系模式的属性和码。,四、逻辑结构设计-概念模型向关系模型转换,实体集的转换规则 一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。 实体集间联系的转换规则 (1) 1:1联系的转换方法 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。,四、逻辑结构设计-概念模型向关系模型转换,【例3-1】将图中E-R图转换为关系模型。,方案1:联系形成的关系独立存在: 职工(职工号,姓名,年龄); 产品(产品号,产品名,价格); 负责(职工号,产品号). 方案2:“负责”与“职工”两关系合并: 职工(职工号,姓名,年龄,产品号); 产品(产品号,产品名,价格); 方案3:“负责”与“产品”两关系合并: 职工(职工号,姓名,年龄); 产品(产品号,产品名,价格,职工号).,(2) 1:n联系的转换方法,一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码; 另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。,【例3-2】将含有1:n联系的E-R图转换为关系模型,方案1:联系形成的关系独立存在。 仓库(仓库号,地点,面积); 产品(产品号,产品名,价格); 仓储(仓库号,产品号,数量). 方案2:联系形成的关系与n端对象合并。 仓库(仓库号,地点,面积); 产品(产品号,产品名,价格,仓库号,数量).,(3) m:n联系的转换方法,在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。,【例3-4】将图中含有m:n二元联系的E-R图,转换为关系模型,转换的关系模型为: 学生(学号,姓名,年龄,性别); 课程(课程号,课程名,学时数); 选修(学号,课程号,成绩).,(4) 三个或三个以上实体集间的多元联系的转换方法,1) 对于一对多的多元联系,转换为关系模型的方法是修改1端实体集对应的关系,即将与联系相关的其他实体集的码和联系自身的属性作为新属性加入到1端实体集中。 2) 对于多对多的多元联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。,【例3-6】将图中含有多实体集间的多对多联系的E-R图转换为关系模型。,供应商(供应商号,供应商名,地址); 零件(零件号,零件名,单价); 产品(产品号,产品名,型号); 供应(供应商号,零件号,产品号,数量).,总结 数据库设计主要涉及数据库模式的设计。实体-联系(E-R)数据模型是一个广泛用于数据库设计的数据模型。它提供了一个方便的图形化表示方法以查看数据、联系和约束。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号