版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章
数据库设计§6.1数据库设计概述§6.2需求分析§6.3概念结构设计§6.4逻辑结构设计§6.5数据库的物理设计§6.6数据库实施和维护数据库的设计中体现出的特征:lllnnn涉及的知识面广,研制的周期长,是一门综合性的技术,需要----数据库的基本知识和数据库设计技术,计算机科学基础知识及程序设计技巧,软件工程的原理和方法,应用领域的知识等。通过本章的学习,应该重点掌握:数据库设计的概念;需求分析阶段的任务;概念结构设计阶段的任务与实现方法;逻辑结构设计阶段的任务与实现方法;物理结构设计阶段要考虑的任务;数据库的实现与维护。§6.1数据库设计概述§6.1.1数据库设计的任务、内容和特点§6.1.2数据库设计方法§6.1.3数据库设计的基本步骤现代信息系统建设,信息资源开发、利用,最有效的手段,核心问题是数据库技术。只有合理地利用数据库技术,科学合理地组织信息资源,才能保证数据的完整性、一致性和共享性。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。§6.1.1数据库设计的任务、内容和特点一、数据库设计的任务数据库设计的----是指,对于一个给定的应用环境,信息求需)求。处理需求l 构造最优的数据库模式,
l 建立数据库及其应用系统,n
使之能有效地存储数据,n满足各种用户的需求(信息要求和处理要信息需求数据库设计典型应用程序DBMS特性硬件和操作系统特性二、数据库设计的内容数据库设计包括:l
数据库的结构设计
l数据库的行为设计两方面的内容。1.数据库的结构设计指根据给定的应用环境,进行数据库的模式或子模式的设计。包括数据库的概念设计、逻辑设计和物理设计。数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。2.数据库的行为设计指确定数据库用户的行为和动作。而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。三、数据库、信息系统与人员之间的联系信息系统的核心是数据库,数据是稳定的。信息系统建设是“三分技术,七分管理,十二分数据”。数据库设计是IS开发建设的重要组成部分。作为一个良好的数据库设计人员应具备的知识结构:u
数据库的基本知识和数据库设计技术u
计算机科学的基础知识和程序设计的方法和技巧u软件工程的原理和方法u应用领域的知识四、数据库设计的特点:u 数据库建设是硬件、软件和干件(技术与管理的界面)的结合;u数据库设计是结构(数据)设计与行为(处理)设计的结合。早期的数据库设计存在的严重的问题:功能设计与数据库设计分离。l
着重结构特性的设计而忽视了对行为的设计。l比较重视在给定的应用环境下,采用什么原则、方法来建造数据库的结构,而没有考虑应用环境要求与数据库结构的关系。因此造成了功能设计与数据库设计分离。功能设计与数据库设计分离的设计方法流程框架图,见图6.1(P204)。现实世界数据分析概念模型设计逻辑数据库设计物理数据库设计子模式设计功能分析功能模型 功能说明事务设计程序说明应用程序设计建立数据 程序编码调试图6.1结构和行为分离的设计(P204)解决分离的方法:建立数据-功能关联关系。现实世界数据分析用户业务活动分析概念设计功能模型逻辑设计事务设计物理设计子模式设计加载试验数据性能考核否满意?是加载数据库运行和维护程序说明应用程数序据设计库设计的全过程程序编码调试IPO图读写模块输入、更新、维护现在OO方法l
在系统分析与设计阶段强调了将对象的属性(结构)与行为设计结合,l
使用统一的表达工具----对象图。但这种方法有待于进一步发展和工程化实践。查询、检索、使用InputOutput输入处理输出Process§6.1.2数据库设计方法所谓“数据库设计方法”,就是要提出数据库设计:lll准则规程以及工程化步骤。数据库设计方法,目前可分为四类:直观设计法:手工试凑法规范设计法:手工设计、过程迭代、逐步求精计算机辅助设计法自动化设计法早期系统开发面向应用,背离数据库设计本质,针对具体的单个应用进行数据库设计。(一个用户视图设计一个数据库表)
应用数据库。导致数据库:lll维护困难,信息不一致性大,共享性差。随着IS工程化建设实践的进程,数据库理论(尤其规范理论)的发展,人们提出数据库“规范设计方法”。其中,著名的有新奥尔良(NewOrleans)方法。将数据库设计分为四个阶段:lll需求分析(分析用户要求)、
概念设计(信息分析和定义)、逻辑设计(设计实现)l物理设计(物理数据库设计)。定义了每个阶段的工作内容和使用的工具:需求分析阶段–
工作内容:把握用户需求(功能需求,信息需求)–
使用工具:数据流图(Data
Flow
Diagram,简记为DFD);数据字典(Data
Dictionary,简记为DD);––设计流程图(Design
Flow
Diagram)。概念设计阶段工作内容:信息分析和定义用
使用工具:E-R(EtityRelationship)图逻辑设计阶段工作内容:设计实现使用工具:规范化理论----基于3NF。(程序员和及其世界结构)在设计手段上,由“手工设计”逐渐研制开发“辅助设计工具”。u
Oracle公司:Design
2000u
Sybase公司:PowerDesigner我们研究所也研制了一套类似于这方面的
CASE工具(Computer
Aided
SoftwareEngineering)。u
CADDSu
DPAT/SDAT/ICATu
IRP2000u
ASSET需求分析概念结构设计逻辑结构设计物理结构设计§6.1.3数据库设计的基本步骤在规范设计方法的基础上从数据库及应用系统开发的全过程出发,对数据库设计的步骤人们达成共识,认为规范设计方法可将数据库设计分为以下六个步骤:面向用户的应用需求,面向具体问题面向数据库管理系统面向具体的实现方法分析和设计阶段实现和运行阶段(5)数据库实施(6)数据库运行和维护参见书P200
图6.2结构化的数据库设计图6.2数据库设计步应用要求、DBMS详细特征设计物理结构需求收集和分析使用、运行、维护寻优过程应用需求(数据、处理)设计概念结构转换规则、
DBMS功能、优化方法设计逻辑结构迭代过程、数据模型优化评价设计、性能预测不满意物理实现需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据实施阶段试验性运行不满意数据库运行、维护阶段涉及人员:lllll系统分析人员、数据库设计人员、程序员、用户、数据库管理员。参见P208
图6.3
数据库的结构设计阶段系统需求分析阶段需求分析是整个数据库设计过程的基础要收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。概念结构设计阶段把用户的信息要求综合、归纳与抽象,形成一个能够表达用户的要求,独立于任何DBMS软件和硬件的概念模型。逻辑结构设计阶段将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。物理设计阶段物理设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。数据库实施阶段建立数据库编制、调试应用程序组织数据入库进行试运行数据库运行与维护阶段对数据库性能进行评价、调整与修改数据库设计六个阶段工作任务:设计阶段设计描述数据处理需求分析数据字典、全系统中数据项、数据流、数据存储的描述数据流图和定表(判定树)数据字典中处理过程的描述概念结构设
计概念模型(E-R图)数据字典逻辑结构设
计某种数据模型关系模型非关系系统说明书。包括:(1)新系统要求、方案和概图(2)反映新系统信息的数据流图系统结构图非关系模型(模块结构图)物理设计存储安排存取方法选择立存取路径建模块设计IPO表实施阶段编写模式装入数据数据库试运行程序编码编译联结
测试运行维护性能测试,转储/恢复数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护)数据库结构设计的不同阶段形成数据库的各级模式概念模式逻辑模式应用1
应用要求应用2
应用要求应用3
应用要求应用i
应用要求转换映象综合图6.4数据库的各级模式(P209)应用1 应用2外模式 外模式映象应用n外模式内模式§6.2需求分析是分析用户的要求。是DB设计起点应准确地把握用户需求一、需求分析的任务二、需求分析方法一.需求分析的任务:通过详细调查现实世界要处理的对象(组织、部门、企业),充分了解原系统(手工系统或计算机系统)工作概况,明确用户各种需求,然后在此基础上确定新系统的功能,设计数据库。具体需求:u
信息要求:用户从数据库获得的内容与性质。u
处理要求:用户要完成什么处理功能,对处理的响应,时间有什么要求,处理方式:是批处理还是联机处理?
what,who,when,where,howu
安全性与完整性要求。二.需求分析方法进行需求分析首先是调查清楚用户的实际要求,与用户达成共识,然后分析与表达这些需求。--用户积极参与(一)调查用户需求的步骤调查分析用户的活动调查组织机构情况,包括该组织的部门组成情况,各部门的职责和任务等。调查各部门的业务活动情况,包括各部门输入和输出的数据与格式、所需的表格与卡片、加工处理这些数据的步骤、输入输出的部门等。调查方法:实地调查-跟班作业开调查会请专人介绍询问设计调查表查阅记录2.收集和分析需求数据,确定系统边界在熟悉业务活动的基础上,协助用户明确对新系统的各种需求,包括用户的信息需求、处理需求、安全性和完整性的需求等。在收集各种需求数据后,对前面调查的结果进行初步分析,确定新系统的边界,确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。3.编写需求分析说明书系统分析阶段的最后成果是系统分析报告,通常称为需求规范说明书。需求规范说明书是对需求分析阶段的一个总结。编写系统分析报告是一个不断反复、逐步深入和逐步完善的过程,系统分析报告应包括如下内容:–(1)系统概况,系统的目标、范围、背景、历史和现状;–(2)系统的原理和技术,对原系统的改善;–(3)系统总体结构与子系统结构说明;–(4)系统功能说明;–(5)数据处理概要、工程体制和设计阶段划分;–(6)系统方案及技术、经济、功能和操作上的可行性。完成系统的分析报告后,在项目单位的领导下要组织有关技术专家评审系统分析报告,这是对需求分析结构的再审查。审查通过后由项目方和开发方领导签字认可。(二)画新系统的数据流程图(三)编制数据字典数据项数据结构数据流数据存储处理过程:结构式语言、判断树、表需求分析过程中,用户占主导地位,强调用户的参与。(二)需求分析的方法➢➢➢➢➢(a)自顶向下的需求分析(b)自底向上的需求分析……需求……需求……需求需求需求需求自顶向下自底向上结构化分析方法(SA方法)自顶向下、逐层分解面向对象的方法信息工程方法需求
需求
…需求
…
需求
…
需求需求需求…需求…(三)SA方法的描述数据流图、数据字典1、数据流图-Data
Flow
Diagram-DFD数据流图表达了数据和处理过程的关系,反映的是对事务处理所需的原始数据及经处理后的数据及其流向。一般地,规定数据流图的符号如图所示。数据流图的符号数据流。数据流由一组确定的数据组成。名字表示流经的数据,箭头表示数据流动的方向。处理。处理是对数据进行的操作或处理。数据存储。文件数据暂时存储或永久保存的地方,可以是数据库存储文件。外部实体。外部实体是独立于系统而存在的,是和系统有联系的实体。它表示数据的外部来源和最后的去向。以学校管理信息系统为例。逐层分解后的数据流图学校管理高层数据流图然后将处理功能的具体内容分解为若干子功能,再将每个子功能继续分解,直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(DataDictionary,简称DD)来描述。2、数据字典数据字典(Data
Dictionary,简称DD)是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实,完善的。数据字典通常包括:数据项数据结构数据流数据存储处理过程:结构式语言、判断树、表需求分析过程中,用户占主导地位,强调用户的参与。调查表:1、《职能域-业务过程-业务活动调查表》职能域:
填表人:
年
月
日NO.1职能域定义(简要说明包括哪些部门,重要业务功能):业务过程名称: 所含的业务活动业务过程定义(简要说明工作内容):2、《用户视图调查表》注:用户视图包括:“单证”,“报表”,“帐册”,“屏幕格式”等。生存周期是指保存的时间,“日”、“月”、
“年”、“永久”。职能域:
填表人:
年
月
日NO.1用户视图编码用户视图 类型 生存期 记录数名称3、《数据流调查表》职能域:
填表人:
用户视图名称来源单位/职能域去向单位/职能域
年
月
日存储否4、《数据库(主题调查表)》职能域:
填表人:
年
月
日NO.数据库名称(你可以命名)数据库中应包含哪些数据(请尽量列出信息内容,不必考虑结构)§6.3概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程。概念模型是对现实世界的抽象。一.概念模型特点二.概念设计的方法三.设计步骤一.概念模型特点:能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据处理要求,是对现实世界的一个真实模拟。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。易于向关系型、网状、层次等各种数据模型转换。概念结构是数据模型的共同基础,更独立于机器,更抽象,从而更加稳定。描述概念模型的有力工具是E-R模型。二.概念设计的方法u
自顶向下:即首先定义全局概念结构框架,逐步细化。u
自底向上:首先定义各局部应用概念结构,然后将它们集成起来。u
逐步扩展:首先定义核心的概念结构,然后向外扩充,直到全局结构。u
混合策略:即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。三.自底向上设计概念结构的设计(一)步骤:––抽象数据并设计局部视图集成局部视图,得到全局的概念结构(二)数据抽象1定义:对实际的人、事、物和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述,这些概念组成了某种模型。2抽象的类型:–分类:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is
member
of
”的语义。如:实体型。–聚集:定义某一类型的组成成分。它抽象了对象内部类型和成分之间“is
part
of
”的语义。如:若干属性的聚集组成了实体型。–概括:定义类型之间的一种子集联系。它抽象了类型之间的“is
subsetof”的语义。如:学生是一个实体型,本科生、研究生也是实体型。本科生、研究生都是学生的子集。概括的一个重要性质:继承性。(三)抽象数据并设计局部视图任务:利用抽象机制对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计分E-R图。步骤:1)选择局部应用2)逐一设计分E-R图:将局部应用涉及的数据从分析阶段整理的数据字典中抽取出来,参照该局部应用对应的一组数据流图,标定其中的实体、实体的属性,标识实体的码,确定实体之间的联系及其类型。实体与属性划分的准则:u 作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其它属性。·u “属性”不能与其它实体具有联系,E-R图中联系表示实体间联系。·(四)视图集成1.方式:•多个分E―R图一次集成;逐步集成,用累加的方式一次集成两个分E―R图。2步骤:–
合并:解决各分E-R图之间的冲突,将各分E-R图合并成初步E-R图。–––
修改和重构(1)合并分E-R图,生成初步E-R图冲突:各分E-R图中语法和语义有矛盾的概念。冲突的类型属性冲突:u
属性域冲突u
属性取值单位冲突这两个问题的解决,需要各部门协调。命名冲突:u
同名异义u 异名同义(如:科研项目,课题,项目)结构冲突:u
同一对象在不同应用中具有不同的抽象u 同一实体在不同的分E-R图中所包含的属性个数和属性排列次序不相同数据元素一致性的控制(2)消除不必要的冗余,设计基本E-R图初步E-R图中,可能存在一些冗余的数据和冗余的联系,这样易破坏数据库的完整性。四、实际系统开发,数据库设计方法1.识别定义主题-实体如学生管理:学生基本信息班级实体定义:可参照DFD中外部项(源、宿系、学院数据流和数据存储)参加社团情况-社团选课活动-各项社会活动………….尽可能详尽地抽学象生描综述合实评体价的组成-属性定义确定实体的码分析实体间联系,形成E-R图。可用简化E-R图表示实体两两之间的联系§6.4逻辑结构设计将转换来的关系,网状、层次模型向特定的DBMS支持下的数据模型转换。对数据模型进行优化。任务:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。1.将概念结构转换为一般的关系、网状、层次模型逻辑结构设计3个步骤概念结构基本E-R图一般数据模型关系,网状,层次DBMS的特点限制转换规则优化方法特定DBMS支持下的数据模型优化的数据模型一、E-R图向关系模型的转换:关系模型的逻辑结构是一组关系模式的集合。E-R图转换为关系模型:将实体、实体的属性和实体之间联系转化为关系模式。转换遵循以下原则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并,如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(书上P231例子)具有相同码的关系模式可以合并。二.由一般的数据模型向特定的RDBMS模型转换考虑所选用的RDBMS的功能与限制,转换简单三.数据模型优化进一步调整、修改数据模型,提高数据结构的合理性、科学性,用规范化理论为指导进行优化工作。确定数据依赖:根据应用需要和语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间的数据依赖。对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖,确定
各关系模式分别属于第几范式。按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否对某些模式进行合并或分解。对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。水平分解和垂直分解。水平分解:部分元组(80/20原则)垂直分解:投影,将属性分解为若干个子集合四.设计用户子模式把各个子系统的逻辑数据模型设计出来。设计外模式时,要注重考虑用户的习惯与方便。使用更符合用户习惯的别名。可以对不同级别的用户定义不同的View,以保证系统的安全性。简化用户对系统的使用。§6.5数据库的物理设计数据库的物理结构:数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。数据库的物理设计:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。物理设计没有通用的方法可遵循,只能给出一般的设计内容和原则。希望设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。为此首先对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所用的DBMS的内部特征,特别是系统提供的存取方法和存储结构。物理设计分两步:确定数据库的物理结构:在关系数据库中主要指存取方法和存储结构。对物理结构进行评价,评价的重点是时间、空间效率。关系模式存取方法选择存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供多种存取方法。常用的存取方法有三类:第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇(Cluster)方法,又称簇集;第三类是HASH方法。B+树索引方法是数据库中经典的存取方法,使用最普遍。1.索引存取方法的选择所谓选择索引存取方法,实际上就是根据应用要求确定对关系的哪些属性列建立索引,哪些属性列建立组合索引,哪些索引要设计为惟一索引等。索引的选择是数据库物理设计的基本问题之一,也是比较困难的问题。用启发式规则选择索引的一般步骤。确定文件的存储结构,即记录的存放是无序的(堆文件),还是按主键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漠河市图强镇供热管网改造项目水土保持报告表
- 2026服务器开发面试题及答案
- 2026安庆文员面试题库及答案
- 2025-2026学年中国天宫教学设计
- 《当心异物侵害》(教学设计)三年级下册综合实践活动沪科黔科版
- 2025-2026学年元歌技能教学设计语文
- 《修辞立其诚》教学设计统编版高中语文选择性必修中册
- Lesson 5 Think before you buy教学设计中职基础课-新模式英语(3)-劳保版-(英语)-52
- 2033三年级数学下册 六 长方形和正方形的面积第5课时 面积单位间的进率教案 苏教版
- 2025-2026学年语文教学设计导入万能
- 2026年物流学概论第五版崔介何练习试题附答案详解(A卷)
- 2026年三年级道德与法治下册全册期末考试知识点材料
- 2026年民航地勤服务试卷及答案
- DB44∕T 2792-2025 城镇内涝风险评估与治理技术标准
- 2026年中考英语必背核心词汇1095词22天默写表【直接打印】
- 湖南省衡阳市2026年中考模拟考试化学试卷附答案
- 同济大学《AutoCAD》2023-2024学年第二学期期末试卷
- 《储能材料与器件分析测试技术》课件-项目二 正极材料
- 2025辽宁沈阳副食集团及所属企业招聘2人参考题库及答案解析(夺冠)
- 2025年(第三届)电力行业智能巡检技术大会:变电室内简易机器人技术探索与实践
- 认识小数(说课课件)三年级下册数学人教版 演示模板
评论
0/150
提交评论