在關係中能唯一標識元組的屬性集稱為關係模式的超鍵。首先,概念中有幾個需要弄清楚的地方,有的是個人的理解,有的是比較官方一點的說法。關係:元組的集合;屬性集:屬性的集合;關係模式:就是一張表。
更直觀的說吧,看下面的這個**,
**中只看學號就能推斷出是哪個人,這就是唯一標識,同樣,年齡也可以唯一標識這張表,含有「學號或年齡」的任意乙個屬性集都是 超鍵
不含有多餘屬性的超鍵稱為候選鍵。多餘屬性就是沒有它也可以起到唯一標識的作用。用上表來解釋就是,姓名和學號可以有唯一標識作用,但是學號這一關屬性就可以唯一標識了,在這裡的學號和姓名就不是乙個候選鍵,有多餘的屬性。候選鍵是超鍵的子集。
使用者選作元組標識的候選鍵稱為主鍵。也就是說主鍵可以有乙個,也可以是多個。
表中的學號,學號和專業等都可以作為主鍵。在關係模式中主鍵下畫橫線表示。主鍵又是候選鍵的子集。
如果模式r中屬性k是其他模式的主鍵,那麼k在模式r中稱為外來鍵。在這裡提到值域的概念:關係中每乙個屬性都有乙個取值範圍,稱為屬性的值域。
表中的例子來說的話,如果姓氏在其他表中為主鍵,那麼它在這個表中就作為外來鍵,在關係模式中外鍵下面畫波浪線表示。
關係模式中每個關係的屬性值都是不可分的原子值,稱該關係模式為第一正規化1nf(first normal form)。
簡而言之,就是屬性不可以再分割了的意思。
如果關係模式是1nf,且每個非主屬性完全函式依賴於候選鍵,那麼稱該關係模式是第二正規化(2nf)的模式。非主屬性:如果a是關係模式r的候選鍵的屬性,那麼稱a是r的主屬性,否則稱為非主屬性。如表中的姓氏和性別可以作為乙個候選鍵,那麼姓氏和性別就是這個關係模式的主屬性。借馮老師的圖一用。
完全依賴:直接用下圖來解釋一下
第二正規化(2nf)和第三正規化(3nf)的概念很容易混淆,區分它們的關鍵點在於,2nf:非主鍵列是否完全依賴於主鍵,還是依賴於主鍵的一部分;3nf:非主鍵列是直接依賴於主鍵,還是直接依賴於非主鍵列。
關係模式滿足1nf,且每個非主屬性都不傳遞依賴於關係模式r的候選鍵,那麼稱r是第三正規化(3nf)的模式。所謂傳遞函式依賴,指的是如果存在「a—>b —>c」的決定關係,則c 傳遞函式依賴於a。
個人理解的不是特別到位,望提出問題,互相交流。
資料庫三正規化大總結
以下摘自 資料庫 第一正規化,第二正規化,第三正規化 正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可...
資料庫設計三大正規化資料庫設計三大正規化
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...
資料庫三大正規化
1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...