关系数据库介绍优秀课件.ppt
第1页,本讲稿共35页理解函数依赖的含义掌握各范式的概念及其之间的关系理解规范化的基本思想掌握数据库设计的基本步骤概念结构设计的方法和步骤掌握生成E-R图的方法掌握E-R图向关系模型的转换数据库物理设计的内容和方法、目标2第2页,本讲稿共35页规范化理论的提出例如,要求设计教学管理数据库,其关系模式SCD如下:SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)非规范化理论设计数据库可以存在:数据冗余插入异常删除异常更新异常关系数据库的规范化理论主要包括:函数信赖、范式(NormalForm)和模式设计三个方面的内容。其中,函数信赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。SNOSNAGEDEPTMNCNOSCORES1赵一17计算机刘伟C190S1赵一17计算机刘伟C285S2钱二18信息王平C557S2钱二18信息王平C680S2钱二18信息王平C770S2钱二18信息王平C570S3孙三20信息王平C10S3孙三20信息王平C270S3孙三20信息王平C485S4李四19自动化刘伟C1933第3页,本讲稿共35页函数依赖 关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖。定义定义设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X决定函数Y,或Y函数依赖于X,记作XY。4第4页,本讲稿共35页函数依赖的基本性质投影性(SNO,CNO)SNO和(SNO,CNO)CNO。扩张性若XY且WZ,则(X,W)(Y,Z)合并性若XY且XZ则必有X(Y,Z)分解性如,若X(Y,Z),则XY且XZ5第5页,本讲稿共35页函数依赖的相关概念完全依赖完全依赖设关系模式R(U),U是属性全集,X和Y是U的子集,如果XY,并且对于X的任何一个真子集X,都有,则称Y对X完全函数依赖,记作。部分依赖:部分依赖:如果XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作。例如,在关系模式SCD中,因为SNOSCORE,且CNOSCORE,所以有:(SNO,CNO)SCORE。而SNOAGE,所以(SNO,CNO)AGE。传递依赖传递依赖:设有关系模式R(U),U是属性全集,X,Y,Z是U的子集,若XY,(YX)但YX,而YZ,则称Z对X传递函数依赖。如果YX,则XY,这时称Z对X直接函数依赖,而不是传递函数依赖。XY6第6页,本讲稿共35页函数依赖定义的码定义定义设K为R(U,F)中的属性或属性组合,若则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。7第7页,本讲稿共35页规范化设计方法规范化设计方法规范化设计方法规范化设计方法一个低级范式的关系模式,通过分解(投影)的方法转换成多个高一级范式的关系模式的这种过程称为规范化设计。满足一定条件的关系模式1NF,2NF,3NF是E.F.Codd在1 971年提出的,1974年Codd和Boyce共同提出BCNF范式,为第三范式的改进规范化设计8第8页,本讲稿共35页第一范式如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF即关系中每个属性都是不可再分的简单项9第9页,本讲稿共35页例:将学生简历及选课等数据设计成一个关系模式:STUDENT STUDENT(SNO,SNAME,AGE,SEX,CLASS,DEPTNO,DEPTNAME,CNO,CNAME,SCORE,CREDIT)设该关系模式满足下列函数依赖:FSNOSNAME,SNOAGE,SNOSEX,SNOCLASS,CLASSDEPTNO,DEPTNODEPTNAME,CNOCNAME,(SNO,CNO)SCORE,CNOCREDIT每一属性对应的域为简单域,即其域值不可再分第一范式10第10页,本讲稿共35页第二范式如果关系模式R1NF,且每个非主属性都完全函数依赖于R的每个关系键,则称R属于第二范式,简称2NF。从1NF关系中消除非主属性对关系键的部分函数依赖,则可得到2NF关系。如果R的关系键为单属性,或R的全体属性均为主属性,则R属于2NF 11第11页,本讲稿共35页例例例例:SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)第二范式SNOSNAGEDEPTMNS1赵一17计算机刘伟S2钱二18信息王平S3孙三20信息王平S4李四21自动化刘伟SNOCNOSCORES1C190S1C285S2C557S2C680S2C776S2C570S3C10S3C270S3C485S4C193表SC表SD设该关系模式满足下列函数依赖:FSNOSN,SNOAGE,SNODEPT,SNOMN,(SNO,CNO)SCORE,12第12页,本讲稿共35页2NF的缺点数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数。插入异常。当一个新系没有招生时,有关该系的信息无法插入。删除异常。某系学生全部毕业而没有招生时,删除全部学生的记录也随之删除了该系的有关信息。更新异常。更换系主任时,仍需改动较多的学生记录。13第13页,本讲稿共35页第三范式如果关系模式R2NF,且每个非主属性都不传递依赖于R的每个关系键,则称R属于第三范式,简称3NF没有非主属性对键的部分依赖,也没有非主属性对键的传递依赖,解决了2NF中存在的四个问题p数据冗余降低系主任的名字存储的次数与该系的学生人数无关,只在关系D中存储一次。p不存在插入异常当一个新系没有学生时,该系的信息可以直接插入到关系D中,而与学生关系S无关。p不存在删除异常要删除某系的全部学生而仍然保留该系的有关信息时,可以只删除学生关系S中的相关学生记录,而不影响系关系D中的数据。p不存在更新异常更换系主任时,只需修改关系D中一个相应元组的MN属性值,从而不会出现数据的不一致现象14第14页,本讲稿共35页BCNF范式如果关系模式R是1NF,且所有的函数依赖XY(YX),决定因素X都包含了R的一个候选键,则称R属于BCNF范式。满足BCNF的关系将消除任何属性(主属性或非主属性)对键的部分函数依赖和传递函数依赖15第15页,本讲稿共35页1NF1NF消除非主属性对码的部分函数依赖2NF2NF3NF3NF消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖BCNFBCNF规范化过程16第16页,本讲稿共35页需要技能数据库的基本知识和数据库设计技术;计算机科学的基础知识和程序设计的方法和技巧;软件工程的原理和方法;应用领域的知识。分类数据库的结构设计数据库的行为设计数据库设计17第17页,本讲稿共35页基于E-R模型的设计方法基于E-R模型的数据库设计方法是由P.P.S.chen 于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式18第18页,本讲稿共35页基于3NF的数据库设计方法具体设计步骤p设计企业模式,利用规范化得到的3NF关系模式画出企业模式;p设计数据库的概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式;p设计数据库的物理模式(存储模式);p对物理模式进行评价;p实现数据库。19第19页,本讲稿共35页需求分析-1调查分析用户的活动调查分析用户的活动调查组织机构情况调查各部门的业务活动情况收集和分析需求数据,确定系统边界收集和分析需求数据,确定系统边界信息需求指目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象处理需求指用户为了得到需求的信息而对数据进行加工处理的要求安全性和完整性的需求20第20页,本讲稿共35页需求分析-2编写需求分析说明书编写需求分析说明书系统概况,系统的目标、范围、背景、历史和现状;系统的原理和技术,对原系统的改善;系统总体结构与子系统结构说明;系统功能说明;数据处理概要、工程体制和设计阶段划分;系统方案及技术、经济、功能和操作上的可行性21第21页,本讲稿共35页数据字典数据项数据结构数据流数据存储处理过程22第22页,本讲稿共35页概念结构设计从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。概念模型不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模型更为稳定。概念模型不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而更有可能准确反映用户的信息需求23第23页,本讲稿共35页概念结构设计的方法设计概念结构的E-R模型可采用四种方法自顶向下。先定义全局概念结构E-R模型的框架,再逐步细化。自底向上。先定义各局部应用的概念结构E-R模型,然后将它们集成,得到全局概念结构E-R模型。逐步扩张。先定义最重要的核心概念E-R模型,然后向外扩充,以滚雪球的方式逐步生成其他概念结构E-R模型。混合策略。该方法采用自顶向下和自底向上相结合的方法,先自顶向下定义全局框架,再以它为骨架集成自底向上方法中设计的各个局部概念结构24第24页,本讲稿共35页概念结构设计的步骤自底向上的设计方法进行数据抽象,设计局部E-R模型,即设计用户视图。集成各局部E-R模型,形成全局E-R模型,即视图的集成25第25页,本讲稿共35页数据抽象分类(分类(Classification)分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体聚集(聚集(Aggregation)聚集定义某一类型的组成成份,将对象类型的组成成份抽象为实体的属性26第26页,本讲稿共35页E-R图的生成局部局部E-R模型设计模型设计实体具有描述信息,而属性没有属性不能与其他实体具有联系,联系只能发生在实体之间全局全局E-R模型设计模型设计合并局部合并局部E-R图,生成初步图,生成初步E-R图图消除不必要的冗余,生成基本消除不必要的冗余,生成基本E-R图图27第27页,本讲稿共35页E-R图向关系模型的转换逻辑设计分步骤p初始关系模式设计;p关系模式规范化;p模式的评价与改进28第28页,本讲稿共35页数据模型优化的方法确定范式级别确定范式级别考查关系模式的函数依赖关系,确定范式等级,逐一分析各关系模式实施规范化处理实施规范化处理确定范式级别后,利用规范化理论,逐一考察各个关系模式,根据应用要求,判断它们是否满足规范要求29第29页,本讲稿共35页模式评价与改进模式评价模式评价功能评价性能评价模式改进模式改进合并分解30第30页,本讲稿共35页数据库物理设计的步骤确定物理结构,在关系数据库中主要指存取方法和存储结构评价物理结构,评价的重点是时间和空间效率31第31页,本讲稿共35页数据库物理设计的内容和方法为关系模式选择存取方法;设计关系、索引等数据库文件的物理存储结构32第32页,本讲稿共35页关系模式存取方法的选择索引存取方法的选择索引存取方法的选择聚簇存取方法的选择聚簇存取方法的选择 HASH存取方法的选择存取方法的选择 33第33页,本讲稿共35页规范化理论是以关系模型为背景提出的,同时对于其他一般的数据库逻辑设计同样具有理论上的意义每一个分量必须是不可分的数据项,满足这个条件的关系模式术语第一范式(1NF)数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系一个低一级的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程称为规范化规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即“一事一地”的模式设计原则规范化理论为数据库设计提供了理论的指南和工具,但仅仅是指南和工具,并不是范式程度越高,模式就越好必须结合应用环境和现实世界的具体情况合理的选择数据库模式小结34第34页,本讲稿共35页 谢 谢!第35页,本讲稿共35页