关系数据库的规范化设计论述_第1页
关系数据库的规范化设计论述_第2页
关系数据库的规范化设计论述_第3页
关系数据库的规范化设计论述_第4页
关系数据库的规范化设计论述_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

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

文档简介

第5章关系数据库的规范化设计本章主要介绍关系数据库设计的规范化理论以及数据库设计的各个阶段的目标、方法和应注意的事项。山东财政学院计算机信息工程学院第5章关系数据库的规范化设计5.1数据库设计概述5.2数据库表的规范化5.3数据库设计的全过程山东财政学院计算机信息工程学院5.1数据库设计概述5.1.1数据库设计的特点5.1.2数据库设计方法5.1.3数据库设计的基本步骤5.1.4数据库各级模式的形成过程山东财政学院计算机信息工程学院数据库设计数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计的目标是为用户和各种应用系统提供一个高效率的运行环境。效率包括两个方面:一是数据库的存取效率;二是存储空间的利用率。山东财政学院计算机信息工程学院5.1.1数据库设计的特点数据库建设是硬件、软件和干件的结合数据库设计应该与应用系统设计相结合山东财政学院计算机信息工程学院数据库建设是硬件、软件和干件的结合技术与管理的界面称之为“干件”三分技术,七分管理,十二分基础数据结构设计与行为设计相结合结构(数据)设计:设计数据库框架或数据库结构行为(处理)设计:设计应用程序、事务处理等

IPO表……输入:输出:处理:Creat……Load……Main()……if……then……end分区1

分区2……概念结构设计逻辑结构设计物理设计设计阶段

设计描述数据处理需求分析

数据字典、全系统中数据项、数据流、数据存储的描述数据流图和判定表(判定树)、数据字典中处理过程的描述

概念模型(E-R图)

数据字典

系统说明书包括:①新系统要求、方案和概图②反映新系统信息流的数据流图

某种数据模型关系非关系

系统结构图

(模块结构)

存储安排方法选择存取路径建立

模块设计

IPO表实施阶段

编写模式装入数据数据库试运行

程序编码、编译联结、测试运行、维护

性能监测、转储/恢复数据库重组和重构

新旧系统转换、运行、维护(修正性、适应性、改善性维护)5.1.2数据库设计方法早期数据库设计最后要采用手工与经验相结合的方法规范设计方法。规范设计法:其本质仍是手工设计方法。其基本思想是过程迭代和逐步求精。比较著名的有新奥尔良(NewOrleans)方法。它将数据库设计分为四个阶段;需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。此外,还有基于E-R模型的数据库设计方法、基于3NF(第三范式)的设计方法、基于抽象语法规范的设计方法等山东财政学院计算机信息工程学院数据库辅助工具(CASE工具)Rational公司的RationalRose:支持关系型数据库逻辑模型的生成,包括:Oracle7、Sybase、SQLServer、WatcomSQL和ANSISQL,其结果可用于数据库建模工具生成逻辑模型和概念模型。数据库库辅助助工具具(CASE工具)CA公司的的Erwin:主要用用来建建立数数据库库的概概念模模型和和物理理模型型。它它能用用图形形化的的方式式,描描述出出实体体、联联系及及实体体的属属性。。ERwin支持IDEF1X方法。。通过过使用用ERwin建模工工具自自动生生成、、更改改和分分析IDEF1X模型,,不仅仅能得得到优优秀的的业务务功能能和数数据需需求模模型,,而且且可以以实现现从IDEF1X模型到到数据据库物物理设设计的的转变变。数据库库辅助助工具具(CASE工具)Sybase公司的的PowerDesigner:采用基基于Entity-Relation的数据据模型型,分分别从从概念念数据据模型型(ConceptualDataModel)和物理理数据据模型型(PhysicalDataModel)两个层层次对对数据据库进进行设设计。。Oracle公司的的OracleDesigner:支持面面向对对象和和实体体关系系的建建模方方式。。在一一个有有效的的实体体关系系模型型或面面向对对象的的类型型模型型中,,数据据库设设计转转换工工具可可以自自动生生成第第一个个数据据库方方案,,且具具有完完整的的表、、列、、索引引和参参照完完整性性约束束。数据库库设计计的基基本步步骤需求分分析阶阶段概念结结构设设计阶阶段逻辑结结构设设计阶阶段数据库库物理理设计计阶段段数据库库实施施阶段段数据库库运行行和维维护阶阶段山东财财政学学院计计算机机信息息工程程学院院数据库库各级级模式式的形形成过过程根据数数据库库设计计的不不同时时期,,可以以形成成各级级模式式。在需求求分析析阶段段综合合不同同用户户的应应用需需求;;在概念念设计计阶段段形成成独立立于机机器特特点,,独立立于各各个DBMS产品的的概念模模式(E-R图);在逻辑辑设计计阶段段将E-R图转换换成具具体的的数据据库产产品支支持的的数据据模型型,如如关系系模型型,形形成数数据库库逻辑模模式;然后后根据据需要要和安安全建建立视视图,,形成成用户模模式;在物理理设计计阶段段根据据DBMS的特点点和处处理,,建立立存储储安排排、索索引等等,形形成物理模模式。山东财财政学学院计计算机机信息息工程程学院院5.2数据库库表的的规范范化问题的的提出出规范化化理论论的基基本概概念关系模模式的的优化化山东财财政学学院计计算机机信息息工程程学院院问题的的提出出建立一一个描描述银银行信信息的的数据据库,,该数数据库库涉及及的信信息包包括::支行名名称branch_name、资产产额assets、存款款账号号account_number、存款款时间间access_date、存款款金额额balance。假设用用一个个单一一的关关系模模式BANK来表示示,则则该关关系模模式为为:BANK(branch_name,,assets,account_number,,access_date,,balance)山东财财政学学院计计算机机信息息工程程学院院现实世世界的的已知知事实实(语义)银行具具有多多个支支行,,每个个支行行有唯唯一的的名称称,具具有一一定的的资产产额。。存款账账户通通过唯唯一的的账号号进行行标识识,在在某个个支行行开户户,银银行记记录每每个存存款账账户的的开户户支行行名称称以及及每次次存款款的日日期、、金额额。山东财财政学学院计计算机机信息息工程程学院院表1:BANK的一个个实例例Branch_nameAssetsAccount_numberAccess_dateBalance市中支行9000000A1012008/10/105000市中支行9000000A1012009/01/062000市中支行9000000A1012009/02/233000市中支行9000000A1012009/04/125000市中支行9000000A1012009/04/295000舜耕支行400000A2152008/01/157000舜耕支行400000A2152008/02/159000舜耕支行400000A2152009/02/158000…………………………山东财财政学学院计计算机机信息息工程程学院院该关系系模式式存在在的问问题数据冗冗余太太大更新异异常插入异异常删除异异常山东财财政学学院计计算机机信息息工程程学院院规范化化理论论的基基本概概念数据库库设计计的基基础是是规范化化理论论,规范范化理理论有有其严严密的的数学学描述述。在在规范范化理理论的的体系系中,,基本本概念念有主码、、数据据依赖赖、范范式等。山东财财政学学院计计算机机信息息工程程学院院一、主主码关系一一般来来说对对应于于现实实世界界的一一个实实体集集,而而现实实世界界中的的实体体是可可区分分的,,即在在关系系中存存在某某个属属性组组,能能够唯唯一确确定关关系中中的一一个元元组。。在一个个关系系中能能够唯唯一确确定不不同元元组的的属性性组有有多个个,我我们把把这些些属性性组称称为候选选码码,简简称称为为码。在关关系系的的候候选选码码中中可可选选择择一一个个应应用用中中常常用用到到、、最最具具有有代代表表性性的的候候选选码码作作为为这这个个关关系系的的主码码。包含含在在任任何何一一个个候选选码码中的的属属性性都都称称为为主属属性性,不不包包含含在在任任何何候候选选码码中中的的属属性性称称为为非主主属属性性。山东东财财政政学学院院计计算算机机信信息息工工程程学学院院二、、数数据据依依赖赖数据据依依赖赖是通通过过一一个个关关系系中中数数据据间间值值的的相相等等与与否否体体现现出出来来的的数数据据间间的的相相互互关关系系,,是是现现实实世世界界属属性性间间相相互互关关系系的的抽抽象象,,是是数数据据内内在在的的性性质质。。数据据依依赖赖的的类型型函数数依依赖赖(FunctionalDependency,简简记记为为FD)多值值依依赖赖(MultivaluedDependency,简简记记为为MVD)山东东财财政政学学院院计计算算机机信信息息工工程程学学院院函数数依依赖赖设X,Y是关关系系R的两两个个属属性性集集合合,,当当任任何何时时刻刻R中的的任任意意两两个个元元组组中中的的X属性性值值相相同同时时,,则则它它们们的的Y属性值也也相同,,则称X函数决定定Y,或Y函数依赖赖于X,记作X→Y。其中x称为决定因素素。进而若若再有Y→X,,则称X与Y相互依赖赖,记作作X←→Y。branch_name→assets,account_number→branch_name,(account_number,access_date)→→balance。山东财政政学院计计算机信信息工程程学院部分函数数依赖设X,Y是关系R的两个属属性集合合,存在在X→Y,,若X’是X的真子集集,存在在X’→Y,则称Y部分函数数依赖于X。显然,当当且仅当当X为复合属属性组时时,才有有可能出出现部分分函数依依赖。(account_number,access_date)→→branch_name。称“branch_name”部分函数数依赖于于account_number,access_date。山东财政政学院计计算机信信息工程程学院完全函数数依赖设X,Y是关系R的两个属属性集合合,X’是X的真子集集,存在在X→Y,,但对每一一个X’都有X’!→Y,,则称Y完全函数数依赖于X。所谓完全全依赖是是说明在在依赖关关系的决决定因素素中没有有多余属属性,有有多余属属性就是是部分依依赖。(account_number,access_date)→→balance是关系BANK的一个完完全依赖赖关系。。山东财政政学院计计算机信信息工程程学院传递函数数依赖设X、Y、、Z是关系R中互不相相同的属属性集合合,存在在X→Y(Y!→X)、Y→→Z,则称Z传递函数数依赖于X。关系BANK中,account_number→branch_name,branch_name→assets在这种情情况下,,assets传递函数数依赖于于account_number。山东财政政学院计计算机信信息工程程学院三、范式式范式(NormalForm)是符合某某种要求求的关系系模式的的集合。。数据库设设计要达达到某种种质量要要求,就就要求其其中的所所有关系系模式满满足一定定程度的的要求,,即属于于某一级级别的范范式。目前所用用的范式式有六种级别,,最低的的是第一一范式,,简称为为1NF,最高为第第五范式式,简称称为5NF,各级范式式之间存存在如下下关系::1NF2NF3NFBCNF4NF5NF山东财政政学院计计算机信信息工程程学院一、1NF及其改进进如果一个个关系模模式R的所有属属性都是是不可再再分的基基本数据据项,则则R∈1NF。1NF就是关系系的基本性质质之一,是对关关系模式式的最基本的要求。。山东财政政学院计计算机信信息工程程学院满足1NF的关关系系模模式式不不一一定定是是好好的的关关系系模模式式BANK(branch_name,assets,account_number,access_date,balance)中,函数依赖:branch_name→assets,account_number→branch_name,(account_number,access_date)→→balance。BANK的码应为(account_number,access_date)存在的问题题??(四个方面的的问题)造成这些异异常的原因在于,关系系BANK中存在着非非主属性对对码的部分分函数依赖赖。二、2NF及其改进如果一个关关系模式R∈1NF,且所有的非主属性都完全函数依依赖于R的码,则R∈2NF。属于1NF的关系模式式消除了非主属性对码的部分函数依赖后后得到的关关系属于2NF。山东财政学学院计算机机信息工程程学院Bank可可分解为::BA(branch_name,assets,account_number)∈2NFACCOUNT(account_number,access_date,balance)∈2NFBA仍存在问题:数据冗余插入异常删除异常修改复杂原因:BA中存在:非主属性assets传递函数依依赖于码account_number三、3NF如果一个关关系模式R中不存在非非主属性对对码的部分分函数依赖赖和传递函函数依赖,,则R∈3NF。属于2NF的关系模式式消除了非非主属性对对码的传递递函数依赖赖后得到的的关系属于于3NF。山东财政学学院计算机机信息工程程学院BA可分解为::BRANCH(branch_name,assets)DEPOSITS(account_number,branch_name)数据冗余、、插入异常常、删除异异常和更新新异常均不不会发生。。四、其他范范式有些模式达达到了3NF范式的要求求,但还可能存在异常问问题。如果存在主属性对码的部分分依赖和传传递依赖则则依然会存存在异常问问题。山东财政学学院计算机机信息工程程学院CES(customer,employee,service)函数依赖:(customer,service)→→employee(customer,employee)→serviceemployee→→service候选码:(customer,service)、(customer,employee)CES∈3NF但仍存在问题:假设银行行提供了若若干服务,,并已确定定由哪些员员工来负责责,但还没没有顾客,,则服务和和员工的信信息就不能能加入到数数据库中。。原因:存在主属属性service对码的部分分函数依赖赖。BCNF如果在3NF的基础上进进一步消除除主属性对对码的部分分依赖和传传递依赖,,则关系模模式就达到到了BCNF。CES分解为(customer,employee)和(employee,service)一个个模模式式中中的的关关系系模模式式如如四、、其其他他范范式式属于于BCNF范式式的的关关系系模模式式还还有有可可能能存存在在数数据据冗冗余余和和更更新新异异常常的的问问题题多值值依依赖赖,4NF连接接依依赖赖,5NF山东东财财政政学学院院计计算算机机信信息息工工程程学学院院关系系模模式式的的优优化化优化化关关系系模模式式的的方方法法是是进进行行模式式分分解解,即即将将一一个个关关系系分分解解成成为为两两个个或或多多个个关关系系,,从从而而可可消消除除一一些些不不好好的的数数据据依依赖赖,,使使关关系系模模式式属属于于更更高高级级别别的的范范式式。。关系系模模式式优优化化的的步骤骤:按照照需需求求分分析析阶阶段段所所得得到到的的实实体体及及其其联联系系,,确确定定数数据据库库中中各各关关系系模模式式中中存存在在的的数数据据依依赖赖集集。。对关关系系模模式式逐逐一一分分析析,,确确定定各各关关系系模模式式分分别别属属于于第第几几范范式式。。如果果关关系系模模式式不不符符合合设设计计要要求求,,对对关关系系模模式式通通过过模模式式分分解解的的方方法法进进行行改改进进,,使使其其达达到到一一定定的的范范式式。。山东东财财政政学学院院计计算算机机信信息息工工程程学学院院关系系模模式式的的优优化化规范范化化的的方方法法是是进进行行模模式式分分解解,,即即把把一一个个低低一一级级范范式式的的关关系系模模式式分分解解成成为为多多个个高高一一级级范范式式的的关关系系模模式式。。分分解解的的方方法法和和手手段段不不同同,,但但是是要要保保证证分分解解后后的的关关系系模模式式与与原原关关系系模模式式等等价价。。在分分解解的的等等价价性性方方面面有有三种种标标准准。分解解要要具具有有无无损损连连接接性性::即即分分解解所所得得的的多多个个高高一一级级范范式式的的关关系系模模式式自自然然连连接接后后的的结结果果与与原原关关系系模模式式相相同同。。分解解要要保保持持函函数数依依赖赖::即即分分解解前前所所有有的的函函数数依依赖赖要要由由分分解解后后的的所所有有关关系系模模式式中中的的函函数数依依赖赖反反映映。。分解解既既具具有有无无损损连连接接性性又又保保持持函函数数依依赖赖。。山东东财财政政学学院院计计算算机机信信息息工工程程学学院院关系系模模式式规规范范化化的的基基本本步步骤骤

1NF ↓消除非主属性对码的部分函数依赖消除决定属性2NF集非码的非平↓消除非主属性对码的传递函数依赖凡函数依赖3NF ↓消除主属性对码的部分和传递函数依赖

BCNF ↓……

4NF5.3数据据库库设设计计的的全全过过程程需求求分分析析概念念设设计计逻辑辑设设计计物理理设设计计数据据库库的的实实施施数据库的运行行与维护数据库设计实实例山东财政学院院计算机信息息工程学院需求分析需求分析是整整个设计过程程的基础,是最困难、、最耗费时间间的一步。关系到整个系系统的成败、、优劣。山东财政学院院计算机信息息工程学院一、需求分析析的目标需求分析阶段段应该对整个个应用系统作作全面、详细细的调查。通通过详细调查查现实世界要要处理的对象象(组织、部门和和企业等),充分了解原原系统(手工系统或计计算机系统)的工作概况,,明确用户的的信息要求、、处理要求、、安全性与完完整性要求,,并把这些要要求写成用户户和系统开发发人员都能够够接受的文档档。信息要求用户需要从数数据库中获得得信息的内容容与性质由用户户的信信息要要求可可以导导出数数据要要求,,即在在数据据库中中需要要存储储哪些些数据据处理要要求对处理理功能能的要要求对处理理的响响应时时间的的要求求对处理理方式式的要要求(批处理理/联机处处理)山东财财政学学院计计算机机信息息工程程学院院二、需需求分分析的的步骤骤调查组组织机机构总总体情情况熟悉业业务活活动明确用用户需需求确定系系统边边界与用户户达成成共识识进一步步分析析与表表达这这些需需求山东财财政学学院计计算机机信息息工程程学院院进一步步分析析和表表达用用户的的需求求自顶向向下的的结构构化分分析方方法(StructuredAnalysis,简称称SA方法)SA方法从从最上上层的的系统统组织织机构构入手手,采采用逐逐层分分解的的方式式分析析系统统,并并用数数据流流图和和数据据字典典描述述系统统。进一步步分析析和表表达用用户需需求1.首先先把任任何一一个系系统都都抽象象为::数据流数据流数据存储信息要求数据来源处理数据输出处理要求进一步步分析析和表表达用用户需需求(续)2.分解解处理理功能能和数数据(1)分解处处理功功能将处理理功能能的具具体内内容分分解为为若干干子功功能,,再将将每个个子功功能继继续分分解,,直到到把系系统的的工作作过程程表达达清楚楚为止止。(2)分解数数据在处理理功能能逐步步分解解的同同时,,其所所用的的数据据也逐逐级分分解,,形成成若干干层次次的数数据流流图数据流流图表表达了了数据据和处处理过过程的的关系系(3)表达方方法处理过过程::用判判定表表或判判定树树来描描述数据::用数数据字字典来来描述述3.将分分析结结果再再次提提交给给用户户,征征得用用户的的认可可三、数数据字字典数据字字典是各类类数据据描述述的集集合,,它是是关于于数据据库中中数据据的描描述,,即元数据据,而不不是数数据本本身。。数据字字典通通常包括数据项项、数数据结结构、、数据据流、、数据据存储储和处处理过过程五五个部部分(至少应应该包包含每每个字字段的的数据据类型型和在在每个个表内内的主主外键键)。山东财财政学学院计计算机机信息息工程程学院院数据项项数据项项是不可可再分分的数数据单单位。。对数据据项的的描述述通常常包括以以下内内容:数据项项描述述={{数据据项名名,数数据项项含义义说明明,别别名,,数据据类型型,长长度,,取值值范围围,取取值含含义,,与其其他数数据项项的逻逻辑关关系}}山东财财政学学院计计算机机信息息工程程学院院数据结结构反映了了数据据之间间的组组合关关系。。一个个数据结结构可以由由若干干个数数据项项组成成,也也可以以由若若干个个数据据结构构组成成,或或由若若干个个数据据项和和数据据结构构混合合组成成。对数据据结构构的描描述通通常包括以以下内内容:数据结结构描描述=={数数据结结构名名,含含义说说明,,组成成:{{数据据项或或数据据结构构}}}山东财财政学学院计计算机机信息息工程程学院院数据流流数据流流是数据据结构构在系系统内内传输输的路路径。。对数据据流的的描述述通常常包括以以下内内容:数据流流描述述={{数据据流名名,说说明,,数据据流来来源,,数据据流去去向,,组成成:{{数据据结构构},,平均均流量量,高高峰期期流量量}山东财财政学学院计计算机机信息息工程程学院院数据存存储是数据据结构构停留或或保存存的地地方,也是是数据据流的的来源源和去去向之之一。。对数据据存储储的描描述通通常包括以以下内内容:数据存存储描描述=={数数据存存储名名,说说明,,编号号,流流入的的数据据流,,流出出的数数据流流,组组成::{数数据结结构}},数数据量量,存存取方方式}}山东财财政学学院计计算机机信息息工程程学院院处理过过程数据字字典中中只需需描述述处理理过程程的说明性性信息。。通常包括以以下内内容:处理过过程描描述=={处处理过过程名名,说说明,,输入入:{{数据据流}},输输出::{数数据流流},处理理:{{简要要说明明}}}山东财财政学学院计计算机机信息息工程程学院院概念设设计概念设设计是在需需求分分析阶阶段产产生的的数据据流图图和数数据字字典基基础上上,对对基础础数据据进行行综合合抽象象,从从而形形成反反映企企业组组织信信息需需求的的概念念数据据模型型。这这个模模型应应当能能够被被用户户易于于理解解,并并且独独立于于具体体的数数据库库管理理系统统(DBMS)。。山东财财政学学院计计算机机信息息工程程学院院一、概概念模模型的的要求求概念模模型应应真实实、充充分地地反映映现实实世界界中事事物和和事物物之间间的联联系,,有丰丰富的的语言言表达达能力力,能能表达达用户户的各各种需需求,,包括括描述述现实实世界界中各各种对对象及及其复复杂的的联系系、用用户对对数据据对象象的处处理要要求。。概念模型型应简洁洁、明晰晰、独立立于机器器、容易易理解。。概念模型型应易于于变动。。概念模型型应很容容易向关关系、层层次或网网状等各各种数据据模型转转换。山东财政政学院计计算机信信息工程程学院二、概念念设计步步骤进行数据据抽象,,设计局局部概念念模式将局部概概念模式式综合成成全局概概念模式式评审山东财政政学院计计算机信信息工程程学院三种常用用抽象1.分类(Classification)定义某一一类概念念作为现现实世界界中一组组对象的的类型它抽象了了对象值和型之间的““ismemberof”的语义在E-R模型中,,实体型型就是这这种抽象象,用矩矩形框表表达三种常用用抽象(续)2.聚集(Aggregation)定义某一一类型的的组成成成分它抽象了了对象内部部类型和和成分之间“ispartof”的语义在E-R模型中若若干属性性的聚集集组成了了实体型型,就是是这种抽抽象,属属性一般般用椭圆圆表达,,多值属性性用双线线的椭圆圆表示,派生属性性用虚线线的椭圆圆表示。。3.概括(Generalization)定义类型型之间的的一种子子集联系系它抽象了了类型之间间的“issubsetof”的语义概括有一一个很重重要的性性质:继继承性。。子类继继承超类类上定义义的所有有抽象。。用双竖边边的矩形形框表示示子类,,用直线加加小圆圈圈表示超超类-子类的联联系三种常用用抽象(续)数据抽象象的用途途对需求分分析阶段段收集到到的数据据进行分分类、组组织(聚集),形成实体实体的属性,标识实实体的码码确定实体体之间的的联系类型(1:1,1:n,m:n)三、概念念设计工工具目前在概概念设计计阶段,,实体-联系模模型(E-R模型)是广泛使使用的设设计工具具。E-R模型的基基本元素素是:实体、联系和属性。山东财政政学院计计算机信信息工程程学院实体和属属性实体(entity)是E-R模型表示示的最基基本的对对象。实体是现现实世界界中可区区别于其其他对象象的“事事件”或或“物体体”。可可以是物理存在在的对象象,如特定定的人、、汽车或或客户等等,也可可以是抽象存在在的对象象,如公司司,贷款款或课程程等。每个实体体都具有有一定的的属性(attribute)用来描述述实体的的某些特特定性质质。图客户实体体C1及其属性性1.简单属性性和复合属性性简单属性性不能划分分为更小小的部分分。复合属性性可被划分分为更小小的具有有独立意意义的部部分。属性的类类型属性的类类型2.单值属性性和多值属性性一个属性性对一个个特定实实体都只只有一个个属性值值,这样样的属性性称为单值属性性。某一属性性在不同同的实体体上可能能有不同同数目的的值,这这样的属属性称为为多值属性性。3.存储属性性和派生属性性某些情况况下,两两个或两两个以上上属性值值是相关关的,其其中一个个属性A1的值可以以从其他他的相关关属性A2或实体E派生出来来。属性性A1称为派生生属性,A2称为存储储属性。。派生属性性的值不不存储,,但在需需要时可可以被计计算出来来。属性性值还可可以从相相关实体体派生得得到。属性的类型4.空值空值的情况有有两类:没有适用的值值;属性值未知(属性值存在只只是暂时缺失失;不能确定定该属性值是是否存在)。属性的类型包含复合属性性、多值属性性及派生属性性的E-R图实体集、实体体类型和码具有相同属性性的实体的集集合称作一个个实体集实体集中的实实体所具有的的共同属性构构成了实体类型。一个实体类型型通常具有这这样一个或多多个属性的集集合,使得对对于任意实体体集中每个单单独的实体在在这些属性上上都具有不同同的值,即这这些属性的组组合在任一个个实体集中可可以唯一地标标识一个实体体,这样的属属性集称为超码。超码中可能包包含一些无关关紧要的属性性。最小超码码的任意真子子集都不能成成为超码。最最小超码又称称为候选码,如果指定某个个属性集是一一个实体类型型的主码,那那么主码的唯唯一性对于该该实体类型的的所有实体集集同样有效。。联系、联系集集和联系类型型联系是指多个实体体间的相互关关联。联系集是同类型联系系的集合。用数学语言表表述,联系集集Rlt是{ri=(e1,e2,……,en)|e1∈E1,e2∈E2,……,en∈En}的一个子集,,其中ri=(e1,e2,…,en)是一个联系,,也称联系实实例。实体之间的关关联称为参与,我们可以说说实体e1,e2…,en参与了联系实实例ri,同样地,我我们说实体类类型E1,E2,…,En参与了联系类类型RLT。联系类型的度是指参与该联联系类型的实实体类型的数数量。度为2的联系类型称称为二元联系系,度为3的联系类型称称为三元联系系,度为n的联系类型称称为n元联系图中所示的的联系类型型SUPPLY(供给)是实体类型型SUPPLIER(供应商)、PROJECT(项目)和PART(零件)之间的三元元联系。其其中,每个个联系实例例ri和三个实体体(供应商Sj、项目tk和零件Pm)相连,表示示供应商Sj为项目tk提供零件Pm。图三元联系SUPPLY的几个联系系实例联系类型的的约束联系类型上上的约束限限制了参与与到相应联联系集的那那些实体可可能的组合合。这些约约束来自于于联系所表表示的现实实世界。1.映射基数二元联系的的映射基数数确定了一一个实体能能够参与的的联系实例例的个数。。对于实体体类型A和B之间的二元元联系类型型R来说,可能能的映射基基数有:(1)一对一A中的一个实实体至多参参与一个联联系实例,,B中的一个实实体也至多多参与一个个联系实例例,记为1:1(2)一对多A中的一个实实体可以参参与多个联联系实例,,而B中的一个实实体至多只只能参与一一个联系实实例。记为为1:n(3)多对一如果A与B之间的联系系是1:n的,则B与A之间的联系系是n:1的。(4)多对多A中的一个实实体可以参参与多个联联系实例,,B中的一个实实体也可以以参与多个个联系实例例,记为m:n(a)一对一(b)一对多(c)多对多多对多的联联系2.参与约束如果实体类类型E的任意实体体集中的每每个实体都都至少参与与到联系类类型R相应联系集集的一个联联系实例中中,则称实实体类型E全部参与联系类型R。如果实体体类型E中只有部分分实体参与与到联系类类型R的联系实例例中,则称称E部分参与R。实体类型对对联系类型型的全部参参与山东财政学学院计算机机信息工程程学院联系类型的的码实体类型的的主码使得得我们可以以将该实体体类型的任任意实体集集中不同的的实体区别别开来。类类似地,联系类型的的主码可以将该联联系类型的的任意联系系集中不同同的联系实实例区别开开来。设n个实体类型型E1,E2,……,En之间的联系系类型R,primary-key(Ei)表示构成实实体类型Ei主码的属性性集合。假设所有主主码的属性性名是唯一一的,并且且每个实体体类型Ei在联系类型型R中只参与一一次,则不不论R本身是否具具有属性,,属性集合合primary-key(E1)∪∪primary-key(E2)∪……∪primary-key(En)都构成了联联系类型R的一个超码码。联系类型的的主码构成成依赖于其其映射基数数。弱实体类型型一个实体类类型的属性性如果不足足以形成主主码,则称称其为弱实体类型型。相反地,,具有主码码的实体类类型称为强实体类型型。例如,考虑虑实体类型型PAYMENT(还贷),该实体类类型具有属属性PNo(从1开始的连续续还贷序号号),PDate(还贷日期)和PAmount(还贷额)。其中PNo是为每一笔笔贷款产生生的从1开始的连续续数字,两两笔不同的的贷款的PAYMENT实体可以具具有相同的的PNo,PDate和PAmount属性值,但但它们应该该是不同的的实体。因因此,PAYMENT实体类型没没有主码,,是一个弱弱实体类型型。虽然弱实体体类型没有有主码,但但可以通过过与另一个个实体类型型之间的关关联来识别别弱实体类类型的各个个实体,这这里提到的的另一个实实体类型称称为识别实体类类型,弱实体类类型和识别别实体类型型之间的联联系称为弱弱实体类型型的识别联联系。山东财政学学院计算机机信息工程程学院具有弱实体体类型的E-R图山东财政学学院计算机机信息工程程学院实体-联系图E-R图中用矩形框表示实体类类型,在矩矩形框内写写上实体类类型名;用用菱形框表示联系类类型,在菱菱形框内写写上联系类类型名;用用线段把联系类型型和参与实实体类型连连接起来。。属性用椭圆框表示,在在椭圆框内内写上属性性名,并用用线段将每个属性性与它的实实体类型或或联系类型型连接起来来。主码属性以下画线标标明。联系类型可以是多对对多的,一一对多的,,多对一的的或一对一一的。为了了表明这些些映射基数数,我们在在连接每个个参与实体体类型和联联系类型之之间的线段段上注明1,m或n。图具有三元联联系的E-R图图具有复合属属性、多值值属性和派派生属性的的E-R图E-R模型设计的的指导原则则1.实体类型与与属性一般来讲,,实体有进进一步的性性质描述,,而属性则则无。2.联系类型与与属性属性不应该该隐含联系系。例如,,将贷款号号LNo作为实体类类型CUSTOMER的属性是不不正确的,,即使每个个客户只能能有一笔贷贷款也是如如此。应该该用借贷联联系BORROWS明确表示出出CUSTOMER和LOAN两个实体类类型之间的的关联,而而不是将这这种联系隐隐含在属性性中。3.实体类型与与联系类型型一个对象最最好表示为为实体类型型还是联系系类型并不不总是非常常清楚的。。一般来说说,当描述述发生在实实体类型之之间的行为为时采用联联系类型,,否则采用用实体类型型,这可以以作为确定定用实体类类型还是联联系类型时时可采用的的一个原则则。4.多值属性与与弱实体类类型在某些情况况下,数据据库设计人人员会选择择将一个弱弱实体类型型表示为其其标识实体体类型的一一个多值属属性。一般来说,,如果弱实实体类型只只参与识别别联系,而而且其属性性不多,那那么在建模模时可以将将其表示为为一个多值值属性。否否则,如果果弱实体类类型还参与与到其他联联系类型,,或者其属属性较多时时,那么在在建模时应应该将其表表示为一个个弱实体类类型。5.E-R模型的正确确命名对于实体类类型要使用用单数名称称而不使用用复数名称称。通常用名词词来命名实实体类型,,而用动词词来命名联联系类型。。E-R模型设计的的指导原则则实例:银行行数据库的的E-R模型设计首先列出银银行数据库库的数据需需求,然后后定义各个个实体类型型和联系类类型,最后后给出表示示该E-R模型的E-R图。1.数据需求2.实体类型设设计3.联系类型设设计4.E-R图注意:在此仅给给出了部分分需求实例:需求求分析需求分析就就是分析用用户的需求求,用户需需求的最初初说明可以以基于同数数据库用户户的交流以以及对银行行企业的分分析。山东财财政学学院计计算机机信息息工程程学院院1、数数据需需求银行有有多个个分行行。每每个分分行有有唯一一的名名称,,位于于一个个特定定的城城市,,具有有一定定的资资产额额。银行的的客户户通过过唯一一的客客户号号进行行标识识。银银行存存储每每个客客户的的姓名名及其其居住住的存款账户通过唯一的账号进行标识,在某个分行开户,可以由两个或两个以上客户共有。银行记录每个存款账户的开户支行名称、余额。每笔贷款通过唯一的贷款号标识,由某个支行发放,能被一个或多个客户所共有。银行记录每笔贷款所贷金额、发放贷款的支行名称。现实银行中,还应记录每笔贷款的还贷情况以及每个账户存取款的日期和金额。为简单起见,在这儿不考虑对储蓄详细情况的记录。山东财财政学学院计计算机机信息息工程程学院院2、数数据字字典|数数据据项数据项名称含义说明别名数据类型长度取值范围取值含义Branch_id分行号分行号Char10Branch_name支行名称名称Char10汉字Branch_city支行所在城市支行所在城市VarChar20汉字Assets资产额资产额Decimal20数值保留2位小数Customer_id客户标识标识Char7数字字符Customer_name客户姓名姓名Char8汉字Customer_street客户所在街道客户所在街道VarChar20汉字Customer_city客户所在城市客户所在城市VarChar20汉字Account_number存款账号存款账号Char4字母和数字balance余额余额Decimal10数值保留2位小数Loan_number贷款账号贷款账号Char4字母和数字Amount金额金额Decimal10数值保留2位小数山东财财政学学院计计算机机信息息工程程学院院2、数数据字字典|数数据据结构构数据结构名含义说明组成Branch支行信息branch_name、branch_city、assetsCustomer客户信息cstomer_id、customer_name、customer_street、customer_cityAccount存款账户信息account_number、branch_name、balanceLoan贷款账户信息loan_number、branch_name、amountDeposits储蓄信息cstomer_id、account_numberBorrows借贷信息cstomer_id、loan_number山东财财政学学院计计算机机信息息工程程学院院数据字字典数据流流、数数据存存储、、处理理过程程略。。山东财财政学学院计计算机机信息息工程程学院院实例::概念念结构构设计计利用需需求分分析阶阶段得得到的的数据据流图图和数数据字字典,,可得得到如如下实实体类类型、、属性性:实体类类型branch具有属属性branch_name、branch_city、assets。。实体类类型customer具有属属性cstomer_id、、customer_name、、customer_street、、customer_city。。实体类类型account具有属属性account_number、、branch_name、、balance。。实体类类型loan具有属属性loan_number、branch_name、amount山东财财政学学院计计算机机信息息工程程学院院实例::概念念结构构设计计根据用用户的的数据据需求求决定定每个个联系系类型型的映映射基基数和和参与与约束束,有有时需需要通通过与与用户户多次次沟通通才能能确定定。在在定义义联系系类型型的过过程中中,还还要对对上面面实体体类型型的设设计进进行改改进,,可得得到如如下联联系:deposits是customer和account之间的的多对对多联联系。。borrows是customer和loan之间的多对对多联系。。山东财政学学院计算机机信息工程程学院银行数据库库的E-R图逻辑设计通过概念设设计得到的的结果是与与DBMS无关的概念念模式,它它无法直接接在计算机机上实现,,要将其转转化为计算算机上的数数据库系统统还需经过过逻辑设计计。山东财政学学院计算机机信息工程程学院一、逻辑设设计目标逻辑设计的的目标是把把概念设计计阶段设计计好的全局局ER模式转换成成与具体DBMS数据模型相相符合的逻逻辑结构(包括数据库库模式和外外模式)。这些模式式在功能上上、完整性性和一致性性约束及数数据库的可可扩充性等等方面均应应满足用户户的各种要要求。山东财政学学院计算机机信息工程程学院二、逻辑设设计步骤初始模式设设计特定模式设设计关系模式优优化子模式设计计山东财政学学院计算机机信息工程程学院E-R图向关系模模型的转换换包括三个主主要任务::(1)用表和列来来代替实体体和属性(2)通过外码表表示联系和和映射基数数(3)定义限制主主码和外码码的行为来来表示参与与约束山东财政学学院计算机机信息工程程学院1、为每个个实体创建建一个表关系的属性:实体型的的属性关系的码:实体型的的码山东财政学学院计算机机信息工程程学院学生(学号,姓名,出生日期,所在系)学生学号出生日期所在系姓名学生实体类类型可转换换为:2、联系:一一个m:n联系转换为为一个关系系模式。关系的属性:与该联系系相连的各各实体的码码以及联系系本身的属属性关系的码:各实体码码的组合例,“选修修”联系是是一个m:n联系,可以以将它转换换为如下关关系模式,,其中学号号与课程号号为关系的的组合码::选修(学号,课程程号号,成成绩绩)课程选修学生mn成绩学号课程号姓名课程名选修修(学号号,课程程号号,成绩绩)课程程、、学学生生之之间间的的多多对对多多联联系系可可转转换换为为::2、联联系系::一一个个1:n联系系的的转转换换可转转换换为为一一个个独独立立的的关关系系模模式式关系系的的属性性:与与该该联联系系相相连连的的各各实实体体的的码码以以及及联联系系本本身身的的属属性性关系系的的码:n端实实体体的的码码或与n端对对应应的的关关系系模模式式合合并并(一般般采采用用这这种种方方式式)合并并后后关关系系的的属性性:在在n端关关系系中中加加入入1端关关系系的的码码和和联联系系本本身身的的属属性性合并并后后关关系系的的码::不变变班级级和和学学生生之之间间1:n联系系的的转转换换与n端对对应应的的关关系系模模式式合合并并(一般般采采用用这这种种方方式式)即在在学学生生表表中中填填加加::班级级表表的的码码学生生(学号号,姓名名,出生生日日期期,所在在系系,班级级)转换换为为一一个个独立立的关关系系模模式式关系系的的属性性:与与该该联联系系相相连连的的各各实实体体的的码码以以及及联联系系本本身身的的属属性性关系系的的码:每每个个实实体体的的码码均均是是该该关关系系的的候候选选码码与某某一一端端对对应应的的关关系系模模式式合并并合并并后后关关系系的的属性性:加加入入对对应应关关系系的的码码和和联联系系本本身身的的属属性性合并并后后关关系系的的码:不不变变2、联联系系::一一个个1:1联系系的的转转换换山东东财财政政学学院院计计算算机机信信息息工工程程学学院院班级级和和班班长长之之间间1:1联系系的的转转换换转换换为为一一个个独独立立的的关关系系模模式式::班级级-班长长(班长长学学号号,班班级级号号)或管管理理(学号号,,班级级学学号号)该联联系系与与班班级级关关系系模模式式合合并并,,则则只只需需在在班班级级关关系系中中加加入入班班长长的的学学号号::班级级::(班级级号号,学学生生人人数数,,班长长学学号号)实例例::逻逻辑辑结结构构设设计计支行行Branch(支行行名名称称branch_name,支行行所所在在城城市市branch_city,资产产额额assets)客户户Customer(客户户标标识识customer_id,客户户姓姓名名customer_name,客户户所所在在街街道道customer_street,客户户所所在在城城市市customer_city)存款款账账户户Account(存款款账账号号account_number,支行行名名称称branch_name,余额额balance)贷款款账账户户Loan(贷款账号loan_number,支行名称branch_name,金额amount)储蓄Deposits(客户标识customer_id,存款账号account_number)借贷Borrows(客户标识customer_id,贷款账号loan_number)山东财政学院院计算机信息息工程学院特定模式设计计将第一步形成成的初始关系系模式转换成成具体DBMS下的关系数据据模型。由于于不同DBMS系统特性各异异,并且运行行在不同环境境的计算机上上,因此没有有一个普遍的的转换规则,,转换的主要要依据是DBMS的功能、限制制等。对于关关系模型来说说,这种转换换通常都比较较简单。山东财政学院院计算机信息息工程学院关系模式优化化对关系数据模模型进行优化化的过程包括括:确定数据依赖赖。按照需求分分析阶段所得得到的语义,,分别写出关关系模式中的的属性之间的的数据依赖。。按照数据依赖赖的理论对关关系模式逐一一进行分析,考查是否存存在部分函数数依赖、传递递函数依赖、、多值依赖等等,确定各关关系模式分别别属于第几范范式。结合范式分析析结果,并根根据实际应用用情

温馨提示

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

评论

0/150

提交评论