sql 反模式学习
反模式:解决了一些问题,却又产生了其他问题
第一章:交叉表
第二章:邻接表:优势:在于能快速的获取一个给定节点的父节点,也容易插入新节点。
(分层设计的五种思路:邻接表、递归查询、枚举路径、嵌套集、闭包表)
第三章:主键
主键是必须的吗?
摘自书:每张表都必须有一个主键来确保不出现重复项并定位每一行。
摘自百度百科:不是必须有主键,但是最好设置主键 ,但是这个没有主键的表的该列必须是唯一列,也就是说值不能重复,这样的话也就是说得建立主键
理解:主键还是很关键的,为了减少数据库冗(rong)余,如果不要主键也可以,你要确保这个表的每一行都是不一样的。
主键,伪主键:若一列能确保表的唯一、非空、以及定位一条记录的功能,就不必要加上伪主键;若在优化的过程中出现允许合法的重复项,加入伪主键是唯一的选择。
第四章:外键
外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;