2、第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖,也即所有非关键字段都完全依赖于任意一组候选关键字。扩展资料
3、 第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。
所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:
关键字段 → 非关键字段x → 非关键字段y
4、鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。
范式的特点:
第一范式:在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的'基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
第二范式:第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。
第三范式:满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。
(1)符合第一范式,每一列都是不可分割的基本数据项。不符合第二范式,因为主键应该是图书编号+读者号(假设一个人只节某本书一次,否则主键还要加借出日期),但书名和作者只有图书编号决定,这就不符合第二范式的属性完全依赖于主键。
(2)要把拆分成三个关系:
1 图书 (图书编号,书名,作者)
2 读者 (读者号,读者名)
3 图书管理 (图书编号,读者号,借出日期,应还日期)
学号是主属性,姓名可以直接被学号给确定,学号可以确定学生所在的系,而系主任不是由主属性学号来确定的,是由系名来确定的,所以问题就在系主任上,在这个关系里学号和系主任之间不是直接确定的而是间接确定的,这就叫非主属性对主属性存在传递函数依赖,所以是2范式,1范式是把两个或几个事在一个关系里说,这个就是稍微好点,可以根据主码确定一个非主属性,还是间接的,所以是第2范式.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)