范式总结

第一范式

定义:如果关系模式R和每个关系r的属性值都是不可分的原子值,那么称R是第一范式模式。

满足1NF的关系称为规范化关系,否则称为非规范化关系。关系数据库研究的关系都是规范化关系。

第二范式

定义:如果关系模式R是1NF,且每个非主属性完全依赖于候选键,那么称R是第二范式2NF的模式。如果数据库的每个关系模式都是2NF,则称数据库模式为2NF的数据库模式。

  • 主属性和非主属性:如果A是关系模式R的候选键中的属性,那么称A是R的主属性;否则称A是R的非主属性。
  • 完全依赖和局部依赖:对于FD W->A,如果存在X⊂W有X->A成立,那么称W->A是局部依赖;否则称W->A是完全依赖。

第三范式

定义:如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,那么称R是第三范式(3NF)模式。如果数据库的每个关系模式都是3NF,则称数据库模式为3NF的数据库模式。

传递依赖:如果X->Y, Y->A, 且 Y !-> X和 A !∈Y,那么称X->是传递依赖。

等价定义:设F是关系模式R的FD集,如果对于F中的每个非平凡的FD X->Y,都有X是R的超键,或者Y的每个属性都是主属性,那么称R是3NF的模式。

BCNF(Boyce-Codd NF)

在3NF模式中,并未排除主属性对候选键的传递依赖。因此有必要提出更高一级的范式:BCNF

定义:如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。如果数据库的每个关系模式都是BCNF,则称数据库模式为BCNF的数据库模式。

等价定义:设F是关系模式R的FD集,如果对于F中每个非平凡的FD X->Y,都有X是R的超键,那么称R是BCNF的模式。

定理:如果R是BCNF模式,那么R也是3NF模式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

一致性(连续性)hash算法(Consistent hashing)一致性(连续性)hash算法(Consistent hashing)

Consistent hashing is a scheme that provides hash table functionality in a way t...

14320
来自专栏mathor

LeetCode130. 被围绕的区域

 bfs题,主函数中枚举每一个起点,如果是'O'就开始bfs搜索,首先将'O'变为'X',然后将周围是'O'都入队。这里有个地方要注意,如果'O'并不是被...

10620
来自专栏编程

说说正则表达式的使用

今日分享:正则表达式 一:正则表达式的定义及用途 正则表达式是一种特殊的字符串,字符串中的每个字符都含有特定的意义。使用者通过将正则中不同的字符组合成不同的字符...

20680
来自专栏小白安全

【PHP】WEBSHELL各类变形方法总结

简介 WebShell的变形技术与各种防护软件的检测方法一直都在相互对抗,本篇文章就对目前常见的WebShell的变形技术进行总结。 ...

58170
来自专栏C/C++基础

Linux命令(12)——wc命令

(3)从文件读取输入文件名。如果有多个文件名,并且希望 wc 从一个文件中读取它们,那么使用-files0-from 选项。这里将文件名称必须以NULL字符结束...

11710
来自专栏人工智能LeadAI

机器学习实战 | 第五章:模型保存(持久化)

一、工具 sklearn官方给出了两种保存模型的方式:3.4. Model persistence 其中一种是pickle的方式,还有一种就是joblib包的...

41780
来自专栏扎心了老铁

python重试(指数退避算法)

本文实现了一个重试的装饰器,并且使用了指数退避算法。指数退避算法实现还是很简单的。先上代码再详细解释。 1、指数退避算法 欠奉。http://hugnew.co...

48740
来自专栏mathor

matlab—特殊变量类型与档案存取

这里举个例子,有一个学生structure,包含姓名、邮箱、学号、成绩,应该如何创建这个structure

10540
来自专栏deepcc

JavaScript检测IE浏览器(最短代码)

45880
来自专栏CSDN技术头条

使用Go语言来理解Tensorflow

【译者注】本文通过一个简单的Go绑定实例,让读者一步一步地学习到Tensorflow有关ID、作用域、类型等方面的知识。以下是译文。 Tensorflow并不是...

281100

扫码关注云+社区

领取腾讯云代金券