關係操作是集合操作。操作的物件是集合,操作的結果也是集合。因此,關係操作的基礎是集合代數。
笛卡爾積(cartesianproduct)
定義:設d1、d2、…、dn都是有限集合,則d1、d2、…、dn上的笛卡爾積為
d1×d2×…×dn={(d1,d2,…,dn)|di屬於di,i=1,2,…,n}
其中每乙個元素(d1,d2,…,dn)叫做乙個n元組(n tuple),簡稱元組(tuple)。乙個元組在集合di上的值di稱為該元組在di上的分量(component)。
乙個元組是組成該元組的各分量的有序集合(而決不僅僅是各分量的集合)。
關係(relation)
笛卡爾積d1×d2×…×dn的任意乙個子集稱為d1,d2,…,dn上的乙個n元關係,簡稱關係,又稱為表。每個關係都有乙個關係名。
實際的關係有三種型別:基本表、查詢表和檢視表。基本表是實際存在的表;查詢表是查詢結果對應的表;檢視表是從基本表和/或已定義檢視匯出的表,是虛表,只有定義,實際不存在。
關係代數的運算可分為兩類:
(1)基於傳統集合運算的關係運算:並、差、交和廣義笛卡爾積
(2)特殊的關係運算:投影、選擇、連線和除,
與傳統的集合運算相同,這類關係運算都是二目運算。但對參加運算的關係是有一些規定的。設關係r和s的目都是n(都有n個屬性),且相應屬性取自同一域,則
(1)關係r和s的並(union)為:
任取元組t,當且僅當t屬於r 或t屬於s時,t屬於r和s的並。
(2)r和s的差(difference)為:
當且僅當 t屬於 r 並且不屬於 s時,t屬於 r和s的差。
(3)r和s的交(intersection)為:
當且僅當t既屬於r又屬於s時,t屬於r和s的交。
(4)廣義笛卡爾積(extendedcartesianproduct):
廣義笛卡爾積不要求參加運算的兩個關係具有相同的目。設r為n目關係,s為m 目關係,則r和s的廣義笛卡爾積為:任取元組tr和ts,當且僅當tr屬於r且ts屬於s時,tr和ts的連線即為r×s的乙個元組。
r和s的廣義笛卡爾積是乙個(n+m)目的關係。其中任何乙個元組的前n列是關係r的乙個元組,後m 列是關係s的乙個元組。若r有k1個元組,s有k2個元組,則r×s有k1×k2個元組。實際操作時,可從r的第乙個元組開始,依次與s的每乙個元組組合,然後,對r的下乙個元組進行同樣的操作,直至r的最後乙個元組也進行完同樣的操作為止,即可得到r×s的全部元組。
專門的關係運算包括投影、選擇、連線、自然連線和除等。投影和選擇是一元操作,其他是二元操作。
(1)投影(projection)
設《屬性名錶》中的所有屬性都是關係r的屬性,則r在《屬性名錶》上的投影為r中各元組只保留在《屬性名錶》上的諸分量後形成的新關係(但重複元組只能保留乙個)
投影的實際操作方法為:從r中逐次取出乙個元組,首先,去掉不在《屬性名錶》上的諸屬性值,接著,按《屬性名錶》的次序重新排列剩下各分量後,作為乙個新元組送入投影結果(但若投影結果關係中已有此元組,則必須捨棄之)。投影不僅僅取消了原關係中的某些列,還可能會去掉某些元組(有重複時)
(2)選擇(selection)
選擇運算是在乙個關係中,選取符合某給定條件的全體元組,生成新關係
(3)連線(join)
連線是從兩個關係的廣義笛卡爾積中選取滿足某規定條件的全體元組,形成乙個新的關係
(4)等值連線(equivalencejoin)
等值連線屬於連線,當乙個連線表示式中,所有的比較條件都是「=」符時,則稱此連線為等值連線。等值連線是較常用的連線。
(5)自然連線(naturaljoin)
設關係r和s共有m 個相同的屬性名,則r 和s在這m 個屬性上進行等值連線後,又刪除m 個冗餘列,所得結果稱為r和s的自然連線
自然連線與等值連線的差別在於:
(1)自然連線要求相等的分量必須有共同屬性名,等值連線則不要求。
(2)自然連線要求把結果中的所有重複屬性名都去掉乙個,等值連線卻不這樣做。
資料庫 關係資料模型
關係可以有三種型別 基本型別 基本表或者基表 查詢表和檢視表 基本型別具有以下6條性質 1.列是同質的 homogeneous 即每一列中的分量是同一型別的資料,來自同乙個域 2.不同的列可出自同乙個域,稱其中的每一列為乙個屬性,不同的屬性要給予不同的屬性名。當兩種不同的屬性的值取自同乙個域時,要賦...
資料庫基礎之關係資料模型
域指的是字段值的取值範圍,原子的含義是指域中的每個值是不可分的。元組中的null值並不是我們所想的代表了乙個空,一般來說,null值有幾種含義,例如值未知,值存在但不可用或屬性不適用於這個元組等,在與其他值一起進行代數上的聚集和比較操作是,需要知道null的準確含義。在我的理解下,超碼是一些屬性的集...
關聯式資料庫原理 資料模型
資料庫是以某種資料模型所確定的資料結構方式來組織和儲存某個組織 或部門 相互關聯的資料集。資料庫管理系統是一種幫助使用者建立 使用 管理和維護資料庫的計算機系統軟體。或者說,資料庫管理系統是開發乙個實際應用資料庫的工具並支撐其執行的平台。資料庫管理系統必須與其管理的資料庫的資料模型相一致。1.資料模...