数据库系统概论-第七章课件_第1页
数据库系统概论-第七章课件_第2页
数据库系统概论-第七章课件_第3页
数据库系统概论-第七章课件_第4页
数据库系统概论-第七章课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章数据库设计数据库设计概述需求分析概念结构设计逻辑结构设计数据库的物理设计数据库的实施和维护第七章数据库设计数据库设计概述1数据库设计定义广义:是数据库及其应用系统的设计狭义:设计数据库本身一般定义:是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。

数据库设计定义2数据库建设基本规律三分技术、七分管理和十二分基础数据数据库设计应该与应用系统设计相结合结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等7.1.1数据库设计的特点7.1数据库设计概述数据库建设基本规律7.1.1数据库设计的特点7.1数据37.1.2数据库设计的方法

手工与经验相结合的方法规范设计法:如新奥尔良方法,将数据库设计分为若干阶段,并采用一些辅助手段实现每一过程。基于E-R模型的设计方法:用E-R模型设计数据库的概念模型

3NF的设计方法:用关系理论指导设计数据库的逻辑模型

ODL方法:用面向对象方法设计数据库结构7.1.2数据库设计的方法手工与经验相结合的方法47.1.3数据库设计的基本步骤一、数据库设计的准备工作参加数据库设计的人员:1)数据库分析设计人员,其水平决定了数据库系统的质量

(1)数据库设计的核心人员

(2)自始至终参与数据库的设计2)管理员和用户

(1)参与需求分析

(2)参与数据库的运行维护3)程序员和操作员,在系统实施阶段参与进来

(1)负责编制程序

(2)准备软硬件环境7.1.3数据库设计的基本步骤一、数据库设计的准备工作参51)需求分析综合各个用户的应用需求,是整个设计过程的基础;2)概念结构设计

通过对用户需求进行综合、归纳与抽象,形成独立于机器特点,独立于各个DBMS产品的概念模式;3)逻辑结构设计将概念结构转换成具体的数据库产品支持的数据模型,并对其模型进行优化,形成数据库逻辑模式;二、数据库设计的阶段需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行维护1)需求分析二、数据库设计的阶段需求分析、概念结构设计64)数据库物理设计

-为逻辑数据模型选取合适的物理结构(包括存储结构和存取方法);5)数据库实施-编制与调试应用程序,组织数据入库,并进行试运行;6)数据库运行维护-正式运行,并不断对其进行评价、调整和修改。4)数据库物理设计7应用要求应用要求应用要求应用要求应用1应用2应用3应用4综合概念模式逻辑模式内模式转换转换外模式外模式外模式外模式应用1应用2应用3应用47.1.4数据库各级模式的形成过程映像应用要求应用要求应用要求应用要求应用1应用2应用3应用4综合87.2需求分析1详细调查现实世界要处理的对象2充分了解原系统的工作概况3明确用户的各种需求4确定新系统的功能5考虑今后的扩充性7.2.1.需求分析的任务7.2需求分析1详细调查现实世界要处理的对象7.2.9需求分析的难点:用户缺少计算机知识,无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化。设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。新的硬件、软件技术的出现也会使用户需求发生变化。-与用户不断深入地进行交流,才能逐步得以确定用户的实际需求解决方法:需求分析的难点:用户缺少计算机知识,无法一下子准确地表达自己10概念设计阶段需求分析阶段熟悉业务活动明确用户需求确定系统边界分析系统功能分析系统数据编写分析报告调查机构情况数据字典DD数据流图DFD数据库设计人员和用户功能模块图一、需求分析的步骤7.2.2需求分析的方法概念需求分析阶段熟悉明确确定分析分析编写调查11数据来源数据存储数据输出处理数据流数据流信息要求处理要求二、需求分析的方法结构化分析方法(SA):是从最上层的系统组织机构入手,采用自顶向下,逐层分解的方式分析系统,并用数据流图和数据字典描述系统。

SA方法把任何一个系统抽象为如下形式。数据来源数据存储数据输出处理数据流数据流信息要求处理要求二、12三、数据流图(DFD,DataFlowDiagram)

描述数据在系统中流动和变换的过程,表达了数据和处理过程的关系;以图形的方式刻画数据从输入到输出的移动变换过程;数据流程分析的主要工具;系统分析人员与用户进行交流的手段和系统设计的主要依据之一基本组成:

外部项:各种实体。数据处理逻辑:描述系统对信息进行处理的逻辑功能。数据存储:逻辑意义上的数据存储环节数据流:数据结构在系统内的传输路径。三、数据流图(DFD,DataFlowDiagram13课程管理的数据流图课程管理的数据流图147.2.3数据字典一、数据字典的用途

数据字典是各类数据描述的集合,数据收集和数据分析所获得的主要结果;它所描述的对象都包含于数据流图中,是对数据说明,而不是数据本身;它是一个动态文件,在数据库开发过程中不断的更新。二、数据字典的组成:数据项数据结构数据流数据存储处理过程7.2.3数据字典一、数据字典的用途二、数据字典的组成15(1)数据项是不可再分的数据单位;

数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}数据项:以“学号”为例

数据项:学号

含义说明:唯一标识每个学生

别名:学生编号

类型:字符型

长度:8

取值范围:00000000至99999999

取值含义:前两位表示该学生所在年级,后六位按顺序编号(1)数据项数据项:以“学号”为例16(2)数据结构一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}数据结构:以“学生”为例

数据结构:学生

含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息

组成:学号,姓名,性别,年龄,所在系,年级(2)数据结构数据结构:以“学生”为例17(3)数据流数据流是数据结构在系统内传输的路径。数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}数据流:“体检结果”可如下描述:

数据流:体检结果

说明:学生参加体格检查的最终结果

数据流来源:体检

数据流去向:批准

组成:……

平均流量:……

高峰期流量:……(3)数据流数据流:“体检结果”可如下描述:18(4)数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}数据存储:“学生登记表”可如下描述:

数据存储:学生登记表

说明:记录学生的基本情况

流入数据流:……

流出数据流:……

组成:……

数据量:每年3000张

存取方式:随机存取(4)数据存储数据存储:“学生登记表”可如下描述:19(5)处理过程处理过程的具体处理逻辑,一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息处理过程说明性信息的描述:

处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}处理过程:“分配宿舍”可如下描述:

处理过程:分配宿舍

说明:为所有新生分配学生宿舍

输入:学生,宿舍输出:宿舍安排

处理:在新生报到后,为所有新生分配学生宿舍。要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。每个学生的居住面积不小于3平方米。安排新生宿舍其处理时间应不超过15分钟。(5)处理过程处理过程:“分配宿舍”可如下描述:

处理207.3概念结构设计7.3.1概念结构概念结构设计:将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计.现实世界机器世界信息世界需求分析概念结构设计逻辑结构设计物理结构设计概念结构设计的重点是信息结构的设计,它独立于逻辑结构设计和DBMS7.3概念结构设计7.3.1概念结构概念结构设计:现21概念结构设计的特点:(1)能真实、充分地反映现实世界(2)易于理解(3)易于更改(4)易于向关系、网状、层次等各种数据模型转换描述概念模型的工具:E-R模型概念结构设计的特点:描述概念模型的工具:E-R模型227.3.2概念结构设计的方法与步骤设计概念结构的四类方法:♦自顶向下♦自底向上♦逐步扩张♦混合策略7.3.2概念结构设计的方法与步骤设计概念结构的四类方法23常用策略:自底向上

自顶向下地进行需求分析;自底向上地设计概念结构常用策略:自底向上24自底向上设计概念结构的步骤:第1步:抽象数据并设计局部视图;第2步:集成局部视图,得到全局概念结构.逻辑结构设计视图集成需求分析抽象数据设计局部视图分E-R图总E-R图返回用户征求意见直至满意自底向上设计概念结构的步骤:逻视需抽象分E-R图总E-R图25一、数据抽象1.分类定义某一类概念作为现实世界中一组对象的类型;这些对象具有某些共同的特性和行为;它抽象了对象值和型之间的“ismemberof”的语义;在E-R模型中,实体型就是这种抽象.7.3.3数据抽象与局部视图设计一、数据抽象1.分类7.3.3数据抽象与局部视图设计262.聚集定义某一类型的组成成分;它抽象了对象内部类型和成分之间“ispartof”的语义;在E-R模型中若干属性的聚集组成了实体型,就是这种抽象。2.聚集273.概括定义类型之间的一种子集联系它抽象了类型之间的“issubsetof”的语义概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。3.概括28二、局部视图设计1)选择局部应用

选择一个适当层次的数据流图,图中每一部分对应一个局部应用.

2)逐一设计分E-R图

标定局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型,并进行必要的调整。设计分E-R图的具体步骤:

二、局部视图设计1)选择局部应用2)逐一设计分E-R图29课程管理局部应用分E-R图

在课程管理局部应用中主要涉及实体的属性:学生:{姓名,学号,性别,年龄,所在系,年级,平均成绩}课程:{课程号,课程名,学分}教师:{职工号,姓名,性别,职称}教科书:{书号,书名,价钱}教室:{教室编号,地址,容量}课程管理局部应用分E-R图30班级开设选修讲授教室编号姓名书号书名价钱职称性别年龄课程名地址课程号学分姓名职工号容量性别11mn11课程管理局部应用的E-R图n成绩教学mn年级学号所在系教室课程学生教科书教师平均成绩班级开设选修讲授教室编号姓名书号书名价钱职称性别年龄课程名地317.3.4视图的集成(E-R)1(E-R)n(E-R)2

初步E-R基本E-R(E-R)1(E-R)2(E-R)12(E-R)3

初步E-R基本E-R一次集成逐步集成7.3.4视图的集成(E-R)1(E-R)n(E-R)232视图集成的步骤视图集成的步骤33(1)属性冲突——讨论、协商等解决

1)属性域冲突:(1)属性值的类型;(2)取值范围

2)属性取值单位冲突

(2)命名冲突——讨论、协商等解决

1)同名异义;2)异名同义

(3)结构冲突——根据应用的语义对实体联系的类型进行综合或调整

1)同一对象在不同应用中有不同的抽象

2)同一实体在不同的局部应用中属性组成不同(个数,次序)3)同一联系,在不同应用中呈现不同类型1.合并分E-R图,解决冲突,生成初步E-R图(1)属性冲突——讨论、协商等解决1.合并分E-R34实例:命名冲突:

1)学籍管理中的班主任实体与课程管理中的教师实体在一定程度上属于异名同义.是否优秀班主任职工号姓名性别班主任职称姓名职工号性别教师职称姓名职工号性别是否优秀班主任教师实例:命名冲突:

1)学籍管理中的班主任实体与课程管35教师教学mn学生学生教学教师mn教师学生指导1n班主任2)学籍管理中教师与学生之间的指导联系,课程管理中教师与学生之间的教学联系,将这两种联系综合为教学联系。教师教学mn学生学生教学教师mn教师学生指导1n班主任236结构冲突:在两个局部E-R图中,学生实体属性组成及次序都存在差异,应将所有属性综合,并重新调整次序。姓名学号平均成绩学生姓名年龄平均成绩年级学号所在系学生出生日期姓名年龄平均成绩年级学号所在系学生结构冲突:姓名学号平均成绩学生姓名年龄平均成绩年级学号所在系37数据库系统概论-第七章ppt课件38◆冗余的数据:可由基本数据导出◆冗余的联系:可由其他联系导出2.修改和重构,消除冗余,生成基本E-R图冗余数据和冗余联系举例:(1)学生实体中的年龄属性可以由出生日期推算出来,属于冗余数据,应该去掉。(2)教室实体与班级实体之间的上课联系可以由教室与课程之间的开设联系、课程与学生之间的选修联系、学生与班级之间的组成联系三者推导出来。(3)学生实体中的平均成绩可从选修联系中的成绩属性中推算出来,可消除。◆冗余的数据:可由基本数据导出2.修改和重构,消除冗余,39分析方法以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。消除冗余的方法规范化理论♦确定分E-R图实体之间的数据依赖,得到函数依赖集F♦求函数依赖的最小覆盖集G,计算D=F-G♦逐步考察D中的函数依赖,删除冗余的联系分析方法消除冗余的方法规范化理论407.4逻辑结构设计把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构.

逻辑结构设计7.4逻辑结构设计把概念结构设计阶段设计好的41逻辑结构设计步骤物理设计阶段概念设计阶段一般数据模型关系、网状、层次特定的DBMS支持的数据模型逻辑模型优化模型基本E-R图转换规则DBMS的特点与限制优化方法逻辑结构设计步骤物理设计阶段概念一般数据模型特定的DBMS427.4.1E-R图向关系模型的转换7.4.1E-R图向关系模型的转换431)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。出生日期姓名平均成绩年级学号所在系学生转换规则:学生(学号,姓名,出生日期,所在系,年级,平均成绩)1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,442)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。班级管理是否优秀班主任职工号姓名班级号学生人数性别11职称教师班级管理(职工号,班级号)或

管理(职工号,班级号)班级(班级号,学生人数,职工号)教师(职工号,姓名,性别,职称,班级号,是否为优秀班主任)2)一个1:1联系班级管理是否优秀班主任职工号姓名班级号453)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。班级组成1n学号班级号年级姓名出生日期所在系平均成绩学生人数班级学生除学生关系、班级关系外,还有组成(学号,班级号)或合并到:学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)3)一个1:n联系班级组成1n学号班级号年级姓名出生日期464)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或者关系码的一部分。课程学生mn年级学号姓名出生日期所在系平均成绩课程号课程名学分成绩选修关系模式:选修(学号,课程号,成绩)4)一个m:n联系转换为一个关系模式。课程学生mn年级学号475)3个或3个以上实体间的一个多元联系转换为一个关系模式与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或者关系码的一部分。书号职工号1n班级1教科书教师课程讲授书名价钱职称姓名性别课程名学分是否优秀班主任课程号讲授(课程号,职工号,书号)5)3个或3个以上实体间的一个多元联系转换为一个关系模式48例:拥有(学号,性别)学生(学号,姓名,出生日期,所在系,年级,班级号,平均成绩)学生(学号,姓名,性别,出生日期,所在系,年级,班级号,平均成绩)领导1n学生将领导联系与学生实体合并,增设班长属性存放班长学号。

学生(学号,

姓名,班长

…)7)具有相同码的关系模式可合并。合并方法是将其中一个关系模式的全部属性加入到另一个关系模式中,去掉其中的同义属性,调整属性的次序。

6)同一实体集的实体间的联系,自联系。可按1:1、1:n、m:n三种情况分别处理。例:拥有(学号,性别)学生(学号,姓名,性别,出生日期49优化数据模型的方法:确定数据依赖;对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系;对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式;分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解;对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率。常用分解方法:水平分解;垂直分解7.4.2数据模型的优化优化数据模型的方法:确定数据依赖;7.4.2数据模型的优507.4.3设计用户子模式使用更符合用户习惯的别名;针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。简化用户对系统的使用定义用户外模式的原则7.4.3设计用户子模式使用更符合用户习惯的别名;定义用517.5数据库物理设计定义:为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计.7.5数据库物理设计定义:为一个给定的逻辑数据模型选取一个52数据库物理设计阶段实施阶段数据库物理设计阶段逻辑设计阶段确定数据库的物理结构评价数据库的物理结构物理模型逻辑模型数据库物理设计阶段实施数据库物理设计阶段逻辑确定评价537.5.1数据库物理设计的内容和方法1.充分了解应用环境,详细分析要运行的事务,以获得选择物理数据库设计所需参数;

设计物理数据库结构的准备工作2.充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构.关系数据库物理设计的内容1.为关系模式选择存取方法(建立存取路径)2.设计关系、索引等数据库文件的物理存储结构7.5.1数据库物理设计的内容和方法1.充分了解应用环547.5.2关系模式存取方法选择►DBMS常用存取方法:

索引方法聚簇方法HASH方法7.5.2关系模式存取方法选择►DBMS常用存取方法:55一、索引存取方法的选择索引存取方法

♦对哪些属性列建立索引♦对哪些属性列建立组合索引♦对哪些索引要设计为唯一索引2.选择索引存取方法的一般规则♦经常在查询条件中出现的属性♦经常作为最大值和最小值等聚集函数的参数的属性♦经常在连接操作的连接条件中出现的属性一、索引存取方法的选择索引存取方法2.选择索引存取56二、聚簇存取方法的选择为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇。1.什么是聚簇假设学生关系按所在系建有索引,现在要查询信息系的所有学生名单。信息系的500名学生分布在500个不同的物理块上时,至少要执行500次I/O操作。如果将同一系的学生元组集中存放,则每读一个物理块可得到多个满足查询条件的元组,从而显著地减少了访问磁盘的次数。2.聚簇索引的优点举例:二、聚簇存取方法的选择为了提高某个属性(或属性组57A设计候选聚簇♦对经常在一起进行连接操作的关系可以建立组合聚簇;♦对经常出现在相等比较条件中的属性建立聚簇索引;♦对一个(或一组)属性上的值重复率很高的属性可建立聚簇。3.选择聚簇存取方法B检查候选聚簇中的关系,取消其中不必要的关系♦从独立聚簇中删除经常进行全表扫描的关系;♦从独立/组合聚簇中删除更新操作远多于查询操作的关系;♦从独立/组合聚簇中删除重复出现的关系。A设计候选聚簇3.选择聚簇存取方法B检查候选聚簇中的关58三、HASH存取方法的选择如果一个关系的属性主要出现在等值连接条件中或相等比较选择条件中。而且满足下列两个条件之一,则此关系可以选择HASH存取方法:(1)如果一个关系的大小可以预知,而且不变;(2)如果关系的大小可以动态改变,而且数据库管理系统提供了动态HASH存取方法.选择HAS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论