關聯式資料庫由被稱為關係(relation)的**組成。關係中的每乙個列被稱為屬性(attribution),每一行被稱為一條記錄(record)。每乙個儲存了實際資料的關係被稱為關係例項(relation instance)
在關係的屬性中,每一條記錄的某個屬性被約束在某個特定的資料型別上,這個型別被稱為屬性的域(domain)。每乙個屬性只允許輸入乙個值,即不允許一條記錄上的乙個屬性上對應複數個值,這個特性被稱為原子性(atomic)
關聯式資料庫允許關係中的屬性留空,此時屬性可填入空值(null)來表示該屬性的值未知或是不存在。
表示乙個關係模式需要包含模式名、屬性名。關係模式具體表示例項如下,該語句表示乙個名為dpartment的關係:
department
(depart_name, building, budget)
當乙個或一組屬性能夠唯一的標識一組資料的時候,這個或這組屬性被稱為超鍵。超鍵的嚴格定義是:在關係r中,對於兩組不同的資料t1和t2,t1的超鍵k1與t2的超鍵k2必須滿足k1不等於k2。
注意到超鍵的定義,有以下幾點注意:
超鍵可以是乙個屬性,也可以是一組屬性。
對於存在多個屬性的超鍵,雖然超鍵用於標識資料,但超鍵不能保證每乙個屬性都對於標識資料有著作用,即超鍵的子集不能保證也是超鍵。
不同的資料的超鍵不允許都相同,但相同資料卻不能保證它們超鍵中的每乙個屬性都是相同的。
若超鍵k的任何子集都不是是超鍵,則該鍵被稱為候選鍵。候選鍵可以說是關係中某些超鍵子集中最小的超鍵。注意到候選鍵的定義,乙個關係模式是允許出現多個候選鍵的。
資料庫設計者要在在多個候選鍵中選擇乙個作為標識一組資料的候選鍵。被設計者使用的這個候選鍵叫做主鍵。
在選擇主鍵時,設計者需要估計這些屬性可以唯一地表示某個實體或資料。對於一些屬性,若存在可能會存在使該屬性不滿足候選鍵條件的值或是值經常改動的的情況,則該屬性不應選做為主鍵。
一般主鍵在表示時會以下劃線標註。
若關係r1存在某些屬性恰好是r2的主鍵,那麼這些屬性被稱為r1參照r2的外來鍵。r1被稱為參照關係,r2被稱為被參照關係。另外,外來鍵必須滿足參照完整性約束,即參照關係中的外來鍵的所有值必須在也在被參照關係中對應的主鍵出現。對於外來鍵有以下幾點注意:
1. 參照關係和被參照關係不能顛倒,這種關聯是單項關聯。外來鍵的關聯倒轉是不成立的。
2. 參照關係中外鍵中的值必須在被參照關係中出現,但被參照關係的對應主鍵的值可以出現參照關係外來鍵不出現的值。(這也是為什麼上一條不成立)
3. 雖然外來鍵是被參照關係的主鍵,但參照關係中外鍵可以不唯一,即可以出現多個相同外來鍵但其他值卻不同。
資料庫模式圖描述了資料庫的模式設計。它包括了各種關係、屬性、主鍵以及外來鍵與其造成的依賴關係。在該圖中,每個方框的頂部為關係名,其下部為該關係的所有屬性。被下劃線標註的屬性為關係的主鍵。外來鍵由乙個箭頭表示,箭頭從參照關係的外來鍵指向被參照關係的主鍵。其效果如圖所示。
(img)
資料庫學習筆記 關聯式資料庫
關係模型由關係資料結構,關係操作集合,關係完整性約束三部分組成 基數 m 候選碼 某一屬性值能唯一確定乙個元組 全碼 關係模型中所有屬性組都是候選碼 外碼 r的乙個屬性f是s的主碼,稱f為r的外碼 r為參照關係,s為被參照關係 外碼取空值表示尚不存在,不取空值表示是另乙個表的主碼值。分量必須取原子值...
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...