数据库的三大范式

2023-12-16 15:47:24

第一范式:

属性不可分割:每个属性都是不可分割的原子项(实体的属性就是表中的列)

在上表中contact应该分为phone和adress两列

第二范式:?

在满足第一范式的情况下,表中不存在部分依赖,非主键列要完全依赖于主键(主要是在联合主键的情况下,非主键列不能只依赖于主键的一部分)

上面表中subject_id和student_id为联合主键,subject_name完全依赖于subject_id而与student_id完全无关,应该将其拆解为以下两个表

第三范式:

在满足第二范式的前提下不存在依赖传递

即使在上表中只有student_id为主键,也不符合第三范式,subject_name依赖于subject_id,而subject_id则依赖于主键student_id,因此推出?subject_name依赖于studeng_id,但是subject_name不是直接依赖于主键,属于依赖传递,不符合第三范式,所以还是的拆为上面的两个表

文章来源:https://blog.csdn.net/Mr_liu888/article/details/135032267
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。