您好,登錄后才能下訂單哦!
關系數據庫的范式有哪些?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
范化是在識別數據庫中的數據元素、關系,以及定義所需的表和各表中的項目這些初始工作之后的一個細化的過程。設計范式(范式,數據庫設計范式,數據庫的設計范式)是符合某一種級別的關系模式的集合。構造數據庫必須遵循一定的規則。在關系數據庫中,這種規則就是范式。關系數據庫中的關系必須滿足一定的要求,即滿足不同的范式。
關系數據庫有六種范式:
第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)和第五范式(5NF)。
滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎上進一步滿足更多要求的稱為第二范式(2NF),其余范式以此類推。一般說來,數據庫只需滿足第三范式(3NF)就行了。
設計關系型數據庫時,遵從不同的規范要求,設計出合理的關系型數據庫。這些規范被稱作范式。越高的范式數據庫的冗余度就越低。
第一范式
無重復的列
數據庫表的每一列都是不可分割的原子數據項,而不能是集合,數組,記錄等非原子數據項。如果實體中的某個屬性有多個值時,必須拆分為不同的屬性
在任何一個關系數據庫中,第一范式(1NF)是對關系模式的設計基本要求,一般設計中都必須滿足第一范式(1NF)。不過有些關系模型中突破了1NF的限制,這種稱為非1NF的關系模型。
換句話說,是否必須滿足1NF的最低要求,主要依賴于所使用的關系模型。
第二范式
屬性完全依賴于主鍵
第二范式(2NF)是在第一范式(1NF)的基礎上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。
當存在多個主鍵的時候,才會發生不符合第二范式的情況。比如有兩個主鍵,不能存在這樣的屬性,它只依賴于其中一個主鍵,這就是不符合第二范式。
如果存在不符合第二范式的情況,那么這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關系。
第三范式
屬性不能傳遞依賴于主屬性(屬性不依賴于其它非主鍵屬性)
第三范式(3NF)是在第二范式(2NF)的基礎上建立起來的,即滿足第三范式(3NF)必須先滿足第二范式(2NF)。
如果某一屬性依賴于其他非主鍵屬性,而其他非主鍵屬性又依賴于主鍵,那么這個屬性就是間接依賴于主鍵,這被稱作傳遞依賴于主屬性。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。