Oracle数据库三范式

在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化、共享性、一致性和可操作性。规范化是把数据库组织成在保持存储数据完整性的同时最小化冗余数据的结构的过程。规范化的数据库必须符合关系模型的范式规则,范式可以防止在使用数据库时出现不一致的数据,并防止数据丢失。

关系模型的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)、第六范式(6NF)和BCNF 范式等多种,通常数据库只要满足前3 个范式就足够用了。

1.第一范式(1NF)
第一范式是第二和第三范式的基础,是最基本的范式。第一范式包括下列指导原则:
数据组的每个属性只可以包含一个值。
关系中的每个数组必须包含相同数量的值。

关系中的每个数组一定不能相同。

如果数据表中的每一个列都是不可再分割的基本数据项——同一列中不能有多个值,那么就称此数据表符合第一范式,由此可见第一范式具有不可再分解的原子特性。

2.第二范式(2NF)

第二范式是在第一范式的基础上建立起来的,即满足第二范式必先满足第一范式。第二范式要求数据库表中的每个实体(即各个记录行)必须可以被唯一地区分。为实现区分各行记录通常需要为表设置一个“区分列”,用以存储各个实体的唯一标识,那么这个唯一属性列被称为主关键字或主键。

3.第三范式(3NF)
第三范式是在第二范式的基础上建立起来的,即满足第三范式必先满足第二范式。第三范式要求关系表不存在非关键字列对任意候选关键字列的传递函数依赖(所谓传递函数依赖,就是指如果存在关键字段A 决定非关键字段B,而非关键字段B 决定非关键字段C,则称非关键字段C 传递函数依赖于关键字段A。),也就是说,第三范式要求一个关系表中不包含已在其他表中已包含的非主关键字信息。

猜你喜欢

转载自blog.csdn.net/qq_38410825/article/details/80506848