首页 > 代码库 > 数据库范式总结
数据库范式总结
1NF:数据库表的每一列都是不可分割的基本数据项。
分析:没有多个表示同一属性的列;某一列的值不能为集合。几不能将一对多关系表示为一个表的多个属性或者一个属性的多个值。
解决:创建新表,将“1”作为新表的外键。
举例:
person | ||||
id | name | hobby1 | hobby1 | bobby3 |
1 | mark | playing football | running | swimming |
或
person | ||
id | name | hobbies |
1 | mark | playing football,running,awimming |
2NF:符合1NF;存在主键,并且不存在部分函数依赖(不存在依赖主键的一部分的列)
分析:存在组合键的情况下,某些列只依赖于组合主键的其中一部分,则不合符2NF。
解决:将涉及部分函数依赖的列移出旧表,保存在新表。或使用人工主键代替组合键。
举例:
employee | ||
department | name | managerOfDepartment |
开发部门 | mark | Jenny |
3NF:符合2NF;并且不存在传递依赖。
分析:同一个表中A列依赖B列,B列依赖C列。
解决:将涉及传递函数依赖的列移出旧表,保存在新表。
举例:
数据库范式总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。