資料庫三正規化及部分優化

2021-10-04 10:50:44 字數 626 閱讀 5575

如何通俗地理解三個正規化?  

答:第一正規化: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 組成的。列由同類的資訊組成,每列又稱為乙個字段,每列的標題稱為欄位名。行包括了若干列資訊項。一行資料稱為乙個或一條記錄,它表達有一定 意義的資訊組合。...