数据库的三大范式
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!