一、關系資料結構及形式化定義:
關系:
笛卡爾積:給定一組域D1、D2…、Dn,其笛卡爾積為
D1XD2X...XDn = {(d1,d2,…,dn)|di∈Di}
基數:即為元組個數
關系:D1XD2X...XDn的子集叫做在域D1...Dn上的關系
表示為R(D1,D2,...,Dn)
n目關系必有n個屬性
候選碼:某一屬性能唯一辨別一個元組,則稱該屬性為候選碼
全碼:關系模式中所有屬性都是候選碼
主碼:若一個關系有多個候選碼,則標明一個為主碼
主屬性:候選碼的諸屬性均為主屬性
三類關系:
基本關系(基本表):實際存在的表
查詢表:查詢結果對應的表
視圖表:由基本表或其他視圖表導出的表,是虛表
關系的性質:
列是同質的,同一列來自同一域
不同列可來自同一域
列的順序和行的順序無所謂
任意兩個元組不能完全相同
每個分量必須取原子值,不可再分
關系模式:
關系模式是型(内涵),關系是值(外延)
關系模式是對關系的描述
R(U,D,DOM,F):關系名(屬性名集合,域,屬性向域的映像集合,屬性間的依賴關系集合)
關系資料庫:在一個給定的應用領域,所有關系的集合構成一個關系資料庫
二、關系操作:
常見關系操作:
查詢:選擇、投影、連接配接、并、交、差、除
更新:插入、删除、修改
關系代數語言:對關系的運算倆表達查詢要求ISBL
關系演算語言:用謂詞來表達查詢要求,包括元組關系演算語言(APLHA、QUEL)和域關系演算語言(QBE)
具有關系代數語言和關系演算語言雙重特點:SQL
關系代數:一種抽象的查詢語言,對關系的運算來表達查詢
三要素(運算對象、運算符、運算結果)
選擇:σ;投影:π;連接配接:
象集:給定一個關系R(X,Z),X和Z為屬性組
當t[X] =x時,x在R中的向集為Zx = {t[Z]|t∈R,t[X]=x}
選擇:sF(R)={t | t Î R , F(t) = ‘真’}
投影:PA(R) = { t[A] | tÎR } , AÍR
條件連接配接:R S = { r s | rÎR Ù sÎS Ù r[A] q s[B] }
自然連接配接:從兩個關系的廣義笛卡兒積中選取在相同屬性列B上取值相等的元組,并去掉重複的行。
外連接配接:
除:
- 給定關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。
- R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。
三、關系完整性:
通用完整性:關系模型必須滿足的完整性限制條件,由關系系統自動支援
實體完整性:主屬性不能取空值
參照完整性:外碼要麼取空值要麼取别參照關系中的豬碼值
使用者定義的完整性:應用領域需要遵循的限制條件