資料庫設計範式有:第一範式、第二範式、第三範式、巴德斯科範式、第四範式和第五範式。滿足最低要求的範式是第一個範式,在第一範式的基礎上進一步滿足更多要求的稱為第二範式,其餘範式以此類推。
關係資料庫中的關係必須滿足一定的要求,也就是滿足不同的範式。
(推薦學習:mysql教學)
關聯式資料庫有六種範式:
第一範式(1NF) 、第二範式(2NF)、第三範式(3NF)、巴德斯科範式(BCNF)、第四範式(4NF)和第五範式(5NF)。
滿足最低要求的範式是第一個範式(1NF)。在第一範式的基礎上進一步滿足更多要求的稱為第二範式(2NF),其餘範式以此類推。一般說來,資料庫只要滿足第三範式(3NF)就行了。
設計關係型資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫。這些規範被稱作範式。越高的範式資料庫的冗餘度就越低。
第一範式
無重複的欄位
#資料庫表的每一列都是不可分割的原子資料項,而不能是集合,數組,記錄等非原子資料項。如果實體中的某個屬性有多個值時,必須拆分為不同的屬性
在任何一個關聯式資料庫中,第一範式(1NF)是對關係模式的設計基本要求,一般設計中都必須滿足第一範式(1NF)。不過有些關係模型中突破了1NF的限制,這種稱為非1NF的關係模式。
換句話說,是否必須滿足1NF的最低要求,主要依賴所使用的關係模型。
第二範式
屬性完全依賴主鍵
第二範式(2NF)是在第一個範式( 1NF)的基礎上建立起來的,即滿足第二範式(2NF)必須先滿足第一範式(1NF)。
當存在多個主鍵的時候,才會發生不符合第二範式的情況。例如有兩個主鍵,不能存在這樣的屬性,它只依賴其中一個主鍵,這就是不符合第二範式。
如果存在不符合第二範式的情況,那麼這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原始實體之間是一對多的關係。
第三範式
屬性不能傳遞依賴主屬性(屬性不依賴其它非主鍵屬性)
第三範式(3NF)是在第二範式(2NF)的基礎上建立起來的,即滿足第三範式(3NF)必須先滿足第二範式(2NF)。
如果某一屬性依賴其他非主鍵屬性,而其他非主鍵屬性又依賴主鍵,那麼這個屬性就是間接依賴主鍵,而這被稱為傳遞依賴於主屬性。
以上是資料庫設計範式有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!