数据库原理(1)| 三大范式

最近看了杨廷琨老师谈作为DBA需要的素质,“DBA这个行业面临的学习是永无止境的。前面要跟应用开发关联,底层需要跟主机、操作系统、存储关联,所以知识面是非常广的”。
然后最近查资料的时候看到“三大范式、ACID”这些本科必修课就学过的内容却一脸懵逼。
扪心自问,一直侧重于应用层的学习,不注重夯实基础其实也是一种偷懒
所以,不管上层应用如何飞速发展,计算机考研躲不开408那几门专业课,是有道理的。故近期需要恶补一下数据库的基础知识。


一、概念

范式即Normal Form,是关系型数据库理论的基础,也是我们进行数据库设计时要满足的规范
常用的有第一(1NF)、第二(2NF)、第三(3NF)范式。

1. 1NF

1NF定义:每个列(即属性)都是不可再分的最小原子单元。
不满足第一范式的不是关系数据库。
例子如下:
表PERSON_INFO:
在这里插入图片描述
这里的TEL实际上可以拆分成personal_Tel,office_Tel和home_Tel,就违背了列的原子性这个要求。
可以做如下拆分,即可满足列的原子性要求:
在这里插入图片描述
但是个人觉得,如果业务上没有对原子性查询有要求,仅查询复合的联系方式信息,且无需对该列进行修改操作,保留非原子结构也无妨。

2. 2NF

2NF定义:每个非关键属性都依赖于整个关键字,而不是关键字的一部分。
注意:
1)2NF的前提是满足1NF;
2)这边主要针对复合主键,如果说主键是单字段格式,则必定满足2NF。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值