關係模型、關係模式、關聯式資料庫等基本概念以及關係代數理論;
能夠運用關係代數(並、交、差、除、笛卡爾積、選擇、投影、連線)完成關係運算。
關係模型由關係模型的資料結構、關係模型的操作集合、和關係模型的完整性規約三部分組成。這三部分也稱為關係模型的三要素。
(1)資料結構:
關係系統中,表是邏輯結構,而不是物理結構,表是對物理儲存結構的一種抽象表示。
(2)資料操作;
關係模型按集合進行操作,操作的資料以及操作的結果都是完整的集合(或表)。
關聯式資料庫物理層也使用指標,但關係語言的特點是高度非過程化,很多細節對使用者來說都是不可見。
(3)資料完整性約束:
資料的完整性是指保證資料正確性的特徵。
關係(relation)就是二維表。
屬性(attribute)二維表中的每個列。
值域(domain)二維表中屬性的取值範圍。
元組(tuple)二維表中的一行資料。
分量(component)元組中的每乙個屬性值稱為元組的乙個分量。
關係模式(relationschema)就是二維表的表框架或表頭結構。如果將關係模型理解為資料型別,則關係就是該資料型別的乙個具體值。
關聯式資料庫(relationdatabase)對應於乙個關係模型的所有關係的集合稱為關聯式資料庫。
候選鍵(candidate key)如果乙個屬性或屬性集的值能夠唯一標誌乙個關係的元組而又不包含多餘的屬性,則稱該屬性或屬性集為候選鍵。
主鍵(primary key)是表中的屬性或屬性組,用於唯一地確定乙個元組。乙個關係中有多個候選鍵時,可以從中選擇乙個作為主鍵。
主屬性(primary attribute)是包含在任意候選鍵中的屬性,非主屬性(nonprimary attribute)是不包含在任意候選鍵中的屬性。
關係型模型是建立在集合論的基礎上的。
(1) 實體完整性
實體完整性是保證關係中的每個元組都是可識別的和唯一的。
(2) 參照完整性(引用完整性)
參照完整性就是描述實體之間的聯絡。這種限制乙個關係中某列取值受另乙個關係中某列的取值範圍約束的特點稱為參照完整性。
設f是關係r的乙個或一組屬性,如果f與關係s的主鍵相對應,則稱f是關係r的外來鍵(foreign key),並稱關係r為參照關係,關係s為被參照關係。關係r和關係s不一定是不同的關係。
(3) 使用者定義的完整性
使用者的定義的完整性實際上就是指明關係中屬性的取值範圍。
關係代數是關係操作語言的一種傳統表示方式,是一種抽象的查詢語言。
關係代數的三大要素:運算物件、運算子和運算結果。
(1) 傳統的集合運算
並運算(union)
設關係r與關係s均是n目關係,關係r與關係s的並記為:
r∪s=
交運算(intersection)
設關係r與關係s均是n目關係,關係r與關係s的交記為:
r∩s=
差運算(difference)
設關係r與關係s均是n目關係,關係r與關係s的差記為:
r-s=
廣義笛卡兒積(cartesian product)
若r有k1個元組,s有k2個元組,則關係r和關係s的廣義笛卡爾積有k1×k2個元組,記做:
r×s={tr^ts | tr∈r ∧ ts∈s}
(2) 專門的關係運算
選擇(selection)
從指定的關係中選擇滿足給定條件(用邏輯表示式表達)的元組而組成乙個新的關係。
σf(r)=
投影(projection)
從關係r中選擇若干屬性,並用這些屬性組成乙個新的關係。
πa(r) = (t(a)| t∈r)
連線(join)
連線運算用來連線相互之間有聯絡的兩個關係,從而產生乙個新的關係。
θ連線
連線運算從r和s的廣義笛卡爾積中選擇r關係在a屬性組上的值與s關係在b屬性組上的值滿足θ的元組。θ是比較運算子。
等值連線(θ連線的特例)
θ為「=」的連線成為等值連線。它是從關係r與s的笛卡爾積中選取a,b屬性值相等的那些元組:
自然連線
是一種特殊的等值連線,它去掉了等值連線結果中的重複的屬性列。
外部連線(或稱外連線)
外連線有三種:
左(右)外連線:把連線符號左(右)邊的關係中不滿足連線條件的元組也保留到連線後的結果中,並在連線結果中將該元組所對應的右(左)邊關係的各個屬性均置成空值(null)。
全外連線:把連線符號兩邊的關係中不滿足連線條件的元組均保留到連線後的結果中,並在連線結果中將不滿足連線條件的各元組的相關屬性均置成空值(null)。
半連線
在兩個關係之間執行連線操作,並將其結果投影在第乙個操作關係的所有屬性上。
半連線的乙個優點是可以減少必須參與連線的元組的數目。
除(division)
設關係s的屬性是關係r的屬性的一部分,則r÷s為這樣乙個關係:
此關係的屬性是由屬於r但不屬於s的所有屬性組成;
r÷s的任一元組都是r中某元組的一部分。但必須符合下列要求,即任取屬於r÷s的乙個元組t,則t與s的任一元組連線後,都為r中原有的乙個元組。
例1. 查詢選了c002號課程的學生的學號和成績。
∏sno, grade(σcno=『c002『 (sc))
2. 查詢資訊管理系選了c004號課程的學生的姓名和成績。
或:
3.查詢選了第2學期開設的課程的學生的姓名、所在系和所選的課程號
或:
4.查詢選了「高等數學」且成績大於等於90分的學生的姓名、所在系和成績。
或5.查詢沒選vb課程的學生的姓名和所在系。
或6.查詢選了全部課程的學生的姓名和所在系。
(1)選了全部課程的學生學號
(2)這些學生的姓名和所在系
7.查詢計算機系選了第1學期開設的全部課程的學生的學號和姓名。
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
mysql關聯式資料庫 關聯式資料庫概述
為什麼需要資料庫?因為應用程式需要儲存使用者的資料,比如word需要把使用者文件儲存起來,以便下次繼續編輯或者拷貝到另一台電腦。要儲存使用者的資料,乙個最簡單的方法是把使用者資料寫入檔案。例如,要儲存乙個班級所有學生的資訊,可以向檔案中寫入乙個csv檔案 id,name,gender,score 1...