范式 第一范式:无重复的列 简而言之,第一范式就是无重复的列。 第二范式:消除非主属性对主码的部分函数依赖 每张表中都要有一个主码。 简而言之,第二范式就是属性完全依赖于主键。 第三范式:消除传递依赖 简而言之,第三范式就是属性不依赖于其它非主属性。 例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。 以下来自于百度。 2.2 第三范式(3NF)实例分析 接着看上面的学生表Student(学号,姓名, 年龄,性别,系别,系办地址、系办电话),关键字为单一关键字"学号",因为存在如下决定关系: (学号)→ (姓名, 年龄,性别,系别,系办地址、系办电话) 但是还存在下面的决定关系 (学号) → (所在学院)→(学院地点, 学院电话) 即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖。 它也会存在数据冗余、更新异常、插入异常和删除异常的情况。 (数据的更新,删除异常这里就不分析了,可以参照2.1.1进行分析) 根据第三范式把学生关系表分为如下两个表就可以满足第三范式了: 学生:(学号, 姓名, 年龄, 性别,系别); 系别:(系别, 系办地址、系办电话)。 第四范式 目前的理解是在一张表中有ABCD四列,A和B是一对一的关系,AC能共同作为主键,BC能共同作为主键。这时候就需要将表拆开。 理解的不知道有没有问题。。。
对范式的理解
最新推荐文章于 2024-06-04 08:20:52 发布