資料庫正規化

2022-10-10 20:18:10 字數 954 閱讀 9217

1. 概念:

關係模式r:u表示屬性集合,f表示依賴集合,f主要有兩種依賴:函式依賴和多值依賴mvd,【關係模式】理解為資料表,而【關係】可以理解為表中一條記錄。

函式依賴:x,y是是屬性集合u的子集,關係模式r中的任意關係r1,r2,都不存在r1,r2中x相同,而y不同的情況則認為「y函式依賴於x」或者說「x確定y」,,符號說明:x->y。

非平凡函式依賴:x->y且y不是x子集。

平凡函式依賴:x->y且y是x子集。平凡函式依賴必然成立,因此一般考慮的都是非平凡函式依賴。

若x->y,y->x,則符號表示為:x y。

完全函式依賴:z是符號說明:x -f-> y。

部分函式依賴:符號說明:x -p-> y。

候選碼:k是u的乙個子集,如果k -f-> u ,則k為關係模式r的候選碼。候選碼可能有多個,從中選擇乙個作為主碼。候選碼中的屬性稱為主屬性,其它為非主屬性。

主碼:某個候選碼。

外碼:k是u的乙個子集,但是不是r的主碼,卻是另乙個關係模式r'的主碼,則k是關係模式r的外碼。

2. 正規化:

1nf:關係模式r中的所有屬性都不可再分割,則滿足1nf。

2nf:r屬於1nf,且非主屬性完全依賴於碼,則滿足2nf。

舉例:sno,學號;sdept,部門;sloc,宿舍;grade,成績。

如下圖所示,圖a滿足第一正規化,但是因為存在非主屬性部分依賴於碼,因此2nf,而將圖a.進行拆分形成圖b.圖c.,則圖b.圖c.滿足2nf。

3nf:r屬於2nf,且非主屬性不存在傳遞依賴於碼,則滿足3nf。

如上圖c.所示因為存在sloc傳遞依賴於sno,因此圖c.不滿足3nf,按照如下分解圖c.則滿足3nf。

s-d(sno,sdept)

d-l(sdept,sloc)

資料庫 資料庫正規化

關聯式資料庫的設計規範。不同的規範要求被稱為不同的正規化,越高的正規化資料庫冗餘越小。減少資料庫中資料冗餘的過程 1 第一正規化 1nf 在關係模式r中,當且僅當所有屬性只包含原子值,即每個分量都是不可再分的資料項,則稱r滿足1nf。例如表所示的教師職稱情況關係就不滿足1nf。原因在於,該關係模式中...

資料庫正規化 三正規化

所謂第一正規化 1nf 是指在關係模型中,對域新增的乙個規範要求,所有的域都應該是原子性的,即資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項。即實體中的某個屬性有多個值時,必須拆分為不同的屬性。在符合第一正規化 1nf 表中的每個域值只能是實體的乙個屬性或乙個屬性的...

資料庫正規化

注 表在定義中被稱為關係,記作r 欄位在定義中被稱作屬性 模式 資料庫中有三種模式,外模式,內模式,模式 粗體是關鍵字的意思 斜體為外來鍵 以前寫下來的,但是用了多年的帳號已經忘了,唯有把文章轉到這裡來了 真暈哦 http blog.csdn.net fantasylu archive 2004 0...