資料庫三大正規化

2021-10-08 21:53:09 字數 1177 閱讀 4759

什麼是正規化:簡言之就是,資料庫設計對資料的儲存效能,還有開發人員對資料的操作都有莫大的關係.所以建立科學的,規範的的資料庫是需要滿足一些.

第一正規化(列不可再分): 資料庫表中的所有字段值都是不可分解的原子值,如一張表裡有乙個欄位是高階職稱,但是在高校裡高階職稱包括副教授和教授,這屬於可分的,所以不符合第一正規化.

第二正規化(非主屬性完全依賴於碼 ):在乙個資料庫表中,乙個表中只能儲存一種資料,不可以把多種資料儲存在同一張資料庫表中.

例如,在選課關係表(學號,課程號,成績,學分),關鍵字為組合關鍵字(學號,課程號),但由於非主屬性學分僅依賴於課程號,對關鍵字(學號,課程號)只是部分依賴,而不是完全依賴,因此此種方式會導致資料冗餘以及更新異常等問題,解決辦法是將其分為兩個關係模式:學生表(學號,課程號,分數)和課程表(課程號,學分),新關係通過學生表中的外關鍵字課程號聯絡,在需要時進行連線.

第三正規化(確保每列都和主鍵列直接相關,而不是間接相關):減小了資料冗餘.有一張表(學號,系名,系主任),這裡存在傳遞依賴.學號->系名,系名->系主任 傳遞依賴,需要將系名和系主任另外新建一張表.

bcnf正規化(排除了任何屬性對碼的傳遞依賴和部分依賴)

完全函式依賴

定義:設x,y是關係r的兩個屬性集合,x』是x的真子集,存在x→y,但對每乙個x』都有x』!→y,則稱y完全函式依賴於x.

比如: 當主鍵為學號時,學號->姓名

部分函式依賴

定義:設x,y是關係r的兩個屬性集合,存在x→y,若x』是x的真子集,存在x』→y,則稱y部分函式依賴於x.

這主要針對於組合屬性,比如,當主鍵為(學號,課程號)的組合屬性時,學分->課程號,不依賴於其中的學號,即只依賴於這個集合的一部分,為部分函式依賴.

傳遞函式依賴

設x,y,z是關係r中互不相同的屬性集合,存在x→y(y !→x),y→z,則稱z傳遞函式依賴於x.

資料庫的表中**:列屬性**;元組.

參考**: link.

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

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

資料庫三大正規化

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

資料庫三大正規化

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