當前位置:成語大全網 - 書法字典 - 請給我解釋壹下數據庫設計的基本原理!

請給我解釋壹下數據庫設計的基本原理!

數據庫設計的三種範式所謂的範式是關系數據庫關系模式的標準化標準,從寬松到嚴格分為不同的範式。常用的有第壹範式、第二範式、第三範式和BC範式。範式是基於函數依賴的。

函數相關

定義:存在壹個關系模式R(U),其中X和Y是屬性集U的子集,函數依賴是壹個形狀為X → Y的命題。對於任意R中的二元組T和S,存在T【X】= S【X】蘊涵T【Y】= S【Y】,則FD X→Y在關系模式R(U)中成立。X→Y讀作‘X函數決定Y’,或‘Y函數依賴於X’。壹般來說,如果表中壹個字段Y的值由另壹個字段或壹組字段X的值決定,則稱Y函數依賴於X..應該通過理解數據項和企業規則來確定函數依賴關系,從表的內容導出的函數依賴關系可能是不正確的。

第壹範式(1NF)

定義:如果關系模式R的每個關系R的屬性是不可分的數據項,則R稱為第壹範式的模式。

簡單地說,每個屬性都是壹個原子術語,不可分割。1NF是關系模型的最低要求。如果數據庫設計不能滿足第壹範式的要求,它就不能稱為關系數據庫。關系數據庫設計研究的規範化是基於1NF。

第二範式(2NF)

定義:如果關系模式R為1NF,並且每個非主屬性完全函數依賴於候選鍵,則R稱為第二範式。

簡單來說,第二範式必須滿足以下條件:首先,它必須滿足第壹範式;其次,每個非主屬性必須在功能上完全依賴於候選鍵或主鍵。換句話說,每個非主鍵屬性是由整個主鍵函數決定的,而不是由主鍵的壹部分決定的。例如:

每日股市表的主鍵由股票代碼和交易日期組成。非主要屬性,如收盤價和交易量,都是由主鍵決定的,即股票代碼和交易日期的功能。無論是股票代碼還是交易日期本身都不能確定這些非主要屬性。如果此表中存在非主要股票簡稱,則可以通過股票代碼來確定股票簡稱,這樣股票簡稱的非主要屬性就不完全依賴於候選關鍵字,這種設計不符合第二範式。

第三範式(3NF)

定義:如果關系模式R為2NF,並且關系模式R(U,f)中的所有非主屬性對任何候選鍵都沒有傳遞依賴性,那麽關系模式R屬於第三範式。

簡單來說,第三範式必須滿足以下條件:壹是必須滿足第二範式,二是非主屬性之間不存在函數依賴關系。因為滿足第二範式,這意味著每個非主屬性在功能上都依賴於主鍵。如果非主屬性之間存在函數依賴,就會存在傳遞依賴,這將不滿足第三範式。

例如,在股票基本信息表中,主鍵是股票代碼,並且存在非主要屬性所屬的主要行業和次要行業。根據業務規則,第二產業可以功能決定第壹產業,這意味著存在這樣壹種關系:股票代碼功能決定第二產業,第二產業功能決定第壹產業,這形成了轉移依賴,因此設計不符合第三範式。然而,在實踐中,為了方便查詢和使用,它有時會違反第三範式。比如妳沒有第壹產業的屬性,就需要查詢第壹產業的相關股票。當您需要查詢時,您需要使用函數從第二產業生成第壹產業,這會影響您的性能。所以通常會加上壹級行業的屬性。

BC範式(BCNF)

BC範式是第三範式的加強版,但有人說它是直接從1NF發展而來的,即每個屬性,包括主屬性或非主屬性,都完全依賴於候選鍵,不存在傳遞依賴。