最新数据库sql sever 2008课件第二章 关系数据库设计和建模工具

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2010年10月第1页第2章关系数据库设计和建模工具本章学习目标:掌握数据库应用系统的设计过程掌握数据库建模工具的使用2010年10月第2页一、数据库应用系统设计数据库设计是数据库应用系统设计与开发的关键。2010年10月第3页1、数据库应用系统设计的基本过程数据库设计是建立数据库应用系统的核心和基础。数据库设计要求对指定的应用环境,构造出较优的数据库模式,建立数据库及其应用,使系统能有效地存储数据,并满足用户的各种应用需求。2010年10月第4页(1)数据库设计的任务和内容从应用角度看,数据库系统主要由数据库、数据库管理系统和数据库应用系统3个部分组成。数据库设计是指根据用户需求研制数据库结构的过程,也就是把现实世界中的数据,根据各种应用处理的要求,加以合理组织,使之满足硬件和操作系统的特性,利用已有的DBMS来建立能够实现系统目标的数据库。2010年10月第5页从系统开发的角度来看,数据库设计包括数据库的结构设计和数据库的行为设计两方面。2010年10月第6页数据库的结构设计数据库的结构设计是指根据给定的应用环境,进行数据库的各级数据库模式设计。它包括数据库的概念设计、逻辑设计和物理设计。数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。2010年10月第7页数据库的行为设计数据库的行为设计是指确定数据库用户的行为和动作。在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。2010年10月第8页从使用方便和改善性能的角度考虑,结构设计必须适应行为设计。但是建立数据模型的方法并没有给行为设计提供有效的工具和技巧,因此结构设计和行为设计不得不分别进行,但必须相互参照。2010年10月第9页(2)数据库设计的特点现代数据库的设计特点是强调结构设计与行为设计相结合,是一种“反复探寻,逐步求精”的过程。首先从数据需求分析开始,以数据模型为核心进行展开,将数据库设计和应用系统设计相结合,建立一个完整、独立、共享、冗余小和安全有效的数据库系统。2010年10月第10页需求分析概念结构设计逻辑结构设计数据库运行和维护物理结构设计数据库实施数据需求处理需求满意满意不满意不满意图2-1数据库设计过程2010年10月第11页(3)数据库设计的基本步骤数据库设计分为6个阶段:需求分析;概念结构设计;逻辑结构设计;物理结构设计;数据库实施;数据库运行和维护。2010年10月第12页在数据库设计之前,首先应对参与数据库设计的人员进行相应的分工。这些人员包括系统分析员、数据库设计员、数据库管理员、程序设计人员和用户。2010年10月第13页系统需求分析阶段需求分析阶段主要是准确把握用户的需求,对用户的需求进行分析和处理。概念结构设计阶段概念结构的设计就是将用户需求抽象为概念模型的过程。逻辑结构设计阶段逻辑结构设计是将概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。2010年10月第14页物理设计阶段物理结构设计是为数据库逻辑模型选取一个最合适的物理结构,包括数据的存储结构和存取方法等。数据库实施阶段数据库实施阶段根据逻辑结构设计和物理结构设计的结果,把原始数据装入数据库,建立一个具体的数据库并编写、调试相应的应用程序。数据库运行和维护这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提高用户要求的有效信息,用来评价数据库系统的性能,进一步调整和修改数据库。表2-1数据库设计各个阶段的描述设计阶段设计描述数据处理需求分析数据字典、全系统中数据项、数据流、数据存储描述数据流图和定表(判定树)数据字典中处理过程的描述概念结构设计概念模型(E-R图)数据字典系统说明书。包括:(1)新系统要求、方案和概图(2)反映新系统信息的数据流图逻辑结构设计某中数据模型关系模型系统结构图非关系模型(模块结构图)物理设计存储安排存取方法选择存取路径选择模块设计IPO表实施阶段编写模式装入数据数据库试运行程序编写编译连接测试运行维护性能测试,转储/恢复数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护)2010年10月第16页2、系统需求分析需求分析是整个数据库设计过程中的第一步,也是最重要的一步,是其他后续步骤的基础,为以后的具体设计作准备。2010年10月第17页(1)需求分析的任务需求分析的主要任务是通过详细调查客观世界要处理的对象(包括组织、部门、企业等),了解该对象所处系统的概况、各组成部分的工作流程,明确用户提出的各种需求,然后在此基础上确定新系统的框架和功能。同时在设计新系统时,必须充分考虑到系统可能发生的扩充和改变,不能仅仅局限于当前的需求。2010年10月第18页具体介绍需求分析包括以下任务:调查分析用户活动收集和分析需求数据,确定系统边界在熟悉业务活动的基础上,协助用户明确对新系统伪各种需求,包括用户的信息需求、处理需求、安全性和完整性的需求等。编写需求分析说明书系统分析阶段的最后是编写系统分析报告,通常称为需求规范说明书。需求规范说明书是对需求分析阶段的一个总结。编写系统分析报告是一个不断反复、逐步深入和逐步完善的过程。2010年10月第19页系统分析报告应包括如下内容:系统概况,系统的目标、范围、背景、历史和现状;系统的原理和技术,对原系统的改善;系统总体结构与子系统结构说明;系统功能说明;数据处理概要、工程体制和设计阶段划分;系统方案及技术、经济、功能和操作上的可行性。2010年10月第20页随系统分析报告提供下列附件:系统的硬件、软件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)。组织机构图、组织之间联系图和各机构功能业务一览图。数据流程图、功能模块图和数据字典等图表。2010年10月第21页(2)需求分析的方法需求分析的方法主要有结构化分析方法(SA方法)和面向对象分析方法(OOA方法)。SA方法是最简单实用的方法,从最上层的系统组织机构入手,采取自顶向下、逐层分解的方式来分析系统,用分层数据流图(DFD)和数据字典(DD)来描述需求分析的结果,构成系统需求说明。2010年10月第22页使用SA方法,任何一个系统都可抽象为数据流图。数据流图表达了数据和处理过程的关系。在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示存储。一个简单的系统可用一张数据流图来表示。2010年10月第23页数据字典主要包含下面内容:数据项:数据的最小单位,包括数据项名、含义、别名、类型、长度、取值范围、与其他数据项的逻辑联系等。数据结构:若干有意义的数据项集合,包括数据结构名、含义及组成成分等。数据流说明:数据流可以是数据项,也可以是数据结构,表示某一处理过程中的输入输出数据,包括数据流名、说明、流入过程、流出过程等。数据存储说明:说明处理中需要存储的数据,包括数据存储名、说明、输入数据流、输出数据流、数据量、存储方式、操作方式等。处理过程:描述处理过程的说明性信息,包括处理过程名、说明、输入(数据流)、输出(数据流)和处理(简要说明)等。2010年10月第24页需求分析的阶段性成果,是系统需求说明书,此说明书主要包括各项业务的数据流图、有关说明和数据字典的雏形表格、系统功能结构图、必要的说明等。2010年10月第25页3、概念结构设计概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。2010年10月第26页(1)概念模型的特点语义表达能力丰富。易于交流和理解。易于修改和扩充。易于向各种数据模型转换。最著名、最实用的一种是E-R模型,将现实世界的信息结构统一用属性、实体以及实体之间的联系来描述。2010年10月第27页(2)概念结构设计的方法和步骤设计概念结构的E-R模型可以采用4种方法。自顶向下:先定义全局概念结构E-R模型的框架,再做逐步细化。自底向上:首先定义每一局部应用的概念结构,然后按一定的规则集成,从而得到全局概念结构。由里向外:首先定义最重要的核心概念结构,然后向外逐步扩充,以滚雪球的方式生成其他概念结构。混合策略:采用自顶向下和自底向上相结合的方法,先自顶向下设计一个概念结构的全局框架,再以其为骨架,自底向上设计局部概念结构,并集合在一起。2010年10月第28页概念结构设计的步骤:需求分析数据抽象、局部视图设计视图集成DFD、DD局部E-R图全局E-R图逻辑结构设计图2-3自底向上概念结构设计2010年10月第29页局部E-R模型设计概念结构设计首先要根据需求分析得到的结果(数据流图、数据字典等)对现实世界进行抽象,设计各个局部E-R模型。E-R方法数据抽象设计局部E-R模型的关键是正确划分实体和属性。一般有两种数据抽象:分类和聚集。局部E-R模型设计实体和属性是相对而言的,往往需要根据实际情况进行必要的调整。2010年10月第30页全局E-R模型设计视图的集成分为两个步骤:局部E-R图的合并。消除冲突。E-R图中的冲突有3种:属性冲突;命名冲突;结构冲突;结构冲突:同一对象在不同应用中有不同的抽象,可能为实体,也可能为属性。同一实体在不同应用中属性组成不同,可能是属性个数或属性次序不同。同一联系在不同应用中呈现不同的类型。2010年10月第31页消除冲突后,还要对全局E-R图进行优化。优化的原则是:在满足用户功能需求的前提下,使实体类型个数尽可能少,实体类型所含属性尽可能少,实体间联系尽量无冗余。2010年10月第32页4、逻辑结构设计(1)逻辑结构设计的任务和步骤一般的逻辑设计分为以下3步:初始关系模型设计。关系模型规范化。模式的评价与改进。2010年10月第33页(2)E-R图转化为关系模型表2-2三个世界术语对比现实世界信息世界计算机世界事物总体实体表事务个体实体实例记录特征属性字段事物之间的联系实体模型数据模型2010年10月第34页转换的一般规则为:一个实体转换为一个表。实体的属性就是表的属性,实体的标识符就是表的关键字。对于实体间的关系有以下不同的情况;一个1:1关系可以转换为一个独立的关系表,也可以与任意一端所对应的关表合并。如果转换为一个独立的表,则与该关系相连的各实体的关键字以及关系本身的属性均转换为表的属性,每个实体的属性均是该表的候选关键字,同时也是引用各自实体的外关键字。如果是与关系的任意一端实体所对应的表合并,则需要在该表的属性中加入另一个实体的关键字和关系本身的属性。同时新加入的实体的关键字为此表中引用另一个实体的外关键字。2010年10月第35页一个1:n关系可以转换为一个独立的表,也可以与n端所对应的表合并。如果转换为一个独立的表,则与该关系相连的各实体的关键字以及关系本身的属性均转换为表的属性。而表的关键字为n端实体的关键字,同时n端实体的关键字为此新表中引用n端实体的外关键字,1端实体的关键字作为引用1端实体的外关键字。如果是与n端所对应的表合并,则需要在n端所对应的表的属性中加入1端实体的关键字以及关系本身的属性。同时1端实体的关键字为n端实体所对应的表中引用1端实体的外关键字。2010年10月第36页一个m:n关系转换为一个表。与该关系相连的各实体的关键字以及关系本身的属性均转换为该表的属性,新表的关键字包含各实体的关键字,同时新表中各实体的关键字为引用各自实体的外关键字。3个或3个以上实体间的一个多元关系可以转换为一个表。与该多元关系相连的各实体的关键字以及关系本身的属性均转换为此表的属性,而此表的关键字包含各实体的关键字,同时新表中的各实体的关键字为引用各自实体的外关键字。具有相同码的表可以合并。2010年10月第37页E-R模型转换关系模型示例部门表(部门号(PK),部门名,经理号(FK))经理表(经理号(PK),经理

1 / 92
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功