非常详细的范式讲解(1NF/2NF/3NF/BCNF)|编程一对一教学(上)

简介: 范式在计算机方面运用广泛,在计算机二级三级均涉及到,今天就来讲讲范式。要是能够认真的看完,相信一定能够理解的。

在讲范式之前,我们先来了解有关范式的基本概念,听懂了有利于后面的学习。


1. 函数依赖


首先一个好的关系模式是不会出现以下问题的:

  1. 插入异常
  2. 删除异常
  3. 更新异常
  4. 数据冗余尽量少

如果出现那是由于 数据依赖,其中数据依赖分为:函数依赖,多值依赖,连接依赖等等。


所以,当关系模式出现问题,解决方法为—— 规范化理论(找到关系模式中不适合的数据依赖,并消除它们)


在范式这里经常使用函数依赖。那么什么是函数依赖呢?关系R中的属性 X,R 中的属性 Y 只有唯一值与之对应,则称 X 函数决定 Y 或称 Y 函数依赖于 X ,记作 X—>Y 。其中,X 称为决定因素。以下关系模型经常简化为 R<U,F>,如下图。

7.png

这里给出一个例子,后面就根据这个例子来讲解。

非常主要

8.png在函数依赖中还有以下几种分类:


1.1 平凡函数依赖和非平凡函数依赖


(1)X→YY∉X,则 X→Y 是非平凡函数依赖。例如 (sno,cno)→grade

(2)X→YY∈X,则X→Y 是平凡函数依赖。例如 (sno,cno)→sno(sno,cno)→cno


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


(1)X→Y,在 x 的真子集 X'Y 均不依赖于 X',则称 Y 完全函数依赖于 X。在箭头上面加上 F。

(2)X→Y,在 x 的真子集X',Y存在依赖于X',则称Y完全函数依赖于 X。在箭头上面加上 P。

例如以下的例子

9.png

1.3 传递函数依赖


X→YY→Z 所以 X→Z,Z 传递函数依赖于 X。

例如,sno→sdeptsdept→sloc,所以 sno→sloc







目录
相关文章
|
5月前
|
数据库
1NF | 2NF | 3NF的区分以及什么是函数依赖、部分函数依赖、值传递依赖(最详细的讲解1NF、2NF、3NF的关系)
这篇文章详细讲解了数据库范式中的1NF、2NF和3NF,包括它们的定义、区分方法和如何判断部分函数依赖和传递函数依赖,以及如何将数据表规范化到相应的范式。
1NF | 2NF | 3NF的区分以及什么是函数依赖、部分函数依赖、值传递依赖(最详细的讲解1NF、2NF、3NF的关系)
|
8月前
|
算法 Java vr&ar
保持无损连接和函数依赖的3NF合成算法(详细简介)期末必备
保持无损连接和函数依赖的3NF合成算法(详细简介)期末必备
120 0
|
SQL Oracle 关系型数据库
第三范式(3NF)
第三范式(3NF)是关系数据库设计中的规范化级别之一。它建立在第一范式(1NF)和第二范式(2NF)的基础上
605 1
|
存储 SQL 数据库
第一范式(1NF)
第一范式(1NF)是关系数据库设计中的基本规范化级别。它要求每个表中的每个列都只包含原子值,也就是说,每个列中的数据不可再分。
489 2
|
存储 SQL 数据库
第二范式(2NF)
第二范式(2NF)是关系数据库设计中的规范化级别之一。它建立在第一范式(1NF)的基础上,并要求满足以下两个条件:
545 1
|
JavaScript 数据库 Python
数据库系统概论——函数依赖、码和范式(1NF、2NF、3NF、BCNF)详解
关系模式由五部分组成,即它是一个五元组: R(U,D,DOM,F)R(U, D, DOM, F)R(U,D,DOM,F)关系模式R(U,D,DOM,F)R(U, D, DOM, F)R(U,D,DOM,F)中,DDD和DOMDOMDOM与逻辑结构设计关系不大,因此,将关系模式简化为一个三元组:当且仅当UUU上的一个关系rrr 满足FFF时,rrr称为关系模式R(U,F)R(U, F)R(U,F)的一个。设R(U)R(U)R(U)是一个属性集UUU上的关系模式,XXX和YYY是UUU的子集。若对于R(U)R(
499 0
数据库系统概论——函数依赖、码和范式(1NF、2NF、3NF、BCNF)详解
|
存储 Java 编译器
一起啃书(C Primer Plus 第六版)--C语言概述&lt;附大量编程题&gt;
一起啃书(C Primer Plus 第六版)--C语言概述&lt;附大量编程题&gt;
175 0
|
数据库
非常详细的范式讲解(1NF/2NF/3NF/BCNF)|编程一对一教学(下)
范式在计算机方面运用广泛,在计算机二级三级均涉及到,今天就来讲讲范式。要是能够认真的看完,相信一定能够理解的。 在讲范式之前,我们先来了解有关范式的基本概念,听懂了有利于后面的学习。
979 0
非常详细的范式讲解(1NF/2NF/3NF/BCNF)|编程一对一教学(下)
非常详细的范式讲解(1NF/2NF/3NF/BCNF)|编程一对一教学(中)
范式在计算机方面运用广泛,在计算机二级三级均涉及到,今天就来讲讲范式。要是能够认真的看完,相信一定能够理解的。 在讲范式之前,我们先来了解有关范式的基本概念,听懂了有利于后面的学习。
165 0
|
SQL C# 数据安全/隐私保护
一起谈.NET技术,由扩展方法引申出的编程思维
  1. Helper大爆炸   .NET Framework为我们提供了丰富的类库,但是这并不是万能地,在大部分的时间,我们都需要为我们的项目特殊定制我们的通用类库。   常常,我们都可以构造一个类,类里封装一些方法。
1078 0

热门文章

最新文章

下一篇
开通oss服务