1.資料庫設計的三大正規化和反第三正規化
第一正規化:組成表中的各列不可再拆分,
第二正規化:一張表只說一件事(資料庫是二維**描述一件事)
第三正規化:在同一張表中,消除傳遞依賴(如果表中有a和b,且根據a,b能得到c,就不要把c展示出來),兩張表中也存在傳遞依賴.拿空間換時間.
反第三正規化:不滿足第三正規化,鍵.建立出傳遞依賴的字段.拿空間換時間.
說到第三正規化就先說一下mybatis的載入策略:立即載入和延遲載入.
eg:酒水分為茅台和江小白,飲料分為可樂和雪碧
立即載入:查詢可樂的時候一併將分類(飲料)查出來
特徵:對一
設計思想:拿空間換時間
延遲載入:查詢飲料的時候沒必要知道雪碧和可樂是不是屬於飲料
特徵:對多
設計思想:拿時間換空間
外來鍵:存在於從表中該列的取值只能**於主表的主鍵或者是null
外來鍵要是not null 和unique則表之間為一對一
確定表關係:
找外來鍵,有外來鍵的就是從表,沒有中間表且外來鍵為not null 和unique是一對一,否則一對多,有中間表則為多對多
2:型別的轉換:
a:自定義型別轉換器
b:基於註解的型別轉換@datetimeformat
Mysql資料庫設計之三正規化和反正規化
先說明正規化中涉及兩個索引概念 主鍵和復合主鍵。原則上,該錶address欄位還可以再繼續拆分成下表,但是最終還是得根據使用者需求來設計,所以兩表都可以說是遵循第一正規化原則。貨物型別 貨物id 貨物名稱瓷碗1 白色瓷碗瓷碗2 青花瓷碗瓷碗3 雕花瓷碗 三合板1 普通三合板 在該表中的主鍵依然是 貨...
資料庫設計 三大正規化和反正規化
總共有六大正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 科德正規化 bcnf 第四正規化 4nf 和第五正規化 5nf,又稱完美正規化 只記前三正規化 三大正規化 第一正規化 資料表中欄位滿足原子性,字段不可再分 如學生資訊字段 儲存 張三,手機號 這個可以再分姓名,手機...
資料庫設計之三大正規化
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...