作者 : dolphin
一、第一正規化 1nf
要求:每乙個分量必須是不可分的資料項。
特點:1)有主鍵,且主鍵不能為空。
2)字段不能再分。
示例:(以下例子不滿足第一正規化)
/*學號 年齡 資訊*/主鍵:snosno sage sinfo
1001 20 陝西,寶雞
不滿足原因:1)主鍵重複。2)sinfo欄位可以再分。
二、第二正規化 2nf
要求:在正規化一的基礎上,且每乙個非主屬性完全函式依賴於碼。
特點:1)滿足第一正規化。
2)表中的每乙個非主屬性,必須完全依賴於本表碼。
3)只有當乙個表中,主碼由兩個或以上的屬性組成的時候,才會出現不符合第二正規化的情況。
示例:(以下例子不符合第二正規化)
/*學號 課程號 得分 課程名*/主鍵: sno,cnosno cno score sname
1001 001 99 資料庫
不滿足原因:sname不完全依賴於碼,課程名部分依賴於碼cno。
三、第三正規化 3nf
要求:在滿足第二正規化的基礎上,且每乙個非主屬性既不部分依賴於碼也不傳遞依賴於碼。
特點:1)滿足第二正規化。
2)非主屬性不能傳遞依賴於碼。
示例:(以下例子不符合第三正規化)
/*學號 系別 系主任*/主鍵:snosno sdept shead
1001 計算機系 張三
不滿足原因:shead傳遞依賴於碼,sno->sdept->shead,可得sno->shead。
四、bcnf
要求:在滿足第三正規化的基礎上,且不允許主鍵的一部分被另一部分或其它部分決定。
特定:1)滿足第三正規化。
2)所有非主屬性對每乙個碼都是完全函式依賴。
3)所有的主屬性對每乙個不包含它的碼,也是完全函式依賴。
4)沒有任何屬性完全函式依賴於飛碼的任何一組屬性。
示例:(以下例子不符合第bcnf正規化)
/*學生 老師 課程*/假設:每個老師只教一門課。stu teacher course
張三 李開復 資料庫
候選碼:
(stu,teacher)->course
(stu,course)->teacher
這兩個碼由兩個屬性組成,而且它們是相互交叉的,所以不存在傳遞依賴,所以為3nf。
但是由於:teacher->course,(主鍵的一部分被另一部分決定),所以不符合bcnf。
giseryang.第一正規化,第二正規化,第三正規化[cp/ol].
,2012-05-09/2014-05-28.
ruthless.資料庫設計三大正規化[cp/ol].
,2012-04-01/2014-05-28.
allenlsy 孤而無寂的csdn部落格.第一正規化,第二正規化,第三正規化,bcnf[cp/ol].
,2010-03-08/2014-05-28
第一正規化,第二正規化,第三正規化
第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...
第一正規化,第二正規化,第三正規化
第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...
第一正規化,第二正規化,第三正規化
第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...