天天看點

資料庫系統 --- 關系資料庫1一.關系資料結構及形式化定義二.關系操作

關系資料庫1

  • 一.關系資料結構及形式化定義
    • 1.關系
    • 2.關系模式
    • 3.關系資料庫
    • 4.關系模型的存儲結構
  • 二.關系操作
    • 1.基本的關系操作
    • 2.關系資料庫語言的分類

一.關系資料結構及形式化定義

1.關系

①單一的資料結構—關系:

現實世界的實體以及實體間的各種聯系均用關系來表示。

②邏輯結構—二維表:

從使用者角度,關系模型中資料的邏輯結構是一張二維表。

③建立在集合代數的基礎上。

(1)域Domain

域是一組具有相同資料類型的值的集合。(一個屬性所取值的範圍)

(2)笛卡爾積Cartesian Product

①笛卡爾積

給定一組域D1,D2,…,Dn,允許其中某些域是相同的。

D1,D2,…,Dn的笛卡爾積為:

D1 x D2 x…x Dn={(d1,d2,…,dn)| di ∈ Di,i=1,2,…,n}

所有域的取值的一個組合;

不能重複。

②元組Tuple

笛卡爾積中每一個元素(d1,d2,…,dn)叫做一個n元組或簡稱元組。

③分量Component

笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫做一個分量。

④基數Cardinal number

a.一個域允許的不同取值的個數;

b.若Di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則D1 x D2 x …x Dn的基數M為:

資料庫系統 --- 關系資料庫1一.關系資料結構及形式化定義二.關系操作

⑤笛卡爾積的表示方法

a.笛卡爾積可表示為一張二維表;

b.表中的每行對應一個元組,表中的每列對應一個域。

⑥舉例說明

給出三個域:

D1=導師集合SUPERVISOR={張清玫,劉逸}

D2=專業集合SPECIALITY={計算機專業,資訊專業}

D3=研究所學生集合POSTGRADUATE={李勇,劉晨,王敏}

  • 則D1,D2,D3的笛卡爾積為:

    D1×D2×D3={

    (張清玫,計算機專業,李勇),(張清玫,計算機專業,劉晨),

    (張清玫,計算機專業,王敏),(張清玫,資訊專業,李勇),

    (張清玫,資訊專業,劉晨),(張清玫,資訊專業,王敏),

    (劉逸,計算機專業,李勇),(劉逸,計算機專業,劉晨),

    (劉逸,計算機專業,王敏),(劉逸,資訊專業,李勇),

    (劉逸,資訊專業,劉晨),(劉逸,資訊專業,王敏) }

  • 基數為M=2 x 2 x 3 =12
資料庫系統 --- 關系資料庫1一.關系資料結構及形式化定義二.關系操作

(3)關系Relation

①關系

D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關系,表示為

R(D1,D2,…,Dn)

R:關系名;

n:關系的目或度(Degree)

②元組

關系中的每個元素是關系中的元組,通常用t表示。

③單元關系與二進制關系

a.當n=1時,稱該關系為單元關系(Unary relation)或一進制關系。

b.當n=2時,稱該關系為二進制關系(Binary relation)。

④關系的表示

關系是一個二維表,表的每行對應一個元組,表的每列對應一個域。

⑤屬性

a.關系中不同列可以對應相同的域;

b.為了加以區分,必須對每列起一個名字,稱為屬性;

c.n目關系必有n個屬性。

⑥碼

a.候選碼Candidate Key

i.若關系中的某一屬性組的值能唯一地辨別一個元組,則稱該屬性組為候選碼。

ii.簡單的情況:候選碼隻包含一個屬性。

b.全碼All-Key

最極端的情況:關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼。

c.主碼Primary Key

若一個關系有多個候選碼,則標明其中一個為主碼。

d.主屬性Prime Attribute

i.候選碼的諸屬性稱為主屬性;

ii.不包含在任何候選碼中的屬性稱為非主屬性或非碼屬性。

⑦D1,D2,…,Dn的笛卡爾積的某個子集才有實際含義。

⑧三類關系

i.基本關系(基本表或基表):

實際存在的表,是實際存儲資料的邏輯表示。

是實表,是模式。

ii.查詢表:Table

查詢結果對應的表。

ii.視圖表:View

由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的資料。

是一條或一些SQL語句的集合操作的結果,是外模式。

⑨基本關系的性質

i.列是同質的(Homogeneous);

ii.不同的列可出自同一個域

  • 其中的每一列稱為一個屬性;
  • 不同的屬性要給予不同的屬性名。

    iii.列的順序無所謂,列的次序可以任意交換;

    iv.任意兩個元組的候選碼不能相同;

    v.行的順序無所謂,行的次序可以任意交換;

    vi.分量必須取原子值,這是規範條件中最基本的一條。

(4)業務表單不能原樣照本存儲在資料庫中

①問題一:資料備援問題;

②問題二:删除問題;

③問題三:修改問題。

④嚴格地按類分表存儲時,就不存在上述問題了。

2.關系模式

(1)什麼是關系模式

①關系模式Relation Schema是型;

②關系是值;

③關系模式是對關系的描述

a.元組集合的結構:

i.屬性構成;

ii.屬性來自的域;

iii.屬性與域之間的映像關系。

b.完整性限制條件。

(2)定義關系模式

①形式化地表示為:

R(U,D,DOM,F)

R:關系名Relation

U:組成該關系的屬性名集合Union

D:U中屬性所來自的域Domain

DOM:屬性向域的映像集合Domain of Map

F:屬性間資料的依賴關系的函數集合

②通常簡記為:

R(U)或R(A1,A2,…,An)

R:關系名;

A1,A2,…,An或U:屬性名。

域名及屬性向域的映像常常直接說明為屬性的類型、長度。

(3)關系模式與關系

①關系模式:

a.表的架構;

b.對關系的描述;

c.靜态的、穩定的。

②關系:

a.表中的值、資料;

b.關系模式在某一時刻的狀态或内容;

c.動态的、随時間不斷變化的。

③關系模式和關系往往籠統稱為關系,通過上下文加以差別。

3.關系資料庫

(1)關系資料庫

在一個給定的應用領域中,所有關系的集合構成一個關系資料庫。

(2)關系資料庫的型與值

①型:即對象或實體之間的關系(關系模式),是對關系資料庫的描述;

②值:關系模式(型)的執行個體(關系),關系模式在某一時刻對應的關系的集合,通常稱為關系資料庫。

4.關系模型的存儲結構

(1)關系資料庫的實體組織

①有的關系資料庫管理系統中一個表對應一個作業系統檔案,将實體資料組織交給作業系統完成。

②有的關系資料庫管理系統從作業系統那裡申請若幹個大的檔案,自己劃分檔案空間,組織表、索引等存儲結構,并進行存儲管理。

二.關系操作

1.基本的關系操作

(1)常用的關系操作

①查詢操作:選擇、投影、連接配接、除、并、差、交、笛卡爾積;

其中,選擇、投影、并、差、笛卡爾積是五種基本操作。

②資料更新:插入、删除、修改。

(2)關系操作的特點

集合操作方式:操作的對象和結果都是一個集合,一次一集合的方式。

2.關系資料庫語言的分類

(1)關系代數語言

①用對關系的運算來表達查詢要求;

②代表:ISBL

(2)關系演算語言:用謂詞來表達查詢要求

①元組關系演算語言

a.謂詞變元的基本對象是元組變量;

b.代表:APLHA、QUEL

②域關系演算語言

a.謂詞變元的基本對象是域變量;

b.代表:QBE

③具有關系代數和關系演算雙重特點的語言

a.代表:SQL