【数据库】三范式

第一范式原子性:所有字段都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合、数组、记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同属性。下列是数据库的表符合第一范式:但是这个表不符合第一范式:第二范式第二范式就是在第一范式的基础上非主属性(非主键字段)完全依赖于主属性(主键)。例:选课系表为SelectCourse(学号、姓名、年龄、课程名称、成绩、学分)主键为联合主键(学号、课程名称)因为存在如下决定关系:(学号、课程名称)→(姓名、年龄、成绩、学分)在这个数据库表中,有某些依赖不满足第二范式的要求,因为存在着如下的关系:(课程名称)→(学分) 部分依赖主键(学号)→(姓名、年龄) 部分依赖主键(学号、课程名称)→(成绩) 完全依赖主键由于不符合2NF,这个选课关系会存在如下问题:(1)数据冗余:同一门课程由n个学生选修,“学分”就重复n-1次,同一个学生选修了m门课程,姓名和年龄就重复了m-1次。(2)更新异常:如果调整了某门课程的学分,数据表中所有的“学分”值都要更新,否则会...