資料庫三大正規化

2022-04-07 03:55:10 字數 2709 閱讀 8780

**seetobest

所有的管理資訊都是基於資料庫技術的,乙個良好的資料組織結構會提高管理資訊系統軟體的執行效率,是衡量

系統開發工作好壞的主要指標之一。

一,資料設計的任務

資料庫設計是再資料字典的基礎上進行的,但由於資料字典是系統分析階段的結果,它距離計算機的實現還是有

二.資料庫設計步驟

三,資料三正規化

有人說,資料按照規定設計出來了就可以了,怎麼還要弄乙個資料庫設計三正規化呢,麻煩啊,我想回答他說,現

表如下所示:

注意觀察這張表,至少存在了四個最基本的問題:

1.資料冗餘:在這裡面有重複的資料,例如,有些系主任的名字重複出現,重複次數與該系所有學生的所有課程,所

有課程成績出現次數是相同,這就會極大的浪費儲存空間。

資料冗餘:指乙個資料在乙個或者多個資料檔案中重複儲存.在sql server中,乙個資料庫對應乙個資料庫檔案。產

生的原因是因為資料依賴。

2.更新異常:由於資料容易,當更新資料庫中的資料時,系統要付出很大的代價來維護資料庫的完整性,否則就會面

臨資料不一致的危險,例如,資訊與計算科學析要把張寶雷老師更換掉,系統必須修改與該系學生有關的記錄。

3.插入異常:如果有個移動通訊系要建立,由於是剛建立,還沒有學生那麼就無法把這個系及其系主任的資訊存入數

據庫。4.刪除異常:如果資訊與計算科學系的08屆學生全部畢業了,在刪除該系學生的同時也把這個系和期系主任的資訊刪

除。從上述的例子可以看出來,如果還是按照上面的結構儲存資料的畫,開發的管理資訊系統將會出現大量的資料冗

餘,可能會發生插入異常,刪除異常和更新異常等現象,這樣的管理資訊系統是很難滿足使用者要求。

不滿足使用者要求的系統開發得再好也是垃圾,只有滿足了使用者要求的系統才是乙個好的系統,設計乙個好的系統

就離不開資料庫的設計,資料庫的設計以第三正規化為基準。下面我們來看看資料庫三正規化:

第一正規化(first normal form):設乙個關係為r,如果它的每個屬性都是不可再分的,則稱這個關係是符合

第一正規化的,簡稱1nf。

第二正規化(second normal form):設乙個關係為r,它是滿足第一正規化的,若r中不存在非主屬性對主鍵的

部分函式依賴,則稱該關係是符合第二正規化的,簡稱2nf。

這個表的關係是符合第一正規化,但是沒有符合第二正規化,一般可通過關係分解的方法,消除部分函式依賴,達到第二範

式.對應學生選課關係,可不斷地分解成以下三個關係:

學生=(學生號,姓名,性別,專業)

課程=(學生號,課程號,成績)

選課=(課程號,課程名,課程學分)

從上表中可以看出,著三個關係均不存在部分函式依賴,但是他們之間還是存在傳遞關係的,如何消除傳遞關係

呢,就要考慮考慮第三正規化。

第三正規化(third normal form):設乙個關係為r,它是滿足第二正規化的,若r中不存在非主屬性對主鍵的傳

遞函式依賴,則稱該關係是符合第三正規化,簡稱為3nf。

上述的表關係不符合第三正規化,消除關係中也是通過不斷的關係分解的方法來實現,對學生住宿關係進行分解得

到一下三個關係:

系=(系號,系名,系位址,系**)

宿舍=(宿舍號,宿舍**)

學生=(學號,姓名,型別,籍貫,系號,宿舍號)

雖然說沒有冗餘的資料庫設計可以做到,但是沒有冗餘的資料庫未必是最好的資料庫,有時為了提高執行效率,

就必須降低正規化標準,適當保留冗餘資料。同時,為了提高資料的執行效率,常常需要降低正規化標準;適當增加冗

餘,達到以空間換時間的目的。

資料庫三正規化只是一種規則而已,不一定適合自己的系統,如果資料庫三正規化適合自己的系統是最好的,如果不

符合就適當的加入一些資料冗餘,何嘗有不可呢?

學習也是一樣,每個人都有自己的學習方法,學習方法可以相互借鑑,但是不一定完全適合自己的,就如公尺老師

常常對我們所說的那樣,世界沒有一成不變的,只有變才是不變的。

資料庫設計三大正規化資料庫設計三大正規化

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...

資料庫三大正規化

1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...

資料庫三大正規化

第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...