1NF:第一范式。(属性是否依赖于键,验证主键的适合程度)
如果关系模式R的所有属性值的值域中每一个值都是不可再分解的值,则称R属于第一范式模式。如果某个数据库都是第一范式的,则称该数据库模式属于第一范式的数据库模式
第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能由属性组合和组属性组成。
2NF:第二范式。(属性是否依赖于全部键,验证属性对于一个非键属性的依赖性)
如果关系模式R为第一范式,并且R中的每一个非主属性完全函数依赖于R的某个候选键,则称R为第二范式模式。如果某个数据库模式中每个关系模式都是第二范式,则称该数据库模式属于第二范式的数据库模式。
(注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则成A是R的非主属性。)
3NF:第三范式。(属性是否只依赖于键,验证属性对另一个非键属性的依赖性)
如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则成为R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。
BCNF:BC范式。(验证属性是否是键或者依赖于键)
如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么R是BCNF的模式。
4NF:第四范式。(所有的属性对于集合的成员是否是单值的)
设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖X---Y,X必是R的超键,那么称R是第四范式的模式。
2、游标
(1)、游标的作用:游标用于定位结果集的行。
(2)、通过判断全局变量@@fetch_status,可以判断游标是否到了最后,通常此变量不等于0表示出错或到了最后。
3、触发器
(1)、触发器分为:事前触发器和事后触发器。事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。事前触发器可以获取事件之前和新的字段值。
(2)、句触发器和行级触发器的区别:语句触发器可以在语句执行前或后执行,而行级触发器在所影响的每一行触发一次。