三范式

设计数据库表的规则(Normal Form)  好的数据库设计对数据的存储性能和后期的程序开发,都会产生重要的影响。建立科学的,规范的数据库就需要满足一些规则来优化数据的设计和存储,这一原则就叫做:范式


三范式

范式的基本分类 

范式严格上来说不属于某个数据库操作系统或者某个某种数据库,它是一个所有数据库进行建表中结构要去遵循的一个形式

更属于数据库这个技术门类中的概念性知识,不过,在实际开发中,我们需要去遵循这种思想。

 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。

第一范式

即数据库表的每一列都是不可分割的原子数据项,而不能是集合、数组等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中每个列的值只能是表的一个属性或一个属性的一部分。简而言之,第一范式每一列不可再拆分,称为原子性。 第一范式:每一列不能再拆分

                         

总结:如果不遵守第一范式,查询出数据还需要进一步处理(查询不方便)。遵守第一范式,需要什么字段的数据就查询什么数据(方便查询)。


第二范式

第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分

也就是我们在设计每一张表的时候都需要加上主键去区分每一条数据。

  • 一张表只描述一件事情
  • 表中的每一个字段都依赖于主键

                            

总结:如果不准守第二范式,数据冗余,相同数据无法区分。遵守第二范式减少数据冗余,通过主键区分相同数据。


第三范式

要求一个数据库表中不包含已在其它表中已包含的非[主关键字]信息(使用主外键的方式关联,而不是使用非主属性关联) 

在进行关联的时候,添加的外键要是其他表的主键,可以区分每一条数据

                                      

总结:如果不遵守第三范式,可能会有相同数据无法区分,修改数据的时候多张表都需要修改(不方便修改)。遵守第三范式通过id可以区分相同数据,修改数据的时候只需要修改一张表(方便修改)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值