數據庫理論基本概念和範式定義

一、基本概念

屬性: 教科書上解釋爲:“實體所具有的某一特性”,由此可見,屬性一開始是個邏輯概念,比如說,“性別”是“人”的一個屬性。在關係數據庫中,屬性又是個物理概念,屬性可以看作是“表的一列”。

元組 :表中的一行就是一個元組。

分量: 元組的某個屬性值。在一個關係數據庫中,它是一個操作原子,即關係數據庫在做任何操作的時候,屬性是“不可分的”。否則就不是關係數據庫了。

碼: 表中可以唯一確定一個元組的某個屬性(或者 屬性組 ),如果這樣的碼有不止一個,那麼大家都叫 候選碼, 我們從候選碼中挑一個出來做 主鍵 ,它就叫 主碼。

外碼: 一個屬性(或屬性組),它不是碼,但是它別的表的碼,它就是外碼。

 

主屬性: 一個屬性只要在任何一個候選碼中出現過,這個屬性就是主屬性。

非主屬性: 與上面相反,沒有在任何候選碼中出現過,這個屬性就是非主屬性。

 

  主碼(從候選碼中選出的一個碼)

主屬性

 

候選碼(能夠唯一確定一個元組的元素)

碼實際爲一個具有唯一功能的元素或元素組,但是應該將其看做一個具有這樣功能的 set 。爲了和主屬性,非主屬性區別。

 有碼即是有能夠唯一確定一個元組的主鍵,也就有了主屬性,非主屬性。

 

二、數據庫範式

數據庫的 2NF 要求:

  符合 1NF ,並且, 非主屬性完全依賴於碼 但是可以傳遞依賴。 (也就是有碼,主屬性概念的要求)

三範式( 3NF ): 符合 2NF ,並且, 消除傳遞依賴

BC 範式( BCNF ): 符合 3NF ,並且, 消除主屬性的傳遞依賴。

若一個關係達到了第三範式,並且它只有一個候選碼,或者它的每個候選碼都是單屬性,則該關係自然達到 BC 範式。

  第四範式: 要求把同一表內的多對多關係刪除。

第五範式: 從最終結構重新建立原始結構。

但在絕大多數應用中不需要設計到這種程度。並且,某些情況下,過於範式化甚至會對數據庫的邏輯可讀性和使用效率起到阻礙。數據庫中一定程度的冗餘並不一定是壞事情。

注意:一定要在理解了基本的名詞概念後採取理解理論的定義,要不會浪費很多不必要的時間和誤解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章