数据库范式
如何设计一个数据库,怎样评判关系型数据库模型设计的是否合理?
范式化理论就是辅助判断该问题的
相关概念
-
闭包(左边元素的组合)-> 所有元素
-
候选码
能够唯一标识元组中的一个属性或者属性集 -
主属性
包含在主码中的各个属性 -
非主属性
不包含在任何候选码中的属性 -
主码
从多个候选码中选择一个作为 查询、插入、删除元组的操作变量被称为主码(主键) -
外码
A中的一个或一组属性是B的主码则称这些属性为外码(其实就是外建) -
超码、全码?待补充
范式种类
- 1NF:是指数据库表的每一列都是不可分割的基本数据项
例如:如果人的属性包含家属,家属不是不可再划分 - 2NF 属性完全依赖于主键[消除部分子函数依赖]
- 3NF 属性不依赖于其它非主属性[消除传递依赖]
- BCNF 不存在部分依赖以及