版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上一页上一页下一页下一页返回首页返回首页第第 四四 章章 数据库设计数据库设计4.1 数据库设计概述数据库设计概述4.2 需求分析需求分析4.3 数据库结构设计数据库结构设计4.4 数据库实施数据库实施4.5 数据库运行与维护数据库运行与维护4.6 小结小结上一页上一页下一页下一页返回首页返回首页4.1 4.1 数据库设计概述数据库设计概述1. 什么是数据库设计什么是数据库设计l数据库设计是指对于一个给定的应用环境,构造数据库设计是指对于一个给定的应用环境,构造最优的数据库模式最优的数据库模式,建立,建立数据库及其应用系统数据库及其应用系统,使之能够有效地存储、管理数据,满足各种用户使之能够有
2、效地存储、管理数据,满足各种用户的应用需求(信息要求和处理要求)的应用需求(信息要求和处理要求)l在数据库领域内,常常把使用数据库的各类系统在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统统称为数据库应用系统上一页上一页下一页下一页返回首页返回首页2 数据库设计的内容数据库设计的内容 数据库设计包括数据库设计包括数据库的结构设计和数据库的行为设计数据库的结构设计和数据库的行为设计两两方面的内容。方面的内容。数据库的结构设计数据库的结构设计u数据库的结构设计指是根据给定的应用环境,进行数据库的结构设计指是根据给定的应用环境,进行数据库的模式结构的设计。数据库的模式结构的设计。u它包
3、括数据库的概念设计、逻辑设计和物理设计。它包括数据库的概念设计、逻辑设计和物理设计。u数据库模式是各应用程序共享的结构,是静态的、数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为所以结构设计又称为静态模型设计静态模型设计。4.1 数据库设计概述数据库设计概述上一页上一页下一页下一页返回首页返回首页4.1 数据库设计概述数据库设计概述2数据库设计的内容数据库设计的内容 数据库的行为设计数据库的行为设计u数据库的行为设计是指确定数据库用户的行为和动数据库的行为设计是指确定数据库用户的行为和动作。而
4、在数据库系统中,用户的行为和动作指用户作。而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。以数据库的行为设计就是应用程序的设计。u用户的行为总是使数据库的内容发生变化,所以行用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为为设计是动态的,行为设计又称为动态模型设计动态模型设计。上一页上一页下一页下一页返回首页返回首页4.1 4.1 数据库设计概述数据库设计概述3. 数据库设计的特点数据库设计的特点现代数据库的设计的特点是强调结构设计与行为设计相结现代数
5、据库的设计的特点是强调结构设计与行为设计相结合,是一种合,是一种“反复探寻,逐步求精反复探寻,逐步求精”的过程。的过程。首先从数据首先从数据模型开始设计,以数据模型为核心进行展开,数据库设计模型开始设计,以数据模型为核心进行展开,数据库设计和应用系统设计相结合,建立一个完整、独立、共享、冗和应用系统设计相结合,建立一个完整、独立、共享、冗余小、安全有效的数据库系统。余小、安全有效的数据库系统。上一页上一页下一页下一页返回首页返回首页4.1 4.1 数据库设计概述数据库设计概述现实世界现实世界概念模型设计概念模型设计加载数据库加载数据库物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计数据
6、分析数据分析功能分析功能分析功能设计功能设计事务设计事务设计应用程序设计应用程序设计调试运行调试运行数据库设计的全过程数据库设计的全过程运行和维护运行和维护上一页上一页下一页下一页返回首页返回首页4.1 4.1 数据库设计概述数据库设计概述4. 数据库设计的方法数据库设计的方法v 手工与经验相结合方法手工与经验相结合方法 v规范设计法规范设计法 n 新奥尔良(新奥尔良(New Orleans)方法)方法 (将数据库设计分为若干阶段和步骤将数据库设计分为若干阶段和步骤 )n 基于基于E-R模型的数据库设计方法模型的数据库设计方法 (概念设计阶段广泛采用概念设计阶段广泛采用 )n 3NF(第三范式
7、)的设计方法(第三范式)的设计方法 (逻辑阶段可采用的有效方法逻辑阶段可采用的有效方法) n ODL(Object Definition Language)方法)方法( (面向对象的数据库设计方法面向对象的数据库设计方法) ) 上一页上一页下一页下一页返回首页返回首页4.1 4.1 数据库设计概述数据库设计概述4. 数据库设计的方法数据库设计的方法v计算机辅助设计法计算机辅助设计法n 利用计算机辅助软件工程(利用计算机辅助软件工程(Computer Aided Software Computer Aided Software EngineeringEngineering,CASECASE)工具
8、可以自动或辅助设计人员完成)工具可以自动或辅助设计人员完成数据库设计过程中的很多任务。数据库设计过程中的很多任务。n 目前用于数据库设计的目前用于数据库设计的CASECASE工具有:工具有: ORACLE ORACLE公司的公司的Design 2000Design 2000 SYBASE SYBASE公司的公司的Power DesignerPower Designer上一页上一页下一页下一页返回首页返回首页4.1 4.1 数据库设计概述数据库设计概述5. 数据库设计的基本步骤数据库设计的基本步骤了解和分析用户需求了解和分析用户需求对需求分析所得到数据的进对需求分析所得到数据的进行综合、归纳行综
9、合、归纳,,形成概念模,形成概念模型型 将概念模型所描述的数据映射将概念模型所描述的数据映射为某个特定的为某个特定的DBMSDBMS支持的数据支持的数据模型模型需求分析阶段需求分析阶段概念结构设计阶段概念结构设计阶段 逻辑结构设计阶段逻辑结构设计阶段物理结构设计阶段物理结构设计阶段 数据库实施阶段数据库实施阶段 数据库运行和维护阶段数据库运行和维护阶段确定存储结构和存取方法确定存储结构和存取方法设计人员利用设计人员利用DBMSDBMS提供的数据提供的数据语言和数据库开发工具,建立语言和数据库开发工具,建立数据库,编制应用程序,组织数据库,编制应用程序,组织数据入库,并进行试运行数据入库,并进行
10、试运行上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析需求分析是整个数据库设计中最重要的一步,是其它各步骤的需求分析是整个数据库设计中最重要的一步,是其它各步骤的基础。基础。也也是最困难、最耗费时间的一步是最困难、最耗费时间的一步. . 一、需求分析的任务一、需求分析的任务1.1.详细调查现实世界要处理的对象(组织、部门、企业等)详细调查现实世界要处理的对象(组织、部门、企业等) 充分了解原系统工作概况(手工系统或计算机系统),充分了解原系统工作概况(手工系统或计算机系统), 明确用户的明确用户的各种需求各种需求2. 2. 确定新系统的功能。确定新系统的功能
11、。新系统必须充分考虑今后可能的扩新系统必须充分考虑今后可能的扩 充和改变,不能仅仅按当前应用需求来设计数据库充和改变,不能仅仅按当前应用需求来设计数据库3. 3. 编写需求分析说明书编写需求分析说明书上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析二、需求分析的重点二、需求分析的重点重点是调查、收集、分析用户对数据库的各种要求重点是调查、收集、分析用户对数据库的各种要求 信息要求信息要求在数据库中需要存储哪些数据在数据库中需要存储哪些数据 处理要求处理要求系统需要具备哪些功能,对处理响应系统需要具备哪些功能,对处理响应 时间的要求,对处理方式的要求时间的要求
12、,对处理方式的要求安全性与完整性要求安全性与完整性要求上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析三、需求分析的方法三、需求分析的方法v自顶向下的结构化分析方法(简称自顶向下的结构化分析方法(简称SASA方法)方法)v该方法从最上层的系统组织机构入手,采用逐层分解的方该方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用式分析系统,并用数据流图和数据字典数据流图和数据字典描述系统。描述系统。上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析v在数据流图中,用命名的箭头表示数据流,用圆圈表示处在数据流图中,用命
13、名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示存储。理,用矩形或其他形状表示存储。v任何一个系统都抽象为数据流图任何一个系统都抽象为数据流图(DFD)(DFD)数据数据存储存储数据流数据流数据流数据流处理处理信息要求信息要求数据数据来源来源数据数据输出输出处理要求处理要求v数据流图(数据流图(Data Flow Diagram,DFD):是一种最常用的结:是一种最常用的结构化分析工具,它从数据传递和加工角度,构化分析工具,它从数据传递和加工角度,以图形的方式描以图形的方式描 述数据在系统中流动和处理的过程。述数据在系统中流动和处理的过程。上一页上一页下一页下一页返回首页返回首页4.2
14、 4.2 数据库数据库需求分析需求分析报销人审查分录报销单付款凭证报销登记数据流图示例数据流图示例v一个简单的系统可用一张数据流图来表示。当系统比较复杂时,为了一个简单的系统可用一张数据流图来表示。当系统比较复杂时,为了便于理解,控制其复杂性,可以采用分层描述的方法。一般用第一层描便于理解,控制其复杂性,可以采用分层描述的方法。一般用第一层描述系统的全貌,第二层分别描述各子系统的结构。如果系统结构还比较述系统的全貌,第二层分别描述各子系统的结构。如果系统结构还比较复杂,那么可以继续细化,直到表达清楚为止。在处理功能逐步分解的复杂,那么可以继续细化,直到表达清楚为止。在处理功能逐步分解的同时,它
15、们所用的数据也逐级分解,形成若干层次的数据流图。数据流同时,它们所用的数据也逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。图表达了数据和处理过程的关系。上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析u数据字典数据字典 (Data Dictionary(Data Dictionary,简称,简称DD)DD)的用途的用途n 数据字典是系统中各类数据的详细描述的集合数据字典是系统中各类数据的详细描述的集合n 进行详细的数据收集和数据分析所获得的主要结果进行详细的数据收集和数据分析所获得的主要结果 u数据字典的内容数据字典的内容 数据项数据
16、项 数据结构数据结构 数据流数据流 数据存储数据存储 处理过程处理过程上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析(1) (1) 数据项数据项例:数据项名:学号例:数据项名:学号 含义说明:唯一标识每个学生含义说明:唯一标识每个学生 别名:学生编号别名:学生编号 类型:字符型类型:字符型 长度:长度:8 取值范围:取值范围:00000000-99999999 取值含义:前取值含义:前2位标识学生所在年级,第位标识学生所在年级,第3、4 位表示所在系,后位表示所在系,后4位按顺序编号位按顺序编号 与其它数据项的逻辑关系:无与其它数据项的逻辑关系:无 数据项
17、数据项是数据的最小单位是数据的最小单位数据项描述数据项描述 数据项名,数据项含义说明,别名,数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义,数据类型,长度,取值范围,取值含义, 与其他数据项的逻辑关系,数据项之间的联系与其他数据项的逻辑关系,数据项之间的联系 上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析(2 2)数据结构)数据结构: : 数据结构是数据项有意义的集合。一个数据结构是数据项有意义的集合。一个数据结构可以由若干个数据项组成,也可以由若干个数据数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数
18、据结构混合组成。结构组成,或由若干个数据项和数据结构混合组成。例:数据结构名:学生例:数据结构名:学生 含义说明:是学藉管理子系统的主体数据结构,含义说明:是学藉管理子系统的主体数据结构, 定义一个学生的有关信息定义一个学生的有关信息 组成:学号、姓名、性别、出生年月、所在系组成:学号、姓名、性别、出生年月、所在系数据结构描述数据结构名,含义说明,数据结构描述数据结构名,含义说明, 组成组成:数据项或数据结构数据项或数据结构上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析(3) (3) 数据流数据流: : 数据流可以是数据项,也可以是数据结构,它表数据流可以
19、是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。示某一处理过程中数据在系统内传输的路径。数据流描述数据流描述 数据流名,说明,数据流来源,数据流名,说明,数据流来源, 数据流去向,组成数据流去向,组成:数据结构,数据结构, 平均流量,高峰期流量平均流量,高峰期流量例:例:数据流:体检结果数据流:体检结果 数据流去向:批准数据流去向:批准 说明:学生参加体格检查的最终结果说明:学生参加体格检查的最终结果 数据流来源:体检数据流来源:体检 组成:组成:平均流量:平均流量:高峰期流量:高峰期流量:上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求
20、分析(4) (4) 数据存储数据存储: : 处理过程中数据的存放场所,也是数据流的来源处理过程中数据的存放场所,也是数据流的来源和去向之一。和去向之一。例:数据存储:学生登记表例:数据存储:学生登记表 含义说明:记录学生的基本情况含义说明:记录学生的基本情况 组成:学号、姓名、性别、出生年月、所在系组成:学号、姓名、性别、出生年月、所在系 数据量:每年约数据量:每年约3000份份 存取方式:随机存取存取方式:随机存取数据存储描述数据存储名,说明,编号,数据存储描述数据存储名,说明,编号, 输入的数据流输入的数据流 ,输出的数据流,输出的数据流 , 组成组成:数据结构,数据量,存取频度,存取方式
21、数据结构,数据量,存取频度,存取方式上一页上一页下一页下一页返回首页返回首页4.2 4.2 数据库数据库需求分析需求分析(5) (5) 处理过程处理过程: : 用来描述处理过程的说明性信息。用来描述处理过程的说明性信息。 处理过程描述处理过程名,说明,输入处理过程描述处理过程名,说明,输入:数据流,数据流, 输出输出:数据流,处理数据流,处理:简要说明简要说明 输出:宿舍安排输出:宿舍安排 每个学生的居住面积不小于每个学生的居住面积不小于3平方米。平方米。 处理过程:分配宿舍处理过程:分配宿舍 说明:为所有新生分配学生宿舍说明:为所有新生分配学生宿舍 输入:学生,宿舍输入:学生,宿舍处理:在新
22、生报到后,为所有新生分配学生宿舍。处理:在新生报到后,为所有新生分配学生宿舍。 安排新生宿舍其处理时间应不超过安排新生宿舍其处理时间应不超过15分钟分钟上一页上一页下一页下一页返回首页返回首页4.3 4.3 数据库数据库结构设计结构设计概念结构设计概念结构设计: :逻辑结构设计逻辑结构设计: :物理结构设计物理结构设计: :通过对用户需求进行综合、归纳与抽象,形通过对用户需求进行综合、归纳与抽象,形成一个独立于具体成一个独立于具体DBMSDBMS的的概念模型概念模型 ( (E-RE-R图图) )将概念结构转换为某个将概念结构转换为某个DBMSDBMS所支持的所支持的数据数据模型模型, ,如关系
23、模型,形成数据库逻辑模式与如关系模型,形成数据库逻辑模式与外模式。外模式。设计数据的设计数据的存取方法和存储结构存取方法和存储结构, ,是形成是形成 数据库的内模式数据库的内模式, ,如数据库文件或目录、如数据库文件或目录、索引等索引等上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计1.1.什么是概念结构设计什么是概念结构设计 将需求分析得到的用户需求抽象为将需求分析得到的用户需求抽象为概念模型概念模型的过的过程就是概念结构设计程就是概念结构设计 概念模型是不依赖于计算机和具体的概念模型是不依赖于计算机和具体的DBMSDBMS,从而从而更加稳定。更加稳定。 概念结构设
24、计是整个数据库设计的关键概念结构设计是整个数据库设计的关键上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计2. 2. 概念结构设计的特点概念结构设计的特点 有丰富的语义表达能力。有丰富的语义表达能力。能真实、充分地反映现实能真实、充分地反映现实 世界,包括事物和事物之间的联系,能满足用户对世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。数据的处理要求。是对现实世界的一个真实模型。 易于交流和理解。易于交流和理解。从而可以用它和不熟悉计算机的从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成用户交换意见,用户
25、的积极参与是数据库的设计成功的关键。功的关键。 易于更改易于更改. .当应用环境和应用要求发生变化时,能当应用环境和应用要求发生变化时,能 很容易对概念模型进行修改,以反映这些变化。很容易对概念模型进行修改,以反映这些变化。 易于向各种数据模型转换易于向各种数据模型转换. .易于导出与易于导出与DBMSDBMS有关的有关的逻辑模型。逻辑模型。上一页上一页下一页下一页返回首页返回首页v 自底向上:先定义每个自底向上:先定义每个局部应用的概念结构,局部应用的概念结构,然后按一然后按一定的规则把它们集成起来,从而得到定的规则把它们集成起来,从而得到全局概念模型。全局概念模型。一一. .概念结构设计概
26、念结构设计3.3.概念结构设计的策略概念结构设计的策略 v自顶向下:先定义全局概念模型,然后再逐步细化。自顶向下:先定义全局概念模型,然后再逐步细化。v 由里向外:先定义最重要的核心结构,然后再逐步向外扩展。由里向外:先定义最重要的核心结构,然后再逐步向外扩展。v 混合策略:混合策略:将将自顶向下和自底向上结合起来使用。先用自顶向自顶向下和自底向上结合起来使用。先用自顶向 下设计一个概念结构的框架,然后以它为框架再用自底向上设下设计一个概念结构的框架,然后以它为框架再用自底向上设 计局部概念结构,并把它们集成。计局部概念结构,并把它们集成。最常用的设计策略是最常用的设计策略是自底向上策略。自底
27、向上策略。上一页上一页下一页下一页返回首页返回首页概念结构设计概念结构设计自底向上策略自底向上策略(常用)(常用)上一页上一页下一页下一页返回首页返回首页概念结构设计概念结构设计自顶向下策略自顶向下策略上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计4.4. 采用采用E-RE-R模型方法的概念结构设计模型方法的概念结构设计 采用采用E-RE-R方法的概念结构设计可分为如下三步:方法的概念结构设计可分为如下三步:1)1)设计局部设计局部E-RE-R模型。模型。局部局部E-RE-R模型的设计内容包括确定局部模型的设计内容包括确定局部E-RE-R模型的范围、定义实体、联系以
28、及它们的属性。模型的范围、定义实体、联系以及它们的属性。2)2)设计全局设计全局E-RE-R模型。模型。这一步是将所有局部这一步是将所有局部E-RE-R图集成为一个图集成为一个全局全局E-RE-R图,即全局图,即全局E-RE-R模型。模型。3)3)优化全局优化全局E-RE-R模型模型 上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计图73(1)(1)设计局部设计局部E-RE-R模型模型v 设计局部设计局部E-RE-R模型的关键就是正确划分实体和属性。模型的关键就是正确划分实体和属性。v 将现实世界中的事物进行将现实世界中的事物进行数据抽象,数据抽象,可以得到实体和属性
29、。可以得到实体和属性。v 三种常用抽象方法:三种常用抽象方法:分类分类(ClassificationClassification) 将一类具有共同特性和行为的对象定义为一种类型,将一类具有共同特性和行为的对象定义为一种类型, 在在E-RE-R模型中的实体型就是这种抽象,如学生,课程模型中的实体型就是这种抽象,如学生,课程它抽象的是它抽象的是对象值和型对象值和型之间的之间的“is member of”is member of”的语义的语义学生学生“is member of”张英王平赵斌实体型课程“is member of”C语言数据库操作系统实体型上一页上一页下一页下一页返回首页返回首页一一.
30、.概念结构设计概念结构设计概括概括(GeneralizationGeneralization)定义类型之间的一种子集联系定义类型之间的一种子集联系它抽象了类型之间的它抽象了类型之间的“is subset of”is subset of”的语义的语义概括有一个很重要的性质:继承性。概括有一个很重要的性质:继承性。 子类继承超类上定义的所有抽象。子类继承超类上定义的所有抽象。Is a subset of学生本科生研究生超类子类Is a part of学生实体型属性学号姓名性别 聚集聚集(AggregationAggregation) 定义某一类型的组成成分定义某一类型的组成成分 它抽象了对象内部类
31、型和成分之间它抽象了对象内部类型和成分之间 “is part of”is part of”的语义的语义上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计(1) )设计局部设计局部E-RE-R模型模型v 利用利用抽象机制抽象机制对需求分析阶段收集的数据进行分析,标定局对需求分析阶段收集的数据进行分析,标定局部应用中的实体、属性、码,实体间的联系部应用中的实体、属性、码,实体间的联系, ,设计设计局部局部E-RE-R图图(2)(2)设计全局设计全局E-RE-R模型模型 方法:方法:一次集成:一次性将多个局部图合并为一个全局一次集成:一次性将多个局部图合并为一个全局E-RE-
32、R图图逐步累积式:首先集成两个局部逐步累积式:首先集成两个局部E-RE-R图(通常是比较关键的图(通常是比较关键的两个局部两个局部E-RE-R图)以后每次将一个新的图)以后每次将一个新的E-RE-R视图集成进来视图集成进来 上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计(2)(2)设计全局设计全局E-RE-R模型模型 当将局部当将局部E-RE-R图集成为全局图集成为全局E-RE-R图时,图时,关键:合理消除关键:合理消除各局部各局部E-RE-R图图合并时产生的合并时产生的的冲突的冲突 上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计(2)(
33、2)设计全局设计全局E-RE-R模型模型 当将局部当将局部E-RE-R图集成为全局图集成为全局E-RE-R图时,图时,关键:合理消除关键:合理消除各局部各局部E-RE-R图图合并时产生的合并时产生的的冲突的冲突 上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计图73(2)(2)设计全局设计全局E-RE-R模型模型 当将局部当将局部E-RE-R图集成为全局图集成为全局E-RE-R图时,图时,关键:合理消除关键:合理消除各局部各局部E-RE-R图图合并时产生的合并时产生的的冲突的冲突 上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计(3)(3)优
34、化全局优化全局E-RE-R模型模型 一个好的全局一个好的全局E-RE-R模型除了能反映用户功能需求外,还模型除了能反映用户功能需求外,还应满足如下条件:应满足如下条件:v实体个数尽可能少;实体个数尽可能少;v实体所包含的属性尽可能少;实体所包含的属性尽可能少;v实体间联系无冗余。实体间联系无冗余。 优化的目的就是要满足上述三个条件优化的目的就是要满足上述三个条件.上一页上一页下一页下一页返回首页返回首页一一. .概念结构设计概念结构设计方法方法: :一般是把具有相同主码的实体进行合并一般是把具有相同主码的实体进行合并, , 消除消除冗余的属性冗余的属性( (数据数据) )和冗余联系和冗余联系冗
35、余的数据冗余的数据是指可由基本数据导出的数据,是指可由基本数据导出的数据,冗余的联系冗余的联系是指可由其他联系导出的联系。是指可由其他联系导出的联系。(3)(3)优化全局优化全局E-RE-R模型模型 冗余数据和冗余联系容易破坏数据库的完整性,给数据库冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难。维护增加困难。 并不是所有的冗余数据与冗余联系都必须加以消除,有时并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。为了提高某些应用的效率,不得不以冗余信息作为代价。 设计数据库概念结构时,哪些冗余信息必须消除,哪些冗设计数据库概念结构
36、时,哪些冗余信息必须消除,哪些冗余信息允许存在,需要根据用户的整体需求来确定。余信息允许存在,需要根据用户的整体需求来确定。上一页上一页下一页下一页返回首页返回首页举例举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页举例举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页举例举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页举例举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页举例
37、举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页举例举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页举例举例: :教务管理系统教务管理系统E-RE-R图设计图设计图73上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计v逻辑结构设计的任务逻辑结构设计的任务: : 是把概念结构设计阶段设计好的基本是把概念结构设计阶段设计好的基本E-RE-R图转换为图转换为具体的数据库管理系统支持的数据模型,也就是导出特具体的数据库管理系统支持的数据模型,也就是导出特定的定的DB
38、MSDBMS可以处理数据库的逻辑结构可以处理数据库的逻辑结构。v逻辑结构设计步骤:逻辑结构设计步骤:将概念模型转换为某种数据模型;将概念模型转换为某种数据模型;对数据模型进行优化。对数据模型进行优化。上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计1. E-R1. E-R模型向关系模型的转换模型向关系模型的转换 转换的一般规则转换的一般规则: :(1)(1)一个实体转换为一个关系模式一个实体转换为一个关系模式 关系的属性关系的属性: :实体的属性实体的属性 关系的码关系的码: :实体的码实体的码 例:例: 学生学生学号姓名性别年龄学生实体可以转换为如下关系模式:学生实
39、体可以转换为如下关系模式: 学生(学生(学号学号,姓名,性别,姓名,性别,年龄)年龄)上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计(2)(2)一个一个1 1:1 1联系可以转换为一个独立的关系模式,也可以与联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。任意一端所对应的关系模式合并。部门部门部门号部门名管理经理经理电话经理号 经理名11方法方法1: 1: 部门表部门表( (部门号部门号, ,部门名部门名) ) 经理表经理表( (经理号经理号, ,经理名经理名, ,电话电话) ) 管理管理( (经理号经理号, ,部门号部门号) ) 方法方法2
40、: 2: 部门表部门表( (部门号部门号, ,部门名部门名, ,经理号经理号) ) 经理表经理表( (经理号经理号, ,经理名经理名, ,电话电话) ) 经理号为引用经理表的外码经理号为引用经理表的外码方法方法3: 3: 部门表部门表( (部门号部门号, ,部门名部门名,) ,) 经理表经理表( (经理号经理号, ,部门号部门号, ,经理名经理名, ,电话电话) ) 部门号为引用部门表的外码部门号为引用部门表的外码注注: :在在1 1:1 1联系中一般不将联系单独作为一张表联系中一般不将联系单独作为一张表, ,因为这样转换出来的表太多因为这样转换出来的表太多, ,查询查询时时涉及的表个数越多涉
41、及的表个数越多, ,查询效率就越低查询效率就越低例:例:上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计(3)(3)一个一个1 1:n n联系可以转换为一个独立的关系模式,也可以与联系可以转换为一个独立的关系模式,也可以与任意任意n n端所对应的关系模式合并。端所对应的关系模式合并。部门部门部门号部门名工作职工职工工资职工号 职工名1n方法方法1: 1: 部门表部门表( (部门号部门号, ,部门名部门名) ) 职工表职工表( (职工号职工号, ,职工名职工名, ,工资工资) ) 工作工作( (部门号部门号, ,职工号职工号) ) 方法方法2:2: 部门表部门表( (部
42、门号部门号, ,部门名部门名) ) 职工表职工表( (职工号职工号, ,部门号部门号, ,职工名职工名, ,工资工资) ) 部门号为引用部门表的外码部门号为引用部门表的外码注注: :在在1 1:n n联系中一般不将联系单独作为一张表联系中一般不将联系单独作为一张表. .例:例:上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计(4)(4)一个一个m m:n n联系转换为一个独立的关系模式,联系转换为一个独立的关系模式,:与该联系相连的各实体的码以及联系本身的属性:与该联系相连的各实体的码以及联系本身的属性:各实体码的组合:各实体码的组合教师表教师表( (教师号教师号,
43、,教师名教师名, , 职称职称) ) 课程表课程表( (课程号课程号, ,课程名课程名, ,工资工资) )授课表授课表( (教师号教师号, ,课程号课程号, ,授课时数) () (教师号教师号, ,课程号课程号) )为主码为主码, ,教师教师号和课程号同时为外码。号和课程号同时为外码。教师教师教师号教师名授课课程课程学分课程号课程名mn学分授课时数例:例:上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计(5)(5)三个或三个以上实体间的一个多元联系转换为一个关系模式。三个或三个以上实体间的一个多元联系转换为一个关系模式。:与该多元联系相连的各实体的码以及联系本身的属性
44、:与该多元联系相连的各实体的码以及联系本身的属性 :各实体码的组合:各实体码的组合(6)具有具有相同相同码的关系模式可以合并码的关系模式可以合并。上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计2. 2. 数据数据模型的模型的优化优化 数据库逻辑设计的结果不是唯一的。数据库逻辑设计的结果不是唯一的。 得到初步数据模型后,还应该适当地修改、调整数得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。这就是数据模型的优化。 关系数据模型的优化通常以关系数据模型的优化
45、通常以规范化理论规范化理论为指导。为指导。上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计2. 2. 数据数据模型的模型的优化优化 确定各属性间的数据依赖。确定各属性间的数据依赖。对各个关系模式之间的数据依赖进行极小化处理,消除冗余的对各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。联系。 判断每个关系模式的范式,根据实际需要确定最合适的范式。判断每个关系模式的范式,根据实际需要确定最合适的范式。 根据需求分析阶段得到的处理要求,分析这些模式对于这样的根据需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行分解或合并。
46、应用环境是否合适,确定是否要对某些模式进行分解或合并。 对关系模式进行必要的对关系模式进行必要的分解分解,以提高数据的操作效率和存储空,以提高数据的操作效率和存储空间的利用率。间的利用率。 方法方法:上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计图732. 2. 数据数据模型的模型的优化优化 通常的两种分解方法通常的两种分解方法: :水平分解和垂直分解。水平分解和垂直分解。 K# A1 Am K# A1 Am K# A1 Am水平分解示意图水平分解示意图 K# A11 A1m A21 A2nK# A11 A1m K# A21 A2n垂直分解示意图垂直分解示意图如学生
47、情况表:如学生情况表:历史学生情况表、历史学生情况表、在校学生情况表。在校学生情况表。 如学生情况表:如学生情况表:学生基本信息表、学生基本信息表、学生家庭情况表。学生家庭情况表。 上一页上一页下一页下一页返回首页返回首页二二. .逻辑结构设计逻辑结构设计3. 3. 设计外模式设计外模式 将概念模型转换为逻辑数据模型之后,还应该根据局部应用需求,并将概念模型转换为逻辑数据模型之后,还应该根据局部应用需求,并结合具体的数据库管理系统的特点,设计用户的结合具体的数据库管理系统的特点,设计用户的外模式外模式。在定义外模式时可以考虑:在定义外模式时可以考虑: 使用更符合用户习惯的别名使用更符合用户习惯
48、的别名 对不同级别的用户定义不同的视图,以保证数据的安全对不同级别的用户定义不同的视图,以保证数据的安全 假设有关系模式假设有关系模式: :职工职工( (职工号职工号, ,姓名姓名, ,工作部门工作部门, ,学历学历, ,专业专业, ,职称职称, , 联系电话联系电话, ,基本工资基本工资, ,浮动工资浮动工资) ) 视图视图: :职工职工1 1( (职工号职工号, ,姓名姓名, ,工作部门工作部门, ,学历学历, ,专业专业, ,联系电话联系电话) ) 职工职工2 2( (职工号职工号, ,姓名姓名, ,学历学历, ,职称职称, ,联系电话联系电话, ,基本工资基本工资, ,浮动工资浮动工资
49、) ) 简化用户对系统的使用简化用户对系统的使用上一页上一页下一页下一页返回首页返回首页三三. .物理结构设计物理结构设计数据库的物理设计数据库的物理设计: :根据实际应用环境的要求,为数据库中的根据实际应用环境的要求,为数据库中的 数据选择一个最合适的物理结构。数据选择一个最合适的物理结构。 数据库的物理结构数据库的物理结构: : 指数据库在物理设备上的存储结构与指数据库在物理设备上的存储结构与 存取方法,它依赖于给定的计算机系统。存取方法,它依赖于给定的计算机系统。上一页上一页下一页下一页返回首页返回首页三三. .物理结构设计物理结构设计数据库的物理设计的步骤:数据库的物理设计的步骤:n
50、确定数据库的物理结构确定数据库的物理结构(在关系数据库中主要指:为关系模式选择存取方法在关系数据库中主要指:为关系模式选择存取方法 和设计关系、索引等数据库文件的物理存储结构)和设计关系、索引等数据库文件的物理存储结构)n 对物理结构进行评价,评价的重点是时间和空间效率。对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果如果评价结果满足满足原设计要求则可进入到物理原设计要求则可进入到物理实施阶段实施阶段,否则,就需要否则,就需要重新设计或修改物理结构重新设计或修改物理结构,有时甚至要返回,有时甚至要返回逻辑设计阶段修改数据模型。逻辑设计阶段修改数据模型。上一页上一页下一页下一页返回首
51、页返回首页三三. .物理结构设计物理结构设计1.1.确定数据库的物理结构确定数据库的物理结构(1) (1) 确定存取方法确定存取方法 存取方法是快速存取数据库中的数据的技术,数据库存取方法是快速存取数据库中的数据的技术,数据库管理系统一般都提管理系统一般都提供多种存取方法供多种存取方法 。DBMSDBMS常用存取方法常用存取方法索引方法,索引方法,目前主要是目前主要是B+B+树索引方法树索引方法聚簇(聚簇(ClusterCluster)方法方法HASHHASH方法方法上一页上一页下一页下一页返回首页返回首页三三. .物理结构设计物理结构设计 索引(索引(indexindex)存取方法存取方法
52、选择索引存取方法的一般规则选择索引存取方法的一般规则: : 如果一个如果一个( (或一组或一组) )属性经常在查询条件中出现,则考虑在这属性经常在查询条件中出现,则考虑在这个个( (或这组或这组) )属性上建立索引属性上建立索引( (或组合索引或组合索引) ) 如果一个属性经常作为最大值和最小值等聚集函数的参数,如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引则考虑在这个属性上建立索引 如果一个如果一个( (或一组或一组) )属性经常在连接操作的连接条件中出现,属性经常在连接操作的连接条件中出现,则考虑在这个则考虑在这个( (或这组或这组) )属性上建立索引属性上
53、建立索引上一页上一页下一页下一页返回首页返回首页三三. .物理结构设计物理结构设计图73优点:可以大大提高查询效率,节省存储空间优点:可以大大提高查询效率,节省存储空间聚簇(聚簇(Cluster)存取方法存取方法为了提高查询速度,把在一个(或一组)属性上具有相为了提高查询速度,把在一个(或一组)属性上具有相 同值的元组集中地存放在一个物理块中。如果存放不同值的元组集中地存放在一个物理块中。如果存放不 下,可以存放在相邻的物理块中。其中,这个(或这下,可以存放在相邻的物理块中。其中,这个(或这 组)属性称为聚簇码。组)属性称为聚簇码。上一页上一页下一页下一页返回首页返回首页三三. .物理结构设计
54、物理结构设计 HashHash存取方法存取方法 选择选择HashHash存取方法的一般规则存取方法的一般规则: :如果一个关系的属性主要出现在等值连接条件中或主要出现在如果一个关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中,而且满足下列两个条件之一,则此关系相等比较选择条件中,而且满足下列两个条件之一,则此关系可以选择可以选择HASHHASH存取方法:存取方法: (1 1)如果一个关系的大小可预知,而且不变;)如果一个关系的大小可预知,而且不变; (2 2)如果关系的大小动态改变,而且数据库管理系统)如果关系的大小动态改变,而且数据库管理系统 提供了动态提供了动态HASHHA
55、SH存取方法。存取方法。上一页上一页下一页下一页返回首页返回首页三三.物理结构设计物理结构设计(2) (2) 确定数据库存储结构确定数据库存储结构例例: (1) 如果计算机有多个磁盘,可以将表和索引分别存放在不同的磁盘上,如果计算机有多个磁盘,可以将表和索引分别存放在不同的磁盘上,在查询时,由于两个磁盘驱动器并行工作,可以提高物理读写的速度。在查询时,由于两个磁盘驱动器并行工作,可以提高物理读写的速度。(2)(2)数据库的数据备份、日志文件备份等,只在数据库发生故障进行恢复时数据库的数据备份、日志文件备份等,只在数据库发生故障进行恢复时才使用,而且数据量很大,可以存放在磁带上。才使用,而且数据
56、量很大,可以存放在磁带上。(3)(3)可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效环境下特别有效 (4)(4)可以将日志文件与数据库对象(表、索引等)放在不同的磁盘可以将日志文件与数据库对象(表、索引等)放在不同的磁盘, ,以改进系以改进系统的性能统的性能u确定数据的存放位置确定数据的存放位置1.1.确定数据库的物理结构确定数据库的物理结构基本原则:根据应用情况将基本原则:根据应用情况将易变部分与稳定部分分开存放易变部分与稳定部分分开存放 存取频率较高部分与存取频率较低部分分开存放。存取频率较高部分与
57、存取频率较低部分分开存放。上一页上一页下一页下一页返回首页返回首页三三.物理结构设计物理结构设计u确定系统配置确定系统配置DBMSDBMS产品一般都提供了一些系统配置变量和存储分配参数,供产品一般都提供了一些系统配置变量和存储分配参数,供设计人员和设计人员和DBADBA对数据库进行物理优化。系统为这些变量设定了对数据库进行物理优化。系统为这些变量设定了初始值,但是这些值不一定适合每一种应用环境,在物理设计阶初始值,但是这些值不一定适合每一种应用环境,在物理设计阶段,要根据实际情况重新对这些变量赋值,以满足新的要求。段,要根据实际情况重新对这些变量赋值,以满足新的要求。系统配置变量很多。例如:同
58、时使用数据库的用户数、同时打系统配置变量很多。例如:同时使用数据库的用户数、同时打开的数据库对象数、内存分配参数、使用的缓冲区长度和个数、开的数据库对象数、内存分配参数、使用的缓冲区长度和个数、存储分配参数、数据库的大小等,这些参数值影响存取时间和存存储分配参数、数据库的大小等,这些参数值影响存取时间和存储空间的分配,在物理设计时要根据应用环境确定这些参数值,储空间的分配,在物理设计时要根据应用环境确定这些参数值,以使系统的性能达到最优。以使系统的性能达到最优。 (2) (2) 确定数据库存储结构确定数据库存储结构1.1.确定数据库的物理结构确定数据库的物理结构上一页上一页下一页下一页返回首页
59、返回首页三三. .物理结构设计物理结构设计2.2.评价物理结构评价物理结构 (1)评价内容)评价内容对数据库物理设计过程中产生的多种方案进行细致的评对数据库物理设计过程中产生的多种方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构价,从中选择一个较优的方案作为数据库的物理结构 。(2)评价方法)评价方法 主要从存储空间、存取时间主要从存储空间、存取时间 、维护代价等这几个方面、维护代价等这几个方面定量估算各种方案定量估算各种方案 对估算结果进行权衡、比较,选择出一个合理的物理结构对估算结果进行权衡、比较,选择出一个合理的物理结构 如果该结构不符合用户需求,则需要修改设计如果该结构不
60、符合用户需求,则需要修改设计 上一页上一页下一页下一页返回首页返回首页4.4.4 4 数据库数据库的实施的实施 数据库实施的工作内容:数据库实施的工作内容: 用用DDLDDL定义数据库结构定义数据库结构 组织数据入库组织数据入库 编制与调试应用程序编制与调试应用程序 数据库试运行数据库试运行上一页上一页下一页下一页返回首页返回首页4.5 4.5 数据库数据库的实施的实施1. 定义数据库结构定义数据库结构用所选用的用所选用的DBMS提供的数据定义语言(提供的数据定义语言(DDL)来严来严格描述数据库结构。格描述数据库结构。 在这些基本表上定义视图:在这些基本表上定义视图:CREATE VIEW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人入股合作协议书样本:金融科技股权投资合同4篇
- 2025个人商品房买卖合同补充协议范本制作指南
- 二零二五版高端别墅门窗定制合同样本4篇
- 强制退股协议书(2篇)
- 工程合同条款承包协议书
- 2024年中级经济师考试题库及参考答案(预热题)
- 设备装卸施工方案
- 二零二五版美容院美甲美睫技术培训合同3篇
- 通省隧道施工方案
- 二零二五年度棉被产品进出口贸易合作框架协议4篇
- 垃圾处理厂工程施工组织设计
- 2024-2030年中国IVD(体外诊断)测试行业市场发展趋势与前景展望战略分析报告
- 碎纸机设计说明书
- 湖南省长沙市青竹湖湘一外国语学校2021-2022学年八年级下学期期中语文试题
- 2024年股权代持协议经典版(3篇)
- 四川省成都市青羊区石室联中学2024年八年级下册物理期末学业水平测试试题含解析
- 门诊导医年终工作总结
- 新生物医药产业中的人工智能药物设计研究与应用
- 损失补偿申请书范文
- 压力与浮力的原理解析
- 铁路损伤图谱PDF
评论
0/150
提交评论