一、关系中的基本术语
(1)元组:也叫做记录,就是一行
(2)属性:就是列,也叫字段
(3)候选码:能唯一标识元组的属性
(4)主码: 候选码种的一个
(5)主属性与非主属性:候选码中的属性称为主属性
二、范式作用
应用数据库范式可以带来许多好处,最重要的好处可以归结为三点:
1.减少数据冗余(最主要)。
2.消除异常:插入异常,更新异常,删除异常等。
3.让数据组织的更加和谐。
三、三大范式和其他范式
第一范式(1NF)
1、定义:
字段具有原子性,不可再分。所有关系型数据库系统都满足第一范式。数据表中得所以字段都是不可分割的原子值或者说数据库表中的字段都是单一属性的,不可再分。即 字段值 还可以继续拆分的就不满足第一范式。
注意:范式,设计的越详细对于某些实际操作肯更好,但不一定都是最好的。
第二范式(2NF)
1、定义:必须满足第一范式的前提下,第二范式还要求,除主键的每一列都必须完全依赖与主键。
如果出现不完全依赖,只可能发生在联合主键的情况。(如果候选码是单属性,则一定是2NF)
第三范式(3NF)
1、定义:必须先满足第二范式,除开主键列的其他列之间不能有传递依赖关系
2、传递依赖的三个条件
若x→y y→z,满足(条件):y不能确定x;y不属于x的子集;z也不属于y的子集
结果:则x→依赖→z;
3、不满足范式的解决:拆表。
BC范式(BCNF):
定义:如果关系模式R(U,F)∈1NF。若F中任一函数依赖X→Y且Y¢X 时X必含有R的一个码,则R∈BCNF。
通常,BCNF的条件有多种等价的描述,换言之,若关系模式R属于第一范式,且每个属性都不部分依赖和传递函数依赖于码,则R属于BCNF。
最后,关于范式比较难理解,可以通过做一些题目来加深对范式的理解(重点:找到候选码)。