作者:mobiledu2502872407 | 来源:互联网 | 2020-09-11 15:31
数据库三大范式通俗理解:1、原子性,要求属性具有原子性,不可再分解;2、唯一性,一个表只能说明一个事物,即实体的惟一性;3、冗余性,每列都与主键都有直接关系,不存在传递依赖。
数据库三大范式通俗理解
1、原子性,要求属性具有原子性,不可再分解。
表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......
如学生(学号,姓名,性别,出生年月日),如果认为最后一列还可以再分成(出生年,出生月,出生日),它就不是一范式了,否则就是;
2、唯一性,一个表只能说明一个事物,即实体的惟一性。
表:学号、课程号、姓名、学分;
这个表明显说明了两个事务:学生信息, 课程信息;由于非主键字段必须依赖主键,这里学分依赖课程号,姓名依赖与学号,所以不符合二范式。
可能会存在问题:
正确做法:
3、冗余性,每列都与主键都有直接关系,不存在传递依赖。
表: 学号, 姓名, 年龄, 学院名称, 学院电话
因为存在依赖传递: (学号) → (学生)→(所在学院) → (学院电话) 。
可能会存在问题:
正确做法:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 电话)。
推荐教程:《MySQL教程》
以上就是数据库三大范式通俗理解的详细内容,更多请关注 第一PHP社区 其它相关文章!