字节跳动Java面试经验,数据库“三大范式

本文介绍了数据库设计中的三大范式——第一范式、第二范式和第三范式,以及BCNF(修改后的第三范式)。通过实例分析了各范式的重要性,帮助读者理解如何在数据库设计中避免数据冗余和更新异常,提升数据一致性。同时,文章还分享了面试技巧和Java后端开发的薪资谈判建议。
摘要由CSDN通过智能技术生成

BC范式(BCNF)

数据库的事务性

事务处理

事务ACID属性


Hello,小伙伴们大家好!我是灰小猿,一个超会写bug的程序猿!

在进行比较正规的项目开发的时候,通常会根据需求设计相应的数据库,而这些数据库则通常需要考虑数据库的冗余性和简洁性,数据库三大范式就是对关系数据库设计结构的一个规定。

什么是范式?

==========

当一个关系中的所有分类都是不可再分的数据项时,该关系是规范化的。不可再分的数据项,即不存在组合数据项和多项数据项。一个低一级的关系模式,通过模式分解可以转换为若干高一级范式的关系模式的集合,这个过程就叫规范化。二维数据表可以分为5级范式为1NF、2NF、3NF、4NF、5NF。第一范式满足最低的要求条件,第五范式满足最高要求的条件。并且在数据库设计中我们要秉承以更高范式设计标准的原则设计和开发数据库。

那么接下来我和小伙伴们简单介绍一下数据库中常用的三大范式:

第一范式(1NF)

=============

概念:数据库中所有元素都是不可再分的,确保元素的原子性

从概念上我们其实也很好理解,第一范式所说的就是每一列中的属性值都是不可再分的。打个比方如下表:

院系

人数

男生

女生

软件学院

1652

689

计算机学院

1264

489

大数据学院

653

534

人数列中的属性是可以再次分割成男生和女生人数的,这就不满足了数据库设计的第一范式中的“每一列的属性值都是不可再分的”。

那么对于这样的设计,如何使非规范式设计转换为规则的第一范式呢?

其实很简单,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值