Day_02
內容:
1.數據庫設計的三大範式和反第三範式
第一範式:組成表中的各列不可再拆分,
第二範式:一張表只說一件事(數據庫是二維表格描述一件事)
第三範式:在同一張表中,消除傳遞依賴(如果表中有A和B,且根據A,B能得到C,就不要把C展示出來),兩張表中也存在傳遞依賴.拿空間換時間.
反第三範式:不滿足第三範式,鍵.建立出傳遞依賴的字段.拿空間換時間.
說到第三範式就先說一下mybatis的加載策略:立即加載和延遲加載.
eg:酒水分爲茅臺和江小白,飲料分爲可樂和雪碧
立即加載:查詢可樂的時候一併將分類(飲料)查出來
特徵:對一
設計思想:拿空間換時間
延遲加載:查詢飲料的時候沒必要知道雪碧和可樂是不是屬於飲料
特徵:對多
設計思想:拿時間換空間
外鍵:存在於從表中該列的取值只能來源於主表的主鍵或者是null
外鍵要是not null 和unique則表之間爲一對一
確定表關係:
找外鍵,有外鍵的就是從表,沒有中間表且外鍵爲not null 和unique是一對一,否則一對多,有中間表則爲多對多
2:類型的轉換:
a:自定義類型轉換器
b:基於註解的類型轉換@DateTimeFormat