数据库范式 3NF

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库范式 3NF相关的知识,希望对你有一定的参考价值。

1. 1NF

指的是列具有原子性(即列不可再分)

反例:

ID NAME CONTACT
1 小王 [email protected], 110

 

正解:

ID NAME MAIL PHONE
1 小王 [email protected] 110

 

 

2. 2NF

在第一范式基础上, 对于单主键表, 符合第二范式. 对于多主键表, 非主键属性不能只依赖部分主键.

不符合2NF的容易产生数据冗余

反例:

SHOPID是订单ID PRODUCTID是商品ID NUM是商品数量 NAME是商品名称

主键是订单ID和商品ID, NUM完全依赖于主键(订单ID和商品ID), NAME只依赖于商品ID

SHOPID PRODUCTID NUM NAME
1 101 3 T恤

 

 

正解:

SHOPID PRODUCTID NUM
1 101 3

 

 

PRODUCTID NAME
101 T恤

 

 

3. 3NF

在第二范式的基础上, 非主键列之间不能有依赖关系

反例:

ID NAME CLASSID DEPARTMENT
1 小王 19 计算机系

 

 

这里DEPARTMENT 依赖 CLASSID

正解:

ID NAME CLASSID
1 小王 19

 

 

ID CLASSID DEPARTMENT
1 19 计算机系

 

 

以上是关于数据库范式 3NF的主要内容,如果未能解决你的问题,请参考以下文章

数据库范式1NF 2NF 3NF详细阐述

BCNF与3NF之间有啥区别

数据库范式(1NF 2NF 3NF BCNF)

数据库范式 3NF

一看就懂的数据库范式介绍(1NF,2NF,3NF,BC NF,4NF,5NF)

数据库设计的范式规范