数据库知识点--数据库范式 最详细解释!

数据库范式是衡量关系数据库设计合理性的标准,包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。1NF要求字段不可再分;2NF在1NF基础上消除非主属性对键的部分函数依赖;3NF则进一步消除传递依赖。通过对数据库表的模式分解,可以解决数据冗余、插入、删除和修改异常等问题,提高数据一致性。
摘要由CSDN通过智能技术生成

 

范式NF 是什么?

如何理解数据库范式 刘慰的回答

是符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度。

就是一张数据表的表结构所符合的某种设计标准的级别。

就像是买建筑材料,环保的E0级,然后E1,E2等等。数据库也分1NF 2NF 等。

符合高一级范式的设计,一定符合低一级的范式。

第一范式(原子性,字段不可以再分,否则就不是关系型数据库)

首先是1NF,1NF的定义是,符合1NF的关系中的每个属性不可再分。

就如上表,实际上,1NF是所有关系型数据库的最基本要求。只要是关系型数据库,无论是SQL Server Oracle MysQL,都是符合第一范式的。

 

但如果仅仅是符合1NF的设计,仍然会存在数据冗余过大,插入异常,删除异常、修改异常的问题。

1.如上图,每个学生的学号姓名、系名、系主任这些数据重复多次,每个系与对应的系主任的数据也重复多次。——数据冗余过大。

2。假如学校新建了一个系,但是还没有招收任何学生, 那么是无法将系名和系主任的数据单独添加进去的。

3. 假如将某个系中所有学生删除记录,那么所有系和系主任的数据也消失了,(一个系的所有学生都没了,但是不代表这个系没了。)——删除异常

4.假如李小明转系到法律系,那么为了保证数据库中数据的一致性,需要修改三条记录中系与系主任的数据。——修改异常

正因为仅符合1NF的数据库设计存在着这样那样的问题,我们需要提高设计标准,去掉导致上述四种问题的因素,使其符合更高一级的范式(2NF),这就是所谓的“规范化

第二范式(唯一性,一个表只说明一个事物)

这里只介绍2NF对1NF进行了哪些改进。2NF在1NF的基础上,消除了非主属性对于键的部分函数依赖。

函数依赖:

如果一张表里,属性(或属性组)X的值确定的情况下,必定能确定Y的值,那么就可以说Y函数依赖于X,写作X->Y。也就是说,在数据表中,不存在任意两条记录,他们在X属性(或属性组)上的值相同,而在Y属性上的值不同。也就是“函数依赖”名字的由来。类似

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值