讀了劉仲英的《管理資訊系統》一書,結合最近工作中涉及到資料庫的情況,重新溫習一下資料庫設計的三大正規化:
第一正規化:
如果乙個關係模式r的每個具體關係r的每個屬性值都是不可分的最小資料單位,則稱r為第一正規化,簡稱1nf,r為1nf關係。
比如:資料庫表中不允許,也不能實現如下表,這一點很好理解:
客戶 產品 單價
檯燈 3
皮鞋廠 筆記本 20
燈泡 4
第二正規化:
如果滿足第一正規化的關係模式r,它的所有屬性都完全函式依賴於主關鍵字,則稱r為第二正規化,記為2nf。
不能出現表中某些資料分別依賴與表中2個關鍵字,否則這種關係會引起資料冗餘和更新異常情況:
a21 s1 3 60 11022
a22 s2 20 30 11022
a21 s1 3 60 s1 11022
a22 s2 20 30 s2 11022
第三正規化:
如果關係模式r滿足2nf,並且它的任何乙個屬性都不傳遞依賴於任一關鍵字,則稱r是第三正規化,記為3nf。
如:h01 03/15/1998 d1 25
h04 07/07/1998 d2 35
如果改為一下2個表則符合第三正規化:
h01 03/15/1998 d1 d1 25
h04 07/07/1998 d2 d2 35
資料庫設計的幾點建議
資料庫設計的幾點建議 1.表必須擁有識別符號。這是基本規則,每個表應該擁有唯一的行識別符號,以及可讓表的記錄和記錄間有所區別的列或列的集合。每個表都應該擁有乙個識別符號列,而且每條記錄的識別符號的值都是唯一的,此行識別符號稱為主鍵。2.表應該只儲存單一例項型別的資料。若在表中儲存太多資訊,可能導致無...
關於資料庫標間關係的幾點建議!!!!
1nf 字段具有原子性,不可再分。所有關係型資料庫系統都滿足第一正規化 2nf 對於具有組合關鍵字的表.不存在組合關鍵字中的任意字段決定其它非關鍵字欄位的情況。3nf 在2n的基礎上,每乙個非主屬性既不部分依賴於碼也不傳遞依賴於碼.簡單描述 第三正規化的要求如下 1,每一列只有乙個值 2,每一行都能...
資料庫設計,建議規範
1 資料庫和表取名要有意義,最好不要超過32字元,命名都使用小寫字母或單詞並用下劃線隔開,字段最好不要有關鍵字等 2 臨時資料建議以tmp 為字首並以日期為字尾,備份資料建議以bak 為字首並以日期為字尾 3 資料庫和表的字符集統一使用utf8 表情用utfmb4 4 表和字段都要新增注釋 5 儲存...