關係模型三要素 : 資料結構,完整性約束,操作集合
資料結構
關係資料模型用二維表來組織資料,這個二維表在關聯式資料庫中就稱為關係。關聯式資料庫就是表或者說是關係的集合,表示邏輯結構而不是物理結構。
關係系統要求讓使用者所感覺的資料就是一張張表。
關係模型的操作物件:集合/表 。不是單個的資料行
集合處理能力是關聯式資料庫特有的特徵。
在非關係模型中,各個資料記錄之間是通過指標等方式連線的,當要定位到某條記錄時,需要使用者自己按指標的鏈結方向逐層查詢——導航。
在關係模型中,使用者只需指定資料的定位條件,資料庫管理系統就可以自動定位到該資料記錄——非導航。
簡單來說,非關係模型,每次查詢,都要從根開始查詢,而關係模型可以直接定位。
資料完整性約束:
實體完整性,參照完整性/引用完整性,使用者定義的完整性
關係模型的基本術語
關係(relation):就是二維表。關係名就是二維表的表名
屬性(attribute)/字段:
二維表中的每個列就稱為乙個屬性/字段
屬性名:
每個屬性/每一列的名字
屬性值:
每一列的值
關係的元數:
列的個數
值域(domain):
二維表中屬性的取值範圍 例如:性別:
元組(tuple):
二維表中的一行資料/記錄
分量(component):
元組中的每乙個屬性值 (一行中的乙個格仔)
關係模式(relation schema):
二維表的結構稱為關係模式或者二維表的表頭結構
設有關係名為r,屬性分別為a1,a2,...an,則關係模式可以表示為:
r(a1,a2,...an) : 學生(學號,姓名,性別)
關聯式資料庫(relation database):對應於乙個關係模型的所有關係的集合
候選鍵(candidate key)/候選關鍵字/候選碼:如果乙個屬性或屬性集的值能夠惟一標識乙個關係的元組而又不包含多餘的屬性,則稱該屬性或屬性集為候選鍵。
主鍵(paimary key)/主碼/主關鍵字:當乙個關係中有多個候選鍵時,從中選擇乙個作為主鍵。
每個關係只能有乙個主鍵。
用於唯一的確定乙個元組/一行
主鍵示例:
學生(學號,姓名,性別,年齡,所在系)
選課(學號,課程號,成績)
(主鍵/候選碼 可以是單個屬性,也可以是屬性集合)
主屬性(primary attribute) : 包含在任意候選鍵中的屬性(不是集合)
非主屬性:不包含在任一候選鍵中的屬性
定義笛卡爾積:設d1,d2,...dn為任意集合,定義笛卡爾積d1,d2,....dn為:
d1xd2x...dn=
其中每乙個元素( d1,d2,...dn)稱為元組。
元組中每乙個di稱為是乙個分量。
有點類似排列組合:
笛卡爾積 d1,d2,...dn的任意乙個子集稱為d1,d2,...dn上的乙個n元關係
形式化的關係定義同樣可以把關係看成二維表,給表中的每個列取乙個名字,稱為屬性。
屬性d1,d2,d3
n元關係有n個屬性,乙個關係中的屬性的名字必須是唯一的。
屬性di(i=1,2,…,n)的取值範圍稱為該屬性的值域。
即d3= 男和女就是d3這個屬性的取值範圍
注:關係中的每個分量都是不可再分的最小屬性
表中列的資料型別是固定的,即列中的每個分量都是同型別的資料,來自相同的值域。
不同列的資料可以取自相同的值域,每乙個列成為乙個屬性,每個屬性有不同的屬性名。
關係表中列的順序不重要。
關係錶行的順序也不重要。
同乙個關係中的元組不能重複,即在乙個關係中不能出現完全相同的兩行。
完整性約束
資料完整性是指資料庫中儲存的資料是有意義的或正確的,和現實世界相符。
實體完整性 (主鍵)
保證每個元祖都是可識別的和唯一的
不允許存在主鍵值為空的記錄以及主鍵值重複的記錄
參照完整性 /引用完整性 (外來鍵)
描述實體之間的聯絡的
或者值為空;
或者等於其所參照的關係中的某個元組的主鍵值。
使用者定義的完整性 /域完整性/語義完整性(值域)
指明關係中屬性的取值範圍
d3= 男和女就是d3這個屬性的取值範圍
關係代數:
關係是由元組構成的集合。
關係代數的運算元和操作結果都是關係。
關係代數的三大要素 :運算物件,運算子,運算結果
笛卡爾積示例:
選擇運算:選擇滿足條件的元組/行組成乙個新的關係
σf(r)=
(f:表示式)
例如:σsdept=『計算機系』 條件表示式(student 表名)
投影運算:選擇指定屬性,組成乙個新的關係
πa(r) = (t(a)| t∈r)
例如:∏sname,sdept 屬性名(student 表名)
連線運算:
用來連線相互之間有聯絡的兩個關係,從而產生乙個新的關係。
一般情況下,連線屬性是出現在不同關係中的語義相同的屬性,有笛卡爾積乘積匯出。
連線形式:
θ連線(θ :=,>,=,<=,!=)
等值連線(θ :=的情況)
自然連線
外連線除操作:
關係代數操作總結:
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
mysql關聯式資料庫 關聯式資料庫概述
為什麼需要資料庫?因為應用程式需要儲存使用者的資料,比如word需要把使用者文件儲存起來,以便下次繼續編輯或者拷貝到另一台電腦。要儲存使用者的資料,乙個最簡單的方法是把使用者資料寫入檔案。例如,要儲存乙個班級所有學生的資訊,可以向檔案中寫入乙個csv檔案 id,name,gender,score 1...