*資料庫就是產品的地基,地基打不好,這個產品時刻都有潛在的危險。
一、規範化的目的
二、基本概念
主碼:也叫主鍵,能唯一地確定一條記錄;是表中的屬性或屬性組;(唯一且不可更改【如:身份證號】)
候選碼:也叫候選鍵,可以作為主碼的碼;
主屬性:包含在任一候選鍵中的屬性;
實體:客觀存在的可以被描述的事物(使用者,課程等)。
例1:設有關係模式sc(sno,sname,cno(課程號),credit(學分),grade),其中主鍵為(sno,cno)
sno -> sname 姓名完全函式依賴於學號;
(sno,cno)->sname 姓名部分函式依賴於學號和課程號;
(sno,cno)-> grade 成績完全函式依賴於學號和課程號。
例2:設有關係模式s(sno,sname,sdept(所在系),dep_master(系主任)),主鍵為sno
sno->sdept 所在系完全函式依賴於學號;
sdept->dept_master 系主任完全函式依賴於所在系;
因此:sno->dept_master 系主任傳遞函式依賴於學號。
三、主鍵的選擇
1、人工鍵:實體的非自然屬性
2、自然鍵:實體本身的屬性
四、表結構設計的原則
自然二維表
首先,經過一系列對需求的提煉,整理出來的表,稱為自然二維表。
第一正規化(1nf)
消除自然表中屬性的非原子性後,就滿足1nf。
第二正規化(2nf)
消除非主屬性對碼的部分函式依賴。
第三正規化(3nf)
消除非主屬性對碼的傳遞函式依賴。
bc正規化*
消除主屬性對碼的部分和傳遞函式依賴。
第四正規化(4nf)
消除不是由候選碼蘊含的非平凡的多值依賴。
第五正規化(5nf)
消除不是由候選碼蘊含的連線依賴。
五、常見疑慮
1、每個表都可以設定唯一且不可更改的自增id為主鍵,為什麼還要費勁選主鍵?
關聯式資料庫的規範化
文章分類 資料庫 一 函式依賴 在資料庫中,函式依賴是最基本 最重要的一種依賴。在資料庫中,屬性值之間會發生聯絡,這類聯絡稱為函式依賴。設有屬性集u上的關係模式r u x,y是u的子集,若對於任乙個關係r中的任一元組在x中的屬性值確定後,則在y中的屬性值必確定,則稱y依賴於x。二 正規化和規範化方法...
關聯式資料庫設計正規化
簡介 設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴德斯科正規化 bcnf 第四正規化 4nf 和第...
關聯式資料庫的設計正規化
所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列不能有多個含義,即實體的某個屬性不能有多個含義或者不能有重複的屬性。1nf是關聯式資料庫的基本原則,不滿足1nf的要求,就不能稱其為關聯式資料庫。第一正規化表達了如下3個意思。1 乙個表中不能同時存在兩個含義重複的屬性。2 ...