Day_02
内容:
1.数据库设计的三大范式和反第三范式
第一范式:组成表中的各列不可再拆分,
第二范式:一张表只说一件事(数据库是二维表格描述一件事)
第三范式:在同一张表中,消除传递依赖(如果表中有A和B,且根据A,B能得到C,就不要把C展示出来),两张表中也存在传递依赖.拿空间换时间.
反第三范式:不满足第三范式,键.建立出传递依赖的字段.拿空间换时间.
说到第三范式就先说一下mybatis的加载策略:立即加载和延迟加载.
eg:酒水分为茅台和江小白,饮料分为可乐和雪碧
立即加载:查询可乐的时候一并将分类(饮料)查出来
特征:对一
设计思想:拿空间换时间
延迟加载:查询饮料的时候没必要知道雪碧和可乐是不是属于饮料
特征:对多
设计思想:拿时间换空间
外键:存在于从表中该列的取值只能来源于主表的主键或者是null
外键要是not null 和unique则表之间为一对一
确定表关系:
找外键,有外键的就是从表,没有中间表且外键为not null 和unique是一对一,否则一对多,有中间表则为多对多
2:类型的转换:
a:自定义类型转换器
b:基于注解的类型转换@DateTimeFormat