規範地設計關聯式資料庫必須遵守的三大正規化!

2021-09-13 00:25:04 字數 1555 閱讀 8523

*資料庫就是產品的地基,地基打不好,這個產品時刻都有潛在的危險。

一、規範化的目的

二、基本概念

主碼:也叫主鍵,能唯一地確定一條記錄;是表中的屬性或屬性組;(唯一且不可更改【如:身份證號】)

候選碼:也叫候選鍵,可以作為主碼的碼;

主屬性:包含在任一候選鍵中的屬性;

實體:客觀存在的可以被描述的事物(使用者,課程等)。

例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 ...