数据库三大范式通俗了解
![](/uploads/allimg/200930/5ed5ba220fd6646214978.jpg)
数据库三大范式通俗懂得
1、原子性,要求属性具有原子性,不成再分解。
表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......
如学生(学号,姓名,性别,出生年月日),假如认为最后一列还可以再分成(出生年,出生月,出生日),它就不是一范式了,不然就是;
2、独一性,一个表只能说明一个事物,即实体的唯一性。
表:学号、课程号、姓名、学分;
这个表白显说明了两个事务:学生信息, 课程信息;由于非主键字段必需依靠主键,这里学分依靠课程号,姓名依靠与学号,所以不相符二范式。
大概会存在问题:
数据冗余:,每笔记录都含有雷同信息;
删除非常:删除所有学生结果,就把课程信息全删除了;
插入非常:学生未选课,没法记载进数据库;
更新非常:调整课程学分,所有行都调整。
准确做法:
学生:Student(学号, 姓名);
课程:Course(课程号, 学分);
选课关系:StudentCourse(学号, 课程号, 结果)。
3、冗余性,每列都与主键都有直接关系,不存在传递依靠。
表: 学号, 姓名, 年龄, 学院名称, 学院电话
由于存在依靠传递: (学号) → (学生)→(所在学院) → (学院电话) 。
大概会存在问题:
数据冗余:有反复值;
更新非常:有反复的冗余信息,修改时需要同时修改多笔记录,不然会显现数据不一致的状况 。
准确做法:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 电话)。
引荐教程:《MySQL教程》
以上就是数据库三大范式通俗懂得的具体内容,更多请关注百分百源码网其它相关文章!