数据库中的范式(是所有的)

数据库中的范式(是所有的),第1张

有六个范式

除了1NF到5NF

还有一个在3NF和4NF之间的BCNF

BCNF是由Boyce和Codd提出的,比3NF又进了一步,通常认为是修正的第三范式

所谓第三范式,定义是关系模式R<U,F>中若不存在这样的码X,属性组Y及非主属性Z,使得X—>Y,Y—>Z成立,(不存在Y—>X),则称R<U,F>为3NF

即当2NF消除了非主属性对码的传递函数依赖,则称为3NF。

对3NF关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组BCNF关系。

BCNF定义,关系模式中,若X函数确定Y且Y不在X内时X必含有码,则此关系属于BCNF。

一个满足BCNF的关系模式的条件:

1所有非主属性对每一个码都是完全函数依赖。

2所有的主属性对每一个不包含它的码,也是完全函数依赖。

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

由于R∈BCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R∈3NF。但是若R∈3NF,则R未必属于BCNF。

三大范式并不是用来区别的,是关系型数据库里的规范,是为了减少数据冗余。如果三个规范都满足说明的你的数据库比较健全,数据冗余少,后期维护也方便。用多了就知道了。如果一定要记下,记住定义就好。第一范式:确保每列的原子性

如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式

例如:顾客表(姓名、编号、地址、)其中"地址"列还可以细分为国家、省、市、区等。

第二范式:在第一范式的基础上更进一层,目标是确保表中的每列都和主键相关

如果一个关系满足第一范式,并且除了主键以外的其它列,都依赖于该主键,则满足第二范式

例如:订单表(订单编号、产品编号、定购日期、价格、),"订单编号"为主键,"产品编号"和主键列没有直接的关系,即"产品编号"列不依赖于主键列,应删除该列。

第三范式:在第二范式的基础上更进一层,目标是确保每列都和主键列直接相关,而不是间接相关

如果一个关系满足第二范式,并且除了主键以外的其它列都不依赖于主键列,则满足第三范式

为了理解第三范式,需要根据Armstrong公里之一定义传递依赖。假设A、B和C是关系R的三个属性,如果A-〉B且B-〉C,则从这些函数依赖中,可以得出A-〉C,如上所述,依赖A-〉C是传递依赖。

范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。

中文名: 范式

外文名: Paradigm

性 质: 数据库术语

种 类: 六种范式

模 式: 关系模式

简 介:

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

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。

满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。

以上就是关于数据库中的范式(是所有的)全部的内容,包括:数据库中的范式(是所有的)、数据库设计时有几大范式、何为范式,有几种,试列举并简要描述等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10213376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存