当前位置:   article > 正文

数据库三范式(联合主键)

联合主键

数据库设计的三大范式~联合主键

什么是范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系型数据库中的关系必须满足一定的要求,即满足不同的范式。

目前关系型数据库有六种范式,分别为:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。要求最低的范式是第一范式。第二范式在第一范式的基础上又进一步的添加了要求,其余范式依次类推。

一般说来,数据库只需满足第三范式就行了,而通常我们用的最多的就是第一范式、第二范式、第三范式,也就是接下来要讲的“三大范式”。

第一范式

第一范式(1NF)用来确保每列的原子性,要求每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子单元)。

举例:

员工编号 员工姓名 部门岗位 员工工资
EM71001 张无忌 网络部软件开发工程师 8000
EM71002 楚天南 运营部运营总监 8100
EM71003 梁萧 销售部售货员 8300

上表中的部门岗位字段不符合第一范式,可以拆分为“部门”和“岗位”两个字段。

分解后方便我们对部门和岗位进行单独查询

员工编号 员工姓名 部门 岗位 员工工资
EM71001 张无忌 网络部 软件开发工程师 8000
EM71002 楚天南 运营部 运营总监 8100
EM71003 梁萧 销售部 售货员 8300

不符合第一范式导致问题

  • 部门和岗位作为一个表中一个字段进行设计,当我们需要对某个员工的部门或者岗位无法进行单独查询获取数据。

第二范式

在说明第二范式之前我们需要先了解什么是联合主键,什么是复合主键

什么是联合主键和复合主键

联合主键就是用2个或2个以上的字段组成主键。形式上复合主键就是联合主键,由多个字段作为主键,将记录形成一个唯一性。

场景1:

可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补 充订单,使用相同的订单号,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/791907
推荐阅读
相关标签
  

闽ICP备14008679号