- 第一范式: 列不可再分. 比如地址:山东省济南市 就不可作为一列存储,因为可以分为山东省 + 济南市两个部分.
- 第二范式: 一张表只表达一层含义,即只描述一件事情 比如学生学号和课程号的对应
- 第三范式: 表中的每一列和主键都是直接依赖关系,而不是间接依赖 如在其他表中可以通过主键查询到的数据,就不要在本表中出现
数据库的范式和数据库的查询性能很多时候是相悖的 : 即在查询频次不高的情况下,尽量符合数据库的设计范式,而在查询频率较高的情况下,可以一定程度上的牺牲范式,从而允许特定的冗余,提高查询的效率
多对多关联需要有一个中间表来进行桥接,uid表示用户,fid表示当前用户的好友列表