精华内容
下载资源
问答
  • 数据库逻辑设计的工具-关系数据库的规范化理论。 数据依赖 关系:描述实体及其属性、实体间的联系。它是一个二维表,是涉及属性的笛卡尔积的一个子集 关系模式:用来定义关系{Student(StuNo,SName,SSex,SAge)} ...

    关系数据库逻辑设计

    • 针对某一个具体问题,应如何构造一个适合于他的数据模式,即应该构造几个关系,每个关系有那些属性组成等。

    • 数据库逻辑设计的工具-关系数据库的规范化理论。

    数据依赖

    关系:描述实体及其属性、实体间的联系。它是一个二维表,是涉及属性的笛卡尔积的一个子集

    关系模式:用来定义关系{Student(StuNo,SName,SSex,SAge)}

    关系数据库:基于关系模型的数据库,利用关系来描述现实世界。从形式上看,它由一组关系组成。

    关系数据库的模式:定义这组关系的关系模式的全体。

    关系模式的形式化定义

    关系模式有五部分组成,即它是一个五元组:

    R(U,D,DOM,F)

    • R:关系名

    • U:组成该关系的属性名集合

    • D:属性组U中属性来自的域

    • DOM:属性向域的映像集合

    • F:属性间数据的依赖关系集合

    关系模式的简化表示

    关系模式R(U,D,DOM,F),简化一个三元组:

    R(U,F)

    当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系

    什么是数据依赖

    完整性约束的表现形式:

    • 限定属性的取值范围

    • 定义属性值间的相互关联(主要体现在值的相等与否),这就是数据依赖,它是数据库模式设计的关键

    数据依赖的主要类型

    • 函数依赖(简称FD)

    • 多值依赖(简称MVD)

    • 连接依赖

    规范化理论

    • 规范化理论正是用来改正关系模式的

    • 通过分解关系模式来消除其中不合适的数据依赖

    • 已解决插入异常、删除异常、更新异常和数据冗余问题

    相关概念:

    • 函数依赖

    • 平凡函数依赖与非平凡函数依赖

    • 完全函数依赖与部分函数依赖

    • 传递函数依赖

    函数依赖

    设R(U)是一个属性集U上的关系模式, X和Y是U的子集

    若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。X称为这个函数依赖的决定属性集(Determinant)

    函数依赖是指R中所有关系实例均要满足的约束条件,函数依赖是语义范畴的概念。

    平凡函数依赖与非平凡的函数依赖

    在关系模式R(U)中,对于U的子集X和Y

    • 如果X→Y,但Y∉X,则称X→Y是非平凡的函数依赖

    • 若X→Y,但Y∈X则称X→Y是平凡的函数依赖

    例:

    • 非平凡函数依赖:(Sno,Cno)→Grade

    • 平凡函数依赖:(Sno,Cno)→Sno、(Sno,Cno)→Cno

    对于任一关系模式,平凡函数依赖都是必然成立的, 它不反映新的语义,因此若不特别声明, 我们总是讨论非平凡函数依赖

    完全函数依赖和部分函数依赖

    在关系模式R(U)中

    • 如果X→Y,并且对于X的任何一个真子集X’,都有X’→/Y, 则称Y完全函数依赖于X,记作X→fY

    • 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作 X→pY(只可能是两个对应一个)

    例:
    在这里插入图片描述

    传递函数依赖

    在关系模式R(U)中

    • 如果X→Y, Y→Z,且Y∉X, Y→X,则称Z传递函数依赖于X

    • 如果Y→X, 即X←→Y,则Z直接依赖于X

    例:

    在关系Std(Sno,Sdept,Mname)中,

    有:Sno→Sdept,Sdept→Mname,则:Mname传递函数依赖于Sno

    • 设K为关系模式R(U,F)中的属性或属性组合(K为R(U,F)的一个子集),若K完全函数依赖于U,则K称为R的一个侯选码(Candidate Key)

    • 若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)

    • 候选码能够唯一地标别关系的元组,是关系模式中一组最重要的属性,也称之为主属性

    • 主码又和外码一起提供了一个表示关系间联系的手段

    范式

    • 关系数据库中的关系必须满足一定的要求,满足不同程度要求的不同范式。

    • 范式是符合某一种级别的关系模式的集合

    范式的种类有:

    1. 第一范式(1NF)

    2. 第二范式(2NF)

    3. 第三范式(3NF)

    4. BC范式(BCNF)

    5. 第四范式(4NF)

    6. 第五范式(5NF)

    各范式之间关系

    1NF 被包含于 2NF 被包含于 3NF 被包含于 BCNF 被包含于 4NF 被包含于 5NF(高级别范式可以推出低级别范式)

    • 第一范式:某一关系模式R的所有属性都是不可分的基本数据项,则R属于1NF

      • 第一范式是对关系模式的最基本的要求,不满足第一范式的数据库模式不能称为关系数据库,但是满足第一范式的关系模式并不一定是一个好的关系模式
    • 第二范式:若关系模式R∈ 1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈ 2NF。

      • 例:SLC(Sno, Sdept, Sloc, Cno, Grade) ∈ 1NF,SC(Sno, Cno, Grade) ∈ 2NF,SL(Sno, Sdept, Sloc) ∈ 2NF
    • 第三范式:关系模式 R∈ 1NF ,且不存在非主属性对码的传递函数依赖,则称R∈ 3NF

      • 若R∈ 3NF,则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。

      • 例:SL(Sno, Sdept, Sloc) ∈ 2NF,SD(Sno, Sdept) ∈ 3NF,DL(Sdept, Sloc) ∈ 3NF

    • BC范式:设关系模式R∈ 1NF,如果对于R的每个函数依赖,X→Y,若Y不属于X,则X必含有候选码,那么R∈ BCNF。换句话说,在关系模式R中,如果每一个决定属性集都包含候选码,则R∈ BCNF

      • BCNF的关系模式所具有的性质

        • 所有非主属性都完全函数依赖于每个候选码

        • 所有主属性都完全函数依赖于每个不包含它的候选码

        • 没有任何属性完全函数依赖于非码的任何一组属性

    关系模式的规范化

    • 关系数据库的规范化理论是数据库逻辑设计的工具

    • 一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化

    • 规范化程度可以有6个不同的级别,即6个范式

    **问题:**规范化程度过低的关系不一定能够很好地描述现实世界,可能会存在插入异常、 删除异常、 修改复杂、 数据冗余等问题

    **解决方法:**就是对其进行规范化,转换成高级范式。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。

    关系模式规范化步骤

    在这里插入图片描述

    1. 被包含于规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“ 分离”

    2. 被包含于即采用“ 一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系

    3. 被包含于若多于一个概念就把它“分离”出去。因此所谓规范化实质上是概念的单一化

    关系模式的规范化过程是通过对关系模式的分解来实现的

    • 把低一级的关系模式分解为若干个高一级的关系模式的方法并不唯一

    • 在这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的方法才有意义

    关系模式的分解

    具有无损连接性的模式分解

    • 如果一个分解具有无损连接性,则它能够保证不丢失信息

    • 如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况

    • 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准

      • 具有无损连接性的分解不一定能够保持函数依赖

      • 同样,保持函数依赖的分解也不一定具有无损连接性

    规范化理论提供了一套完整的模式分解算法,按照这套算法可以做到

    • 若要求分解具有无损连接性,那么模式分解一定能够达到4NF

    • 若要求分解保持函数依赖,那么模式分解一定能够达到3NF,但不定能够达到BCNF

    • 若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF

    小结

    • 规范化理论为数据库逻辑设计提供了理论的指南和工具,也仅仅是指南和工具

    • 并不是规范化程度越高,模式就越好,必须结合应用环境和现实世界的具体情况合理地选择数据库模式

    展开全文
  • 关系数据库的规范化理论与数据库设计 第七章 关系数据库的规范化理论与数据库设计 1、“不好”的关系模式有以下4个问题: a、数据冗余 b、更新异常 c、插入异常 d、删除异常 2、函数依赖 数据依赖中重要的是函数...

    关系数据库的规范化理论与数据库设计

    第七章 关系数据库的规范化理论与数据库设计
    1、“不好”的关系模式有以下4个问题:
    a、数据冗余 b、更新异常 c、插入异常 d、删除异常
    
    2、函数依赖
    数据依赖中重要的是函数依赖和多值依赖
    (1)函数依赖定义:设R(U)是属性集U上的一个关系模式,XY均为U的子集。若对于RU)的
    任一个可能的关系r,r中不可能有两个元组在X中的属性值相等,而在Y中的属性值不等,那么称X
    函数决定Y X->Y,Y函数依赖于XX为决定因素(函数中的一一映射关系)
    (2)函数依赖包括非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖及传递函
    数依赖
    平凡函数依赖:
    非平凡函数依赖: 如果 XY,但 YX, 则称 XY 是平凡的函数依赖
    完全函数依赖: 在关系模式 RU)中,如果XY,并且对于 X 的任何一个真子集X’,都有
    XY, 则称 Y 完全函数依赖于 X,记作:
    部分函数依赖:XY,但Y不完全函数依赖于X,则称 Y 部分函数依赖于X,记作:
    传递函数依赖: 在关系模式R(U)中,如果XY(Y ÍX)YX ,YZ,则称 Z 传递函数依赖于X(3) 函数依赖的逻辑蕴含
    设RU, F>是一个关系模式,X可以由F推导出Y,则称F逻辑蕴含XY
    (4)码:设 K 为关系模式 R<U,F>中的属性或属性组合。若 ,并且不存在K的真子集决定U,则 
    K 称为 R 的一个侯选码(Candidate Key)。若关系模式 R 有多个候选码,则选定其中的一个做
    为主码(Primary key)。
    主属性与非主属性
    全码(ALL KEY):主码为关系模式所有属性
    如何找候选码:a.找出F集合的所有仅出现在左边的属性和左右两边都没出现的属性,组合为U1,
    U1必包含在候选码中;b.如果U1->U,则U1为一个候选码,否则然后增加其他属性到U1中组成属性
    组K,使K->U,则K为候选码,再找出其他候选码
    (5)函数依赖的公理系统
    a.自反律:若Y ÍX Í U,X-> YF所逻辑蕴含。
    b.增广律:若X->YF所逻辑蕴含,且Z Í U,则XZ->YZ为F所逻辑蕴含。
    c.传递律:若X- >YY->ZF所逻辑蕴含,则X->ZF所逻辑蕴含。
    推论
    合并规则:X->Y,X->Z,X->YZ
    伪传递规则:X->Y,WY->Z,则XW->Z
    分解规则:X->YZÍY,X->Z
    
    31NF、2NF,3NF,BCNF
    (1)1NF: 1NF的模式是关系数据库的最基本要求
    如果关系模式R的所有属性都是不可再分解的,则称R属于第一范式,简称1NF,记做R1NF。
    (2) 2NF:R∈ INF,且每一个非主属性完全函数依赖于码,则R2NF
    (3) 3NF: 关系模式R2NF,且每个非主属性都不传递依赖于码,则R3NF
    (4) BCNF: 若关系模式R1NF,且对于每个非平凡的函数依赖X-> Y都有X包含码,则R ∈BCNF。在函数依赖的范围内,BCNF达到了最高的规范化程度。
    
    4、多值依赖和4NF
    (1)多值依赖:设R(U)是一个属性集U上的一个关系模式, XYZU的子集,并且ZUXY,多值依赖 X→→Y成立当且仅当对R的任一关系r,r在(XZ)上的每个值对应一组Y的值,这
    组值仅仅决定于X值而与Z值无关。
    平凡多值依赖和非平凡的多值依赖
    若X→→Y,而Z=φ,则称 X→→Y为平凡的多值依赖, 否则称X→→Y为非平凡的多值依赖
    特性:a.多值依赖具有对称性 若X→→Y,则X→→Z,其中ZUXY
    b.函数依赖是多值依赖的特殊情况。若XY,则X→→Y。
    c. 若函数依赖XYRU)上成立,则对于任何Y’ Ì Y均有XY’ 成立
    多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y’ Ì YX→→Y’ 成立
    d. 多值依赖的有效性与属性集的范围有关.X→→YU上成立,则在WX YÍWÍ U)上一定成立;反之则不然,即X→→YWW ÌU)上成立,在U上并不一定成立.
    (2)4NF关系模式R<UF>1NF,如果对于R的每个非平凡多值依赖X→→YY Í X),X都含有候选
    码,则R4NF。
    根据定义:不允许有非平凡且非函数依赖的多值依赖,X包含码,即X->Y,实际就是函数依赖
    如果R4NF, 则R ∈ BCNF
    
    5、关系模式分解
    常用的等价标准有要求分解具有无损连接性的和分解是保持函数依赖的两种。
    关于模式分解的几个事实
    (1)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。
    (2)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF。
    (3)若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNF。
    (4)若要求分解既具有无损连接性,又保持函数数依赖,则模式分解可以达到3NF,但不一定能达
    到BCNF
    
    6、数据库的分析与设计
    (1)数据库设计的6个阶段:需求阶段、概念结构阶段、逻辑结构设计、物理结构设计、数据库实
    施、运行维护
    (2)设计概念结构通常有4类方法:自顶向下、自底向上、由里向外和混合策略。
    E-R模型为工具来描述概念结构。最常用的设计策略是自底向上设计策略
    E-R方法的步骤
    a.设计局部E-R图 b.设计全局E-R图 解决属性冲突、结构冲突、命名冲突 c.全局E-R图的优化
    (3) 逻辑结构设计
    E-R模型向关系模型转换: a.实体转换为关系,属性转换为关系的属性,实体码转换为关系的码
    b.11的联系,可以转换为一个关系,也可以与联系的任意一端实体关系模式合并
    c.1:n的联系可以转换为一个独立关系(属性为1端和n端实体的码和联系本身属性)(码为n端实体
    码),也可以与联系的n端实体关系模式合并(加入1端实体码)
    d.m:n联系转换为一个关系模式(码为各实体码组合)
    e.3个或3个以上的多元联系转换为一个关系模式,模式的码由联系的实体码组成。
    
    7、物理结构设计
    (1)存储记录的格式设计:记录的垂直分割法、记录的水平分割法。
    (2)存储方法设计:顺序存放、散列存放和聚簇存放。
    (3)存取方法设计:索引是一种非常重要的存取路径(建立在经常查询和连接的属性组上)
    
    8、规范化理论是数据库设计的理论基础,可以应用到数据库设计的不同阶段。
    
    展开全文
  • 规范化是一种可以帮助您避免数据异常和管理数据的其他问题的技术。 目的: 消除数据冗余(因此使用更少的空间) 使更改数据变得更容易,并且在这样做时避免出现异常 使参照完整性约束更易于实施 产生易于理解的结构...

    一.概述

    数据库标准化是EF Codd在1970年代开发的,是许多数据库设计的标准要求。规范化是一种可以帮助您避免数据异常和管理数据的其他问题的技术。

    目的

    • 消除数据冗余(因此使用更少的空间)
    • 使更改数据变得更容易,并且在这样做时避免出现异常
    • 使参照完整性约束更易于实施
    • 产生易于理解的结构,该结构与数据所代表的情况非常相似,并可以进行扩展

    二.数据依赖

    一个关系模式中属性之间的相互约束、相互制约关系,称作数据依赖。是现实世界属性间相互联系的抽象,数据内在的性质,语义的体现。一般分为函数依赖、多值依赖(MVD)、连接依赖。

    '不好’的关系模式存在的问题

    当前存在一个关系模式:SCD(Sno,Sname,Ssex,Sdept,Sdean,Cno,Cname,Grade)
    其中,SCD表示学生关系,对应的各属性依次为学号、姓名、性别、院系、系主任、课程号、课程名称和成绩。关系的主码为(Sno,Cno)。
    在这里插入图片描述

    这个关系模式存在如下问题。

    1. 数据冗余
      当一个学生选修多门课程就会出现数据冗余。假如某个学生(“s4”,“丁天波”,“男”,“管理学院”,“张胜”)共选了20门课程,则该学生的学号、姓名、性别、院系、系主任信息要重复存储20次,如果全校有一万名学生都要选修多门课程,则这样的冗余就会造成大量的空间上的浪费。同时,同一门课程如果有多名学生选修,课程名称要重复存储多次,这样进一步增加了存储空间的开销。

    2. 更新异常
      由于存在大量的数据冗余,当更新数据库中的数据时,系统要付出很大的代价来维护数据库的完整性。否则会面临数据不一致性的危险。例如,某院系要换系主任,或某门课程要修改名字,必须要修改每一个相关的元组,如果一部分修改了,而另外一部分未修改,则造成了数据的不一致性。

    3. 插入异常
      如果刚开出一门课程,但是这样的课程还没有学生选修,则无法把课程信息插入到该数据库中;如果一个学生刚刚入学,还没有选修任何课程,则这样的学生无法插入到该数据库中;如果一个院系刚刚成立,还没有招收任何学生,则这个院系信息也无法添加到数据库中。

    4. 删除异常
      如果选修某门课程的学生都毕业了,在删除学生信息时,则相关的课程信息业会跟着被删除。

    鉴于以上种种问题,可以得出结论:设计的该关系模式SCD并不是一个好的关系模式。一个好的关系模式应该不会发生插入异常、删除异常和更新异常,数据冗余也会降到最小。

    一个关系模式之所以会产生上述问题,是由于关系模式中存在着不良的函数依赖关系引起的。

    所以需要通过规范化理论来改造关系模式,消除不合适的数据依赖,解决以上问题。

    函数依赖

    函数依赖( Functional Dependency,简记为FD),是关系模式中属性之间的一种逻辑依赖关系。属性间的这种依赖关系类似于数学中的函数y=f(×),自变量x确定之后,相应的函数值y也就惟一地确定了。

    分析数据依赖

    现在我们建立一个描述学校教务的数据库,该数据库涉及的对象包括学生的:

    • 学号(Sno)
    • 所在系(Sdept)
    • 系主任姓名(Mname)
    • 课程名(Cname)
    • 成绩(Grade)

    假设我们用一个单一的关系模式Student来表示,则该关系模式的属性集为: U ={ Sno,Sdept,Mname,Cname,Grade }

    现实世界的已知事实(语义)告诉我们:

    1. 一个系有若干学生,但一个学生只属于一个系。
    2. 一个系只有一名主任。
    3. 一个学生可以选修多门课程,每门课程有若干学生选修。
    4. 每个学生所学的每门课程都有一个成绩。

    从上述事实我们可以得到属性集U上的一组函数依赖F:F = { Sno→Sdept,Sdept→ Mname,(Sno,Cname)→Grade } 。即:学号决定所在系,所在系决定系主任名,学号和课程决定成绩。
    在这里插入图片描述

    函数依赖的定义:

    设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,x和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称x决定函数Y,或y函数依赖于×,记作X→Y。我们称×为决定因素,Y为依赖因素。当Y不函数依赖于x时,记作:x-/->Y。当→Y且Y→×时,则记作:X<–>Y。

    1. 非平凡函数依赖与平凡函数依赖

    在关系模式R(U)中,对于U的子集X和Y
    如果X→Y,但Y不属于X,则称X→Y是非平凡的函数依赖
    若X→Y,但Y 属于X,则称X→Y是平凡的函数依赖

    举例:
    在关系模式SC(Sno, Cno, Grade)中,(Sno, Cno)→ Grade,学号和课程决定成绩,但是成绩不属于学号或课程,则为非平凡的函数依赖。
    (SnO,CNO)→CNO,学号和课程可以决定学号,学号也属于学号和课程,则为平凡的函数依赖,对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新因此若不特别声明,我们总是讨论非平凡函数依赖。

    2. 完全函数依赖与部分函数依赖

    定义:
    设关系模式R(U),U是属性全集,X和Y是U的子集,如果X→Y,并且对于X的任何一个真子集X’,都有X’-\ ->Y,则称Y对X完全函数依赖(Fu11 Functiona1 Dependency ) ,记作X-f>Y。
    如果对X的某个真子集X’,有X’→Y,则称Y对X部分函数依赖(Partia1 Functiona1 Dependency ) ,记作X-p->Y。

    由定义可知:

    • 只有当决定因素是组合属性时,讨论部分函数依赖才有意义,
    • 当决定因素是单属性时,只能是完全函数依赖。

    3. 传递函数依赖和直接函数依赖

    如果X->Y,Y->Z, 这时称Z对X传递函数依赖。
    如果Y→X,则X<–>Y,这时称Z对X直接函数依赖,而不是传递函数依赖。

    综上所述,函数依赖分为完全函数依赖、部分函数依赖和传递函数依赖三类,它们是规范化理论的依据和规范化程度的准则。

    三、范式

    概念

    数据库设计的规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数据插入、删除时发生异常现象。这就要求关系数据库设计出来的关系模式要满足一定的条件。我们把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为范式(Normal Form ) 。

    历史

    • 范式的概念最早由E.F.Codd提出。
    • 从1971年起,Codd相继提出了关系的三级规范化形式,即第式(1NF)、第二范式(2NF)、第三范式( 3NF )。
    • 1974年,Codd和Boyce以共同提出了一个新的范式的概念,良Boyce-Codd范式,简称BC范式。
    • 1976年Fag in提出了第四范式,·后来又有人定义了第五范式。
    • 至此在关系数据库规范中建立了一个范式系列:1NF,2NF,3NF, BCNF,4NF,5NF,一级比一级有更严格的要求。

    各个范式之间的联系可以表示为:5NF ∈4NF ∈BCNF ∈3NF ∈ 2NF ∈1NF
    若某一关系模式R为第n范式,可简记为R∈nNF
    在这里插入图片描述

    第一范式(First Normal Form)

    第一范式是最基本的规范形式,即关系中每个属性都是不可再分的简单项。但是满足第一范式的关系模式并不一定是一个好的关系模式。
    如果关系模式R,其所有的属性均为简单属性,即每个属性都城是不可再分的,则称R属于第一范式,简称1NF,记作R ∈1NF。

    :关系模式SLC(Sno, Sdept, Sloc, Cno, Grade),其中各属性分别为学号,所在系,宿舍楼,课程号和成绩。规定:一个学生就属于一个系,每个系的学生住在同一个宿舍楼,一个学生学的每一门课程都有唯一的成绩。
    写出所有的函数依赖:
    Sno → Sdept,Sdppt→ Sloc,(Sno, Cno)→ Grade
    部分函数依赖:
    (Sno, Cno) →Sno , (Sno, Cno)→Sdept
    (Sno, Cno)→Sloc,(Sno, Cno)→Cno

    (⑴)插入异常
    (1)插入异常
    假设Sno=95102,Sdept=IS,Sloc=N的学生还未选课,因课程号是主属性,I该学生的信息无法插入SLC
    (2)删除异常
    假定某个学生本来只选修了3号课程这一门课。现在因身体不适,他连3号课程t选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除(3)数据冗余度大
    如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次(4)修改复杂
    如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc果这个学生选修了10门课,则必须无遗漏地修改10个元组中全部Sdept、Sloc信
    在这里插入图片描述

    第二范式(Second Normal Form)

    如果关系模式R∈ 1NF,且每个非主属性都完全函数依赖于R的每个关系键,则称R属于第二范式 ,简称2NF,记作R∈ 2NF。

    在关系模式SCD中,SNO,CNO为主属性,AGE,DEPT,MN,MN,SCORE均为非主属性,经上述分析,存在非主属性对关系键的部分函数依赖,所以SCD不属于2NF。

    在这里插入图片描述

    第三范式(3rd Normal Form)

    在以下情况下,表为第三范式:

    它是第二范式
    它不包含传递依赖项(非键属性通过另一个非键属性依赖于主键)

    现在,所有这些表均处于第三范式。对于大多数表,第三范式通常就足够了,因为它避免了最常见的一种数据异常。建议您在实现之前将使用的大多数表转换为第三范式,因为在大多数情况下,这将实现数据库归一化概述中列出的归一化目标。

    BC范式 (Boyce-Codd Normal Form)

    ·如果一个关系数据库中所有关系模式都属于3NF,则已在很大程度上消除了插入异常和删除异常,但由于可能存在主属性对候选键的部分依赖和传递依赖,因此关系模式的分离仍不够彻底。

    ·如果一个关系数据库中所有关系模式都属于BCNF,那么在函数依赖的范畴内,已经实现了模式的彻底分解,消除了产生插入异常和删除异常的根源,而且数据冗余也减少到极小程度。

    第四范式(4th Normal Form)

    因此,如果满足以下条件,则表格的格式为第4种形式:

    它是Boyce-Codd的标准格式
    它不包含一个以上的多值依赖项

    第五范式(5th Normal Form)

    四、 关系模式的规范化

    到目前为止,规范化理论已经提出了六类范式(有关4NF和5NF的内容不再详细介绍)。
    各范式级别是在分析函数依赖条件下对关系模式分离程度的一种测度,范式级别可以逐级升高。
    一个低一级范式的关系模式,通过模式分解转化为若干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的规范化( Normalization)。

    关系模式规范化的目的和原则

    一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,但这只是最基本的规范化。这样的关系模式是合法的。但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等弊病。规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。

    关系模式规范化的原则

    规范化的基本原则就是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。若多于一个实体,就把它“分离”出来。因此,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。

    关系模式规范化的步骤

    规范化就是对原关系进行投影,消除决定属性不是候选键的任何函数依赖。具体可以分为以下几步:

    1.对1NF关系进行投影,消除原关系中非主属性对键的部分函数依赖,将1NF关系转换成若干个2NF关系。
    2.对2NF关系进行投影,消除原关系中非主属性对键的传递函数依赖,将2NF关系转换成若干个3NF关系。
    3.对3NF关系进行投影,消除原关系中主属性对键的部分函数依赖和传递函数依赖,也就是说使决定因素都包含一个候选键。得到一组BCNf关系

    展开全文
  • 规范化理论 - 范式

    2021-02-17 10:31:44
    第一范式的概念: 分析:不满足1NF,将高级职称人数去掉后就满足1NF了 第二范式的概念: ...分析:存在数据冗余,更新异常,插入异常,删除异常的问题,解决方案是将CNO和CREDIT属性提取到另一张表中,原来的表...

    第一范式的概念:

    分析:不满足1NF,将高级职称人数去掉后就满足1NF了

     

    第二范式的概念:

    分析:存在数据冗余,更新异常,插入异常,删除异常的问题,解决方案是将CNO和CREDIT属性提取到另一张表中,原来的表中去掉CREDIT属性。

    因为CREDIT属性部分依赖主键SNO和CNO(通过CNO就能确定CREDIT了)

     

    第三范式的概念:

    分析:由于这一张表中的主键只有一个,所以它满足第二范式,该关系模式存在数据冗余,更新异常,插入异常,删除异常的问题,解决方案是将DNO,DNAME,LOCATION提取出来成立一个关系模式,原来的关系模式中去掉DNAME,DLOCATION属性。

     

    BC范式的概念:

     

    展开全文
  • 关系数据模型优化 关系数据模型优化通常以关系规范化理论为指导,其方法如下: 1. 确定各属性间的函数依赖关系 2. 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系 3. 判断每个关系模式的范式,根据...
  • **1.**要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干...
  • 2.不规范的关系模式可能会带来的问题 以下面这个模式为例 学生(学号,姓名,系名,系主任,课程号,课程名,成绩) ①冗余度大 学生每选一门课,个人信息和课程信息都要存一次,数据冗余 ②插入异常 该模式的关键字...
  • 第8章 关系数据库规范化理论 (1) 基础概念 属性之间的依赖关系:X->Y (X决定Y or Y依赖于X) 严格的形式化定义:t1[x]=t2[x]=>t1[Y]=t2[Y] 参考离散数学:P->Q ,P为真Q为假才为假,P为假无论Q为什么均...
  • r是规范化的关系,关系数据库研究的关系都是规范化的关系。同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性,也就是无重复的列; 第二范式(2NF):如果关系模式R是1NF,且每个非主...
  • 关系模式R 的规范化程度最高达到 ?( 1NF) 解析: 因为关系模式R的候选关键码为(S,C)和(S,T), 所以C, S,T 是主属性,所以,D, G 是非主属性。 但 C->D ,可知,非主属性D对 码(主属性C) 的部分函数依赖,...
  • 如果你跟数据库打交道的日子足够长的话,你肯定听过“规范化”这个术语。可能会有人问你:“你的数据库是规范化数据库吗?”或者“你的数据库满足BCNF范式吗?”大家常常会把规范化晾在一边,觉得这是个多余的东西,...
  • 函数依赖 什么是依赖:学号可以确定姓名,则学号决定姓名,或者说姓名依赖学号 什么是部分函数依赖:学号和课程号可以共同确定姓名,学号也可以确定姓名 什么是传递函数依赖:a确定b,b确定c,推出a确定c ...
  • 实行规范化管理在理论和实践中都证明是极为重要的。首先,这是现代化大生产的客观要求。现代企业是具有高度分工与协作的社会化大生产,只有进行规范化管理,才能把成百上千人的意志统一起来,形成合力为实现企业的...
  • 数据库规范化技巧

    2021-01-28 00:29:22
    数据库规范化技巧Luke ChungFMS 总裁2002年9月适用于:Microsoft® Access摘要:本文为开发人员提供了一些技巧,使用这些技巧可以在设计 Access 表时避免某些问题。本文适用于 Microsoft Access 数据库 (.mdb) 和 ...
  • 规范化理论 并发控制 数据库完整性约束 分布式数据库 数据仓库与数据挖掘 三级模式 - 两级映射 ——》考频:经常考 各级功能: 1)、物理数据库:是一个文件 2)、内模式:与物理级数据库直接关联,功能:如何...
  • 规范化基本上是设计数据库模式,以避免重复和冗余数据。 如果某些数据在数据库中的多个位置重复,则存在在一个位置而不是另一个位置更新的风险,从而导致数据损坏。从正常形式到正常形式有许多归一化水平。 每种常规...
  • 数据库关系模式的规范化

    千次阅读 2021-04-03 15:23:11
    前言: 在关系型数据库中,规范化理论成为范式。范式是符合某一级别的关系模式集合。关系数据库中的关系必须满足一定的要求。即满足不同的范式。在关系数据库原理中规定了以下几种范式:第一范式,第二范式,第三...
  • 数据库原理-关系模式的规范化

    千次阅读 2021-08-26 12:29:02
    关系数据库的规范化理论是数据库逻辑设计的工具 一个关系只要其分量都是不可分的数据项,它就是规范化的关系,但这只是最基本的规范化 规范化程度可以有6个不同的级别,即6个范式 规范化程度过低的关系不一定能够很...
  • 数据库规范化

    2021-03-23 14:33:51
    规范化理论用来改造关系模式,通过分解关系模式的方法来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。 部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,X可以推出Y,也存在...
  • 1.了解范式(NF)为了使得关系数据库能够符合规范理论,所有的数据库表都要满足:范式。关系数据库的范式有五类:第一范式,第二范式,....第五范式。下面我们来了解一下前三个范式:第一范式:简单来说就是表中不能...
  • 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是( ) . A. 长度不变的 B. 不可分解的 C.互相关联的 D. 互不相关的 已知关系模式R(A,B,C,D,E)及其...
  • 规范化理论把关系应满足的规范要求分为几级,满足最低要求的一级叫做第一范式(1NF),在第一范式的基础上提出了第二范式(2NF),在第二范式的基础上又提出了第三范式(3NF),以后又提出了BCNF范式,4NF,5NF。...
  • 三大范式的基本解释

    2021-06-30 22:56:49
    第二范式是数据库规范化中所使用的一种正规形式。它的规则是要求数据表里的所有非主属性都要和该数据表的主键有完全依赖关系;如果有哪些非主属性只和主键的一部份有关的话,它就不符合第二范式。同时可以得出:如果...
  • 试用规范化理论中有关范式的概念分析习题7设计的关系模型中各个关系模型的候选码,她们属于第几范式?会产生什么更新异常? 习题七中各个关系模型的每一个决定因素中均含有码,候选码中只含有一个码,故属于BC范式,...
  • 1.1 定义:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理程度 (1)范式是离散数学里的概念 (2)范式目标是在满足组织和存储的前提下使数据结构冗余最小 (3)范式级别越高,表的...
  •  关系规范化理论 B. 关系运算理论 C. 关系代数理论 D. 数理逻辑 正确答案:———— 5.[单选题]数据库逻辑设计的主要任务是() (满分:) A. 建立E-R图和说明书 B. 创建数据库说明 C. 建立数据流图 D. 把数据...
  • 关系规范化中的删除操作异常是指不该删除的数据被删除,插入异常是指应该插入的数据未被插入;而规范化就是为了解决数据库中数据的插入、删除、修改异常等问题的一组规则。...规范化理论是数据库逻辑设计的...
  • 1.PCA中,为什么先对数据进行规范化 主成分分析是一种常见的无监督学习方法,这一方法的作用在于可利用正交变换把由线性相关变量表示的观测数据转换为由少数几个线性无关变量表示的数据,而这个线性无关的变量就称之...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 148,119
精华内容 59,247
关键字:

规范化理论

友情链接: ORL-Tensorflow-master.zip