关系范式怎么判断,如何写出函数依赖、判断范式级别( 三 )


图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分 。这个惟一属性列被称为主关键字或主键、主码 。
第二范式(2NF)要求实体的属性完全依赖于主关键字 。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系 。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识 。简而言之,第二范式就是非主属性非部分依赖于主关键字 。
3.4.3 第三范式(3NF)
满足第三范式(3NF)必须先满足第二范式(2NF) 。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息 。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息 。那么在图3-2
的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中 。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余 。简而言之,第三范式就是属性不依赖于其它非主属性 。
谁能知道数据库中的一,二,三范式怎么判断!!!不要网页上得到的!!!

关系范式怎么判断,如何写出函数依赖、判断范式级别

文章插图
本人学习过程中做的一些笔记 。
范式:是数据库设定的一些规则,是由一位姓范的人制定的,故名“范式” 。
三范式总体要求:不能有冗余数据 。
一范式:1--要有主键
2--列不可分,不能重复 。例如“张三_20_湖南衡阳”这种的一个字段包含多种信息就不可取,明显的可以分为三个字段 。
二范式:不能存在部分依赖 。(一张表中多个字段做主键时,不是主键的字段不能依赖于依赖于主键的一部分 。例如:一张表中由学生id和老师id共同组成表的主键,但是学生的姓名是依赖于学生id的,即每个id对应一个学生姓名,这就是部分依赖)
三范式:不能存在传递依赖 。(如果一张表中有班级id、名称和学生id、名称,很明显班
班级id_依赖_学生id ;班级名称_依赖_班级名称,存在传递依赖关系 。)