数据库-规范化(范式)

数据库-范式

  • 背景
  • 函数依赖
  • 范式
  • 2NF
  • 3NF
  • BCNF
  • 多值依赖
  • 4NF
  • 规范化小结

背景

	为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
	在实际开发中最为常见的设计范式有三个:
	第一范式(确保每列保持原子性)
	第二范式(确保表中的每列都和主键相关)
	第三范式(确保每列都和主键列直接相关,而不是间接相关)

函数依赖

函数依赖关系:
	设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称"X函数确定Y"或"Y函数依赖于X",记作X -> Y。
	几个概念:
			函数依赖
			平凡函数依赖和非平凡函数依赖。
			完全函数依赖和部分函数依赖
			传递函数依赖

定义:
	设K为R中的属性或属性组合。若k ->(F) U,则K称为R的一个候选码(Candidate Key)。
	如果U部分函数依赖于K,即K ->(P) U,则K称为超码(Surpkey)。候选码是最小的超码,即K的任意一个真子集都不是候选码。
	若关系模式R有多个候选码,则选定其中的一个作为主码(Primary key)。

候选码的属性 就是 主属性

范式

2NF

3NF

BCNF

多值依赖

4NF

规范化小结

你可能感兴趣的:(数据库)