数据库范式总结
1NF:数据库表的每一列都是不可分割的基本数据项。
创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序开发,10余年建站对PE包装袋等多个行业,拥有丰富的网站制作经验。
分析:没有多个表示同一属性的列;某一列的值不能为集合。几不能将一对多关系表示为一个表的多个属性或者一个属性的多个值。
解决:创建新表,将“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列。
解决:将涉及传递函数依赖的列移出旧表,保存在新表。
举例:
customer | |||
name | phone | address | zipCode |
mark | 1273283 | 广州××× | 510000 |
分享标题:数据库范式总结
分享地址:http://cdiso.cn/article/ihshsh.html