`

数据库设计范式解释

阅读更多
第一范式( 1NF ):在关系模式 R 中的每一个具体关系 r 中,如果每个属性值都是不可再分的最小数据单位,则称 R 是属于第一范式的关系。

第二范式( 2NF ):如果关系模式 R ( U , F )中的所有非主属性都完全依赖于任意一个候选关键字,则称 R 是属于第二范式的。

第三范式( 3NF ):如果关系模式 R ( U , F )中的所有非主属性对任何候选关键字都不存在传递信赖,则称 R 是属于第三范式的。

第一范式是关系数据库的最小要求

比如


姓名                     性别                     身高

Billy                    Male               180CM

这就是第一范式 .

如果改成
                                                       三                                  围     

姓名                     性别                     胸围          臀围          腰围

这个就不是第一范式了 .

第二范式说通俗一点就是不存在部分依赖 , 举例如下 :

促销员的销量表 , 字段为促销员 OID, 产品 OID, 产品颜色 , 产品重量

业务上主键应该为 促销员 OID 和产品 OID

但是产品颜色和产品重量显然依赖于产品 OID, 不能因为某个促销员长得漂亮产品颜色就艳丽一些 .

所以产品颜色和产品重量就部分依赖于候选主键促销员 OID 和产品 OID, 这样就满足第二范式 .
第三范式说通俗一点就是不存在传递依赖 . 举例如下 :

促销员表 , 字段为促销员 OID, 所属销售部 OID, 销售部地址 .

那么促销员 OID 是业务主键 , 由于只有一个字段做主键 , 所以肯定不存在部分依赖

但是这个存在传递依赖

促销员 OID 决定了所属销售部 OID, 而所属销售部又能决定销售部地址 .

所以销售部地址间接依赖于销售部 OID

于是存在传递依赖 .

由于我们采用 OID 一个字段做表的主键 , 所以肯定满足第二范式 . 至于满不满足第三范式就要分析一下了 .

但是有些情况下是需要保存历史信息的

比如销售部的地址变动了

这些另当别论 , 打破第三范式就好了

另外联合查询的性能损失很大 , 有时候破坏范式来换取报表的运行效率也是值得的 .
分享到:
评论

相关推荐

    数据库设计范式最好的讲解

    "数据库设计范式的重要性" database设计范式是关系数据库的基础规范,关系数据库的设计必须遵循这些规范,否则将会导致数据库设计混乱、数据冗余、查询效率低下等问题。本文将详细介绍数据库设计范式的概念、类型和...

    Oracle 数据库设计范式 PowerDesigner

    Oracle数据库设计范式是数据库设计中的核心概念,它关乎数据的组织方式,旨在减少数据冗余,提高数据的一致性和可维护性。PowerDesigner则是一款强大的数据库建模工具,可以帮助我们实现这些设计范式,从而优化...

    关系型数据库设计范式

    关系型数据库设计范式是数据库设计的核心原则,用于确保数据的一致性、减少冗余和避免数据异常。在设计数据库时,遵循这些范式能够提高数据的组织效率和查询性能,降低维护成本。以下是四种主要的范式以及它们的解释...

    关系数据库设计范式培训

    关系数据库设计范式是数据库设计中的核心概念,用于确保数据的规范化和高效存储。以下是关于关系数据库设计范式的详细介绍: 1. 第一范式(1NF):这是最基本的要求,规定数据库表中的每一列(属性)都必须是不可再...

    数据库范式理解例题数据库范式理解例题.doc

    第一范式是最基本的数据库设计规范,它要求每个表中的每一行都具有唯一的值,且每个字段都不可分割。换言之,每个表中的每一行都必须具有唯一的标识符,且每个字段都必须是一个原子值。 例如,如果我们设计一个学生...

    数据库三大范式详解

    设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的...

    数据库设计范式数据库设计范式

    目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多...

    Oracle学习笔记(数据库设计范式 PowerDesigner工具)

    Oracle学习笔记(数据库设计范式 PowerDesigner工具),有具体的代码案例

    数据库设计三范式

    尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手

    数据库设计范式简单入门

    ### 数据库设计范式详解 #### 一、引言 在关系数据库的设计过程中,遵循一定的设计规范至关重要。这些规范能够确保数据库的结构合理、数据冗余最小化,并且避免数据异常的发生。其中最重要的规范之一便是“数据库...

    数据库系统范式教程数据库系统范式教程.ppt

    数据库系统范式是数据库系统设计的基础,它们是关系数据库设计的标准,旨在解决数据冗余、更新异常、插入异常和删除异常等问题。 1.1 数据库系统原理 数据库系统设计的主要目标是解决数据依赖对关系数据库的影响...

    数据库设计三大范式应用实例剖析

    数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入、删除和更新操作异常。第一范式:数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本...

    MLDN魔乐科技JAVA培训_Oracle课堂25_数据库设计范式 PowerDesigner工具.rar

    本资源"MLDN魔乐科技JAVA培训_Oracle课堂25_数据库设计范式 PowerDesigner工具.rar"聚焦于数据库设计的重要概念——范式,以及使用PowerDesigner工具进行设计的实践。 数据库设计范式是数据库理论中的核心概念,它...

    数据库设计范式.doc

    数据库设计范式是数据库设计的重要理论基础,用于指导创建高效、稳定的数据库结构。数据库设计的三大范式——第一范式(1NF)、第二范式(2NF)和第三范式(3NF)——旨在减少数据冗余、避免更新异常、插入异常和...

    Java面试中数据库三范式详解

    数据库设计范式是指在设计数据库时需要遵守的一些基本规则,以确保数据的一致性、完整性和简洁性。在 Java 面试中,数据库三范式是常见的考察点,本文将对三范式进行详细的解释,并以实例来讲解怎样将这些范式应用于...

    什么是数据库范式?什么是设计范式?

    数据库范式是关系型数据库设计中的核心理论,它是一组规则,用来指导如何构建和组织数据库,以确保数据的一致性、减少冗余并避免数据异常。这些规则以不同的级别存在,即第一范式(1NF)、第二范式(2NF)、第三范式...

    数据库设计模式范式简介

    数据库设计范式是关系数据库设计的核心概念,它们是用来确保数据的一致性、减少冗余、避免数据异常的关键原则。在数据库领域,特别是Oracle等大型关系型数据库系统中,理解和掌握这些范式至关重要。 首先,第一范式...

    05-数据库设计三范式1

    数据库设计三范式是数据库规范化理论中的核心概念,主要用于优化数据存储,避免数据冗余和更新异常。这里我们将深入探讨第一范式(1NF)和第二范式(2NF)。 **第一范式(1NF)** 第一范式强调的是列的原子性,即每...

Global site tag (gtag.js) - Google Analytics