第二章 關聯式資料庫

2021-09-01 18:34:53 字數 4271 閱讀 7193

一、關係資料結構及形式化定義

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.屬性 關係中不同列稱為屬性,每個屬性有乙...