一、關係資料結構及形式化定義
1. 域:
定義:域是一組具有相同資料型別的值的集合。
例:整數
實數介於某個取值範圍的整數
指定長度的字串集合
……………..
2. 笛卡爾積:
定義:給定一組域d1,d2,…,dn,允許其中某些域是相同的。
d1,d2,…,dn的笛卡爾積為:
d1×d2×…×dn =
{(d1,d2,…,dn)|diîdi,i=1,2,…,n}
所有域的所有取值的乙個組合;
不能重複;
①元組(tuple)
笛卡爾積中每乙個元素(d1,d2,…,dn)叫作乙個n元組(n-tuple)或簡稱元組
(張清玫,計算機專業,李勇)、
(張清玫,計算機專業,劉晨) 等 都是元組
②分量(component)
笛卡爾積元素(d1,d2,…,dn)中的每乙個值di 叫作乙個分量
張清玫、計算機專業、李勇、劉晨等都是分量
③基數(cardinal number):
若di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則d1×d2×…×dn的基數m為:
④笛卡爾積的表示方法:
笛卡爾積可表示為一張二維表
;表中的每行對應乙個元組,表中的每列對應乙個域;
★例如,給出3個域:
d1=導師集合supervisor={張清玫,劉逸}
d2=專業集合speciality={計算機專業,資訊專業}
d3=研究生集合postgraduate={李勇,劉晨,王敏}
d1,d2,d3的笛卡爾積為
d1×d2×d3={
(張清玫,計算機專業,李勇),
(張清玫,計算機專業,劉晨),
(張清玫,計算機專業,王敏),
(張清玫,資訊專業,李勇),
(張清玫,資訊專業,劉晨),
(張清玫,資訊專業,王敏),
(劉逸,計算機專業,李勇),
(劉逸,計算機專業,劉晨),
(劉逸,計算機專業,王敏),
(劉逸,資訊專業,李勇),
(劉逸,資訊專業,劉晨),
(劉逸,資訊專業,王敏) }
基數為2×2×3=12
3、關係:
定義:d1×d2×…×dn的子集叫作在域d1,d2,…,dn上的
關係,表示為
r(d1,d2,…,dn)
r:關係名
n:關係的目或度(degree)
①元組:
關係中的每個元素是關係中的元組,通常用t表示。
②單元關係與二元關係:
當n=1時,稱該關係為單元關係(unary relation)或一元關係
當n=2時,稱該關係為二元關係(binary relation)
③關係的表示:
關係也是乙個二維表,表的每行對應乙個元組,表的每
列對應乙個域
。④屬性:
關係中不同列可以對應相同的域;
為了加以區分,必須對每列起乙個名字,稱為屬性(attribute);
n目關係必有n個屬性
;⑤碼:
★候選碼(candidate key)
若關係中的某一屬性組的值能唯一地標識乙個元組,則稱該屬性組為候選碼;
簡單的情況:候選碼只包含乙個屬性;
★全碼(all-key)
最極端的情況:關係模式的所有屬性組是這個關係模式的候選碼,稱為全碼(all-key)。
★主碼若乙個關係有多個候選碼,則選定其中乙個為主碼(primary key)。
★主屬性
候選碼的諸屬性稱為主屬性(prime attribute);
不包含在任何侯選碼中的屬性稱為非主屬性(non-prime attribute)或非碼屬性(non-key attribute);
⑥三類關係:
★基本關係(基本表或基表):
實際存在的表,是實際儲存資料的邏輯表示
;★查詢表:
查詢結果對應的表
;★檢視表:
由基本表或其他檢視表匯出的表,是虛表,不對應實際儲存的資料;
⑦基本關係的性質:
♧列是同質的(homogeneous);
♧ 不同的列可出自同乙個域
;其中的每一列稱為乙個屬性
;不同的屬性要給予不同的屬性名
;♧ 列的順序無所謂,,列的次序可以任意交換;
♧任意兩個元組的候選碼不能相同;
♧行的順序無所謂,行的次序可以任意交換;
二、關係模式
♧關係模式(relation schema)是型
♧關係是值
♧關係模式是對關係的描述
※元組集合的結構
屬性構成
屬性來自的域
屬性與域之間的映象關係
※完整性約束條件
★關係模式可以形式化地表示為:
r(u,d,dom,f)
r 關係名
u 組成該關係的屬性名集合
d u中屬性所來自的域
dom 屬性向域的映象集合
f 屬性間資料的依賴關係的集合
★關係模式通常可以簡記為:
r (u) 或 r (a1,a2,…,an)
r: 關係名;
a1,a2,…,an : 屬性名;
注:網域名稱及屬性向域的映象常常直接說明為
屬性的型別、長度
。三、關聯式資料庫
☆關聯式資料庫
在乙個給定的應用領域中,所有關係的集合構成乙個關聯式資料庫 ;
☆關聯式資料庫的型與值
關聯式資料庫的型: 關聯式資料庫模式,是對關聯式資料庫的描述
;關聯式資料庫的值: 關係模式在某一時刻對應的關係的集合,通常稱為關聯式資料庫
;四、關係模型的儲存結構
①關聯式資料庫的物理組織
:有的關聯式資料庫管理系統中乙個表對應乙個作業系統檔案,將物理資料組織交給作業系統完成;
有的關聯式資料庫管理系統從作業系統那裡申請若干個大的檔案,自己劃分檔案空間,組織表、索引等儲存結構,並進行儲存管理
;②關係操作:
★常用的關係操作
查詢操作:選擇、投影、連線、除、並、差、交、笛卡爾積
▽選擇、投影、並、差、笛卡爾基是5種基本操作
資料更新:插入、刪除、修改
;★關係操作的特點
集合操作方式:操作的物件和結果都是集合,一次一集合的方式
;★關係代數語言
♧用對關係的運算來表達查詢要求
♧代表:isbl
★關係演算語言:用謂詞來表達查詢要求
♧元組關係演算語言
○謂詞變元的基本物件是元組變數
○代表:aplha, quel
♧域關係演算語言
○謂詞變元的基本物件是域變數
○代表:qbe
★具有關係代數和關係演算雙重特點的語言
♧代表:sql(structured query language)
③關係的完整性:
實體完整性
基本關係r的主屬性不能取空值
空值就是「不知道」或「不存在」或「無意義」的值
例:選修(學號,課程號,成績)
「學號、課程號」為主碼
「學號」和「課程號」兩個屬性都不能取空值
④參照完整性
★外碼v設f是基本關係r的乙個或一組屬性,但不是關係r的碼。如果f與基本關係s的主碼ks相對應,則稱f是r的外碼
v基本關係r稱為參照關係(referencing relation)
v基本關係s稱為被參照關係(referenced relation) 或目標關係(target relation)
★參照完整性規則
若屬性(或屬性組)f是基本關係r的外碼它與基本關係s的主碼ks相對應(基本關係r和s不一定是不同的關係),則對於r中每個元組在f上的值必須為:
或者取空值(f的每個屬性值均為空值)
或者等於s中某個元組的主碼值
★使用者定義的完整性
v針對某一具體關聯式資料庫的約束條件,反映某一具體應用所涉及的資料必須滿足的語義要求
關係代數運算子:
運算子含義
集合運算子∪並
-差∩交
×笛卡爾積
專門的關係運算子σ選擇
π投影除
第二章 關聯式資料庫
2.2 關係操作 2.3 資料完整性約束 2.4 關係代數 一 域 domain 二 笛卡爾積 cartesian product 三 關係 relation t 關係中的每個元素是關係中的元組,通常用t表示 關係的表示 關係是笛卡積的子集,所以關係也是乙個二維表,表每行對應乙個元組,表的每列對應乙...
第二章 關聯式資料庫
域 笛卡爾積 數學關係式就不說了,簡單來說就是所有域的所有取值的乙個集合 不能重複 例 d1 d2 d3 笛卡爾積 d1xd2xd3 等等12種組合 關係 候選碼 若關係中的某一屬性組你能惟一的標識乙個元組,則稱該屬性組為候選碼。在最簡單情況下,候選碼只包含乙個屬性 全碼 在最極端的情況下關係模式的...
第二章 關聯式資料庫(一)
一,基本定義 1.域 一組具有相同資料型別的值的集合。2.關係 d1d2 dn的子集叫做在域d1,d2 dn上的關係,表示為r d1,d2 dn r 關係名 n 關係的目或度。3.元組 關係中的每個元組 d1,d2 dn 叫做乙個n元組 行 通常用t表示。4.屬性 關係中不同列稱為屬性,每個屬性有乙...