如何通俗地理解三個正規化?
答:第一正規化:1nf是對屬性的原子性約束,要求屬性具有原子性,不可再分解;
第二正規化:2nf是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性;
第三正規化:3nf是對字段冗餘性的約束,即任何字段不能由其他字段派生出來,它要求字段沒有冗餘。。
正規化化設計優缺點:
優點:可以盡量得減少資料冗餘,使得更新快,體積小
缺點:對於查詢需要多個表進行關聯,減少寫得效率增加讀得效率,更難進行索引優化
反正規化化:
優點:可以減少表得關聯,可以更好得進行索引優化
缺點:資料冗餘以及資料異常,資料得修改需要更多的成本
char 和 varchar 的區別
char:長度是不可變;儲存效率高;占用空間多;
varchar:長度可變;空間效率高,占用空間少;
資料庫優化方向:
設計良好的資料庫結構,允許部分資料冗餘,盡量避免join查詢,提高效率;
選擇合適的表字段資料型別和儲存引擎,適當的索引新增;
mysql主從讀寫分離;
找規律分表,減少單錶中的資料量;
新增快取機制;
不經常改動的頁面生成靜態頁面;
書寫高效率的sql;
orm資料庫查詢優化及資料庫三大設計正規化總結
only與defer only 只有only括號內的字段在查詢出的物件中,查詢該欄位無需走資料庫,查詢其他字段需要重走資料庫查詢操作 defer 效果與only相反 只有在查詢defer括號內的字段時才會走資料庫查詢操作 select related與prefetch related select ...
三正規化 及 資料庫模型
一 什麼是正規化?規則,目的 防止資料冗餘。二 三正規化 第一正規化 要有主鍵 欄位要設計的不可再分 第二正規化 如果表中有組合主鍵的時候 非主鍵不能依賴於部分主鍵.第三正規化 不能有傳遞依賴 如果emp表中出現dname,loc就有了傳遞依賴,沒有必要為所有雇員寫上工作地點,資料冗餘。解決方案 拆...
資料庫物件及三正規化
資料庫物件是資料庫的組成部分,常見的有以下幾種 1.表 table 資料庫中的表與我們日常生活中使用的 類似,它也是由行 row 和列 column 組成的。列由同類的資訊組成,每列又稱為乙個字段,每列的標題稱為欄位名。行包括了若干列資訊項。一行資料稱為乙個或一條記錄,它表達有一定 意義的資訊組合。...