Java教程

数据库之三范式

本文主要是介绍数据库之三范式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

范式是具有最小冗余的表结构。3 范式具体如下:

第一范式(1st NF -列都是不可再分)

第一范式的目标是确保每列的原子性:如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

BuyerIDAddress
1中国北京市
2美国纽约市
3英国利物浦
4日本东京市

Address分解为

CountryCity
中国北京
美国纽约
英国利物浦
日本东京

第二范式(2nd NF-每个表只描述一件事情)

首先满足第一范式,并且表中非主键列不存在对主键的部分依赖。 第二范式要求每个表只描述一件事情。
Orders(订单表)

字段例子
订单编号001
产品编号A001
订购日期2000-02-03
价格$29.00

分解为两张表
orders(订单表)

字段例子
订单编号001
订购日期2000-02-03

Products(产品表)

字段例子
产品价格A001
价格$29.00

第三范式(3rd NF- 不存在对非主键列的传递依赖)

第三范式定义是,满足第二范式,并且表中的列不存在对非主键列的传递依赖。除了主键订单编号外,顾客姓名依赖于非主键顾客编号。
Orders(订单表)

字段例子
订单编号001
订购日期2000-02-03
顾客编号AB001
顾客姓名Tony

转换为

字段例子
订单编号001
订购日期2000-02-03
顾客编号AB001
这篇关于数据库之三范式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!