數(shù)據(jù)庫關系數(shù)據(jù)模型_第1頁
數(shù)據(jù)庫關系數(shù)據(jù)模型_第2頁
數(shù)據(jù)庫關系數(shù)據(jù)模型_第3頁
數(shù)據(jù)庫關系數(shù)據(jù)模型_第4頁
數(shù)據(jù)庫關系數(shù)據(jù)模型_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章關系數(shù)據(jù)模型

3.1關系數(shù)據(jù)模型和關系數(shù)據(jù)庫

關系模型由三部分組成:

?數(shù)據(jù)結構

,操作集合

?完整性約束

這三部分也稱為關系模型三要素。

3.1.1數(shù)據(jù)結構

?關系數(shù)據(jù)模型用二維表來組織數(shù)據(jù)。

?這個二維表在關系數(shù)據(jù)庫中就稱為關系。

?關系數(shù)據(jù)庫就是表或者說是關系的集合。

-表是規(guī)律結構而不是物理結構。

3.1.2數(shù)據(jù)操作

關系數(shù)據(jù)模型中的操作包括:

?傳統(tǒng)的關系運算:并、交、差、廣義笛卡爾乘積;

?特地的關系運算:選擇、投影、連接、除;

?有關的數(shù)據(jù)操作:查詢、插入、刪除、更改。

操作特點

?關系模型中操作的數(shù)據(jù)以及查詢的結果都是完整的集合(或表),

?這些集合可以只包含一行數(shù)據(jù),也可以是不包含任何數(shù)據(jù)的空集合。

?非關系模型數(shù)據(jù)庫中典型的操作是一次一行或一次一個紀錄。

?集合處理力量是關系系統(tǒng)區(qū)分于其他系統(tǒng)的重要特征。

關系模型與非關系模型區(qū)分

?在非關系模型中,各個數(shù)據(jù)紀錄之間是通過指針等方式連接的,當要定位到某條紀錄時,需要用戶自

己按指針的鏈接方向逐層查找一一導航。

?在關系模型中,用戶只需指定數(shù)據(jù)的定位條件,數(shù)據(jù)庫管理系統(tǒng)就可以自動定位到該數(shù)據(jù)紀錄一一非

導航。

關系操作

關系模型的數(shù)據(jù)操作主要包括:

查詢、插入、刪除、更改

關系數(shù)據(jù)庫中的信息表示方式:表中的行列位置有明確的值——規(guī)律層。

關系數(shù)據(jù)庫的物理層

關系數(shù)據(jù)庫在物理層也使用指針,但這些物理層的存儲細節(jié)對用戶來說都是不行見的,用戶所看到

的物理層實際上就是存放數(shù)據(jù)的數(shù)據(jù)庫文件:?文件名

?存放位置

?關系語言特點

關系操作是通過關系語言實現(xiàn)的,關系語言的特點是高度非過程化:

用戶不必關懷數(shù)據(jù)的存取路徑和存取過程,只需要提出數(shù)據(jù)懇求,DBMS會自動完成用戶懇求的操作;

用戶沒有必要編寫程序代碼來實現(xiàn)對數(shù)據(jù)的重復操作。

3.1.3數(shù)據(jù)完整性約束

數(shù)據(jù)的完整性是指保證數(shù)據(jù)正確性的特征。

數(shù)據(jù)完整性是一種語義概念,包括:

?與現(xiàn)實世界中應用需求的數(shù)據(jù)的相容性和正確性;

?數(shù)據(jù)庫內數(shù)據(jù)之間的相容性和正確性。

數(shù)據(jù)完整性

數(shù)據(jù)完整性由一組完整性規(guī)章定義,關系模型的完整性規(guī)章是對關系的某種約束條件。

在關系數(shù)據(jù)模型中將數(shù)據(jù)完整性分為三類:?實體完整性

?參照完整性(引用完整性)

?用戶定義的完整性

3.2關系模型的基本術語與形式化定義

3.2.1基本術語

?關系:關系就是二維表,二維表的名字就是關系的名字。

?屬性:二維表中的每個列就稱為一個屬性(或叫字段),

每個屬性有一個名字一一屬性名

某一列的值一一屬性值

列的個數(shù)一一關系的元數(shù).假如一個二維表有n個列,則稱其為n元關系。

?值域:二維表中屬性的取值范圍稱為值域。

例如:

“年齡”的取值為大于0的整數(shù)

“性別”列的取值為{男,女}

?元組:二維表中的一行數(shù)據(jù)稱為一個元組(紀錄值).

?重量:元組中的每一個屬性值稱為元組的一個重量。

n元關系的每個元組有n個重量。

例:(0811101,李勇,21,男,計算機系),有5個重量

?關系模式:二維表的結構稱為關系模式。

設有關系名為R,屬性分別為Al,A2,An,則關系模式可以表示為:R(Al,A2,An)

假如將關系模式理解為數(shù)據(jù)類型,則關系就是該數(shù)據(jù)類型的一個詳細值。

?關系數(shù)據(jù)庫:對應于一個關系模型的全部關系的集合稱為關系數(shù)據(jù)庫。

?候選鍵:假如一個屬性或屬性集的值能夠惟一標識一個關系的元組而又不包含多余的屬性,則稱該屬性或

屬性集為候選鍵。

?主鍵:當一個關系中有多個候選鍵時,從中選擇一個作為主鍵。

每個關系只能有一個主鍵。

主鍵也稱為主碼或主關鍵字,用于惟一地確定一個元組。

主鍵可以由一個屬性組成,也可以由多個屬性共同組成。

?主屬性:包含在任一候選鍵中的屬性稱為主屬性。

?非主屬性:不包含在任一候選鍵中的屬性稱為非主屬性。

術語對比

關系術語一般的表格術語

關系名表名

關系模式表頭(表所合列的描述)

關系(一張)二維表

元組記錄或行

屬性列

分量一條記錄中某個列的值

3.2.2形式化定義

定義笛卡爾積:設DI,D2,…,Dn為任意集合,定義笛卡爾積DI,D2,…,Dn為:

DIXD2X…XDn={(dl,d2,…,dn)|diSDi,i=l,2,—,n}

其中每一個元素(dl,d2,…,dn)稱為一個n元組,簡稱元組。

元組中每一個di稱為是一個重量。

笛卡爾積示例

Dl={計算機系,信息管理系}

D2={李勇,劉晨,吳賓}

D3={男,女}

則DIXD2XD3笛卡爾積為:

{(計算機系,李勇,男),(計算機系,李勇,女),

(計算機系,劉晨,男),(計算機系,劉晨,女),

(計算機系,吳賓,男),(計算機系,吳賓,女),

(信息管理系,李勇,男),(信息管理系,李勇,女),

(信息管理系,劉晨,男),(信息管理系,劉晨,女),

(信息管理系,吳賓,男),(信息管理系,吳賓,女)}

笛卡爾乘積實際就是二維表

D1D2D3

計算機系李勇男

計算機系李勇女

計算機系劉晨男

D2計算機系劉晨女

李勇

計算機系'是賓男

計算機系劉晨男

XX

賓=計算機系吳賓女

信息管理系工女

信息管理系介方男

信息管理系李力女

信息管理系列心男

信息管理系劉晨女

信息管理系小W男

信息管理系吳賓女

關系的形式化定義

笛卡爾積DI,D2,Dn的任意一個子集稱為DI,D2,…,Dn上的一個n元關系。

形式化的關系定義同樣可以把關系看成二維表,給表中的每個列取一個名字,稱為屬性。

n元關系有n個屬性,一個關系中的屬性的名字必需是唯一的。

屬性Di的取值范圍(i=l,2,n)稱為該屬性的值域。

對關系的限定

?關系中的每個重量都是不行再分的最小屬性

?表中列的數(shù)據(jù)類型是固定的,即列中的每個重量都是同類型的數(shù)據(jù),來自相同的值域。

-不同列的數(shù)據(jù)可以取自相同的值域。

?關系表中列的挨次不重要。

?關系表行的挨次也不重要。

?同一個關系中的元組不能重復。

3.3關系代數(shù)

?關系代數(shù)是關系操作語言的一種傳統(tǒng)表示方式,是一種抽象的查詢語言。

?是一種純理論語言,它定義了一些操作,運用這些操作可以從一個或多個關系中得到另一個關系,而

不轉變源關系。

關系代數(shù)的操作數(shù)和操作結果都是關系,而且一個操作的輸出可以是另一個操作的輸入。

關系代數(shù)的運算

?關系代數(shù)的運算對象是關系,運算結果也是關系。

?與一般的運算一樣,運算對象、運算符和運算結果是關系代數(shù)的三大要素。

關系代數(shù)的運算可分為以下兩大類:

?傳統(tǒng)的集合運算:并、交、差、笛卡爾積

?特地的關系運算:選擇、投影、連接、除

運算符

運算符含義運算符含義

>大于

U二

<小于

n=等于

傳統(tǒng)的集合運算比較運算符

-差不等于

小于等于

X廣義值卡爾積W

大于等于

n選掾

1

專門的關系運算a投影

邏輯運算符A與

連接V或

3.3.1傳統(tǒng)的集合運算

,并運算(Union)

,交運算(Intersection)

,差運算(Except)

,廣義笛卡爾積(CartesianProduct)

并、交、差運算示意圖

(c)R-S

?并運算

并(RUS):設關系R與關系S均是n目關系,關系R與關系S的并記為:RUS={t|tGRVtGS}

其結果仍是n目關系,由屬于R或屬于S的元組組成。

元組在新關系中的挨次不重要。

?交運算

交(RCS):設關系R與關系S均是n目關系,關系R與關系S的交記為:RAS={t|t£RAt6S)

其結果仍是n目關系,由屬于R并且也屬于S的元組組成。

?差運算

差(R—S):設關系R與關系S均是n目關系,關系R與關系s的差記為:R-s={t|teRAtes}

其結果仍是n目關系,由屬于R但不屬于S的元組組成。

RAS=R-(R-S)

?廣義笛卡爾積

兩個分別為n目和m目的關系R和關系S的笛卡爾積是一個(m+n)列的元組的集合。元組的前n個

列是R的一個元組,后m個列是S的一個元組。

若R有K1個元組,S有K2個元組,則關系R和關系S的廣義笛卡爾積有K1XK2個元組,

記做:RXS={trAts|trGRAtseS)

trAts表示由元組tr和ts前后有序連接而成的一個元組。

任取元組tr和ts,當且僅當tr屬于R且ts屬于S時,tr和ts的有序連接即為RXS的一個元組。

3.3.2特地的關系運算

,選擇運算(Select)

?投影運算(Project)

?連接運算(Join)

,除運算(Division)

?選擇運算

從指定的關系中選擇滿意給定條件(用規(guī)律表達式表達)的元組而組成一個新的關系。

oF(R)={r|rGRAF(r)='真'}

選擇運算示意圖

例題設有:個己知關系如卜:

例題:v^

個己知關

系如

b[2]-Sv(3]9(1)

?連接運算

連接運算用來連接相互之間有聯(lián)系的兩個關系,從而產(chǎn)生一個新的關系。

連接運算具有如下幾種形式:

?。連接

?等值連接(0連接的特例)

?自然連接

?外部連接(或稱外連接)

?半連接

A

RX]S={t,ts|t,eRAtssSAtr[A]0ts[B]}

?9連接A0B

A、B是關系R和S上語義相同的屬性或屬性組,。是比較運算符。

連接運算從R和S的廣義笛卡爾積中選擇R關系在A屬性組上的值與S關系在B屬性組上的值滿意

0的元組。

?等值連接

0為“=”的連接成為等值連接。它是從關系R與S的笛卡爾積中選取A,B屬性值相等的那些元組:

RXS=(tAt|tGRAteSAt[A]=t[B]}

A=Brsrsrs

?自然連接

是一種特別的等值連接,它去掉了等值連接結果中的重復的屬性列。

即若R與S具有相同的屬性組B,則自然連接可記作:

足8s=三RAtx.wA]=%[A[}

S'=S

<s-=-1A]

例題:

原始數(shù)據(jù)等值連接與自然連接示例

商im

商品號育品名進貨價格商品X笛傳點品名透黃馀格幅值日?銷低價格

P0134平面電視P0133平皿電攻2400P0120W.2.32200

2400商簡住.府M:;

K)l川平BB電視:400FOJ20W4-I02800

液晶電視

P023s4800POI34平面電雙2400P012009-2-1$2130

P0352液晶電視9600P0:3J液■電雙4S00P0:5600

Kl3s液a電現(xiàn)4S00F0220W-245500

的售盒品號倒售日期?售除格

a與號進黃價格<8隹價格

P012009-2-32200商品銷售

X]P013s平3E電視24002009-2-32200

P022009-2-35600

P0134平面電視24002009-8-102800

P0120094402800P0!34平BB電次2400:009-2-152150

P022009-2-85500P0234液■電視48002009.2.35600

P012009-2-152150P0234液a電視48002009-2-85500

半連數(shù)據(jù)

?外連接

假如盼望不滿意連接條件的元組也消失在連接結果中,則可以通過外連接實現(xiàn)。

外連接有三種:

?左外連接:R*XS

?右外連接:Rx*s

?全外連接:R*x*$

外連接含義

?左(右)外連接:把連接符號左(右)邊的關系中不滿意連接條件的元組也保留到連接后的結果

中,并在連接結果中將該元組所對應的右(左)邊關系的各個屬性均置成空值(NULL)。

?全外連接:把連接符號兩邊的關系中不滿意連接條件的元組均保留到連接后的結果中,并在連接

結果中將不滿意連接條件的各元組的相關屬性均置成空值(NULL)。

左外連接示例

商品*X]銷售

全外連接示例

BCEBD

商品號商品名進賁價格銷售日期銷售價格bl

alcl*X*eibldl

a2b2cie2b3dl

P0134平面電視24002009-2-32200a3blc2ie3bld2

a4t>3cle4b4dl

a5b2cle5b3dl

P0134平面電視24002009-8-102800ABcED

alblcleldl

P0134平面電視24002009-2452150alblcle3d2

a2b2clNULLNULL

34液晶電視a3blc2eldl

P0248002009-2-35600a3blc2e3d2

a4b3cle2dl

P0234液晶電視48002009-2-85500a4b3cle5dl

a5b2clNULLNULL

P0352液晶電視9600NULLNULLNULLb4MULLe4dl

?半連接

在兩個關系之間執(zhí)行連接操作,并將其結果投影在第一個操作關系的全部屬性上。

半連接的一個優(yōu)點是可以削減必需參加連接的元組的數(shù)目。

半連接操作的表達形式為:

上述半連接是一個半。連接,其他還有半等值連接、半自然連接等。

Example:RMS=RM(SKR)

除運算

?設關系S的屬性是關系R的屬性的一部分,則R+S為這樣一個關系:

?此關系的屬性是由屬于R但不屬于S的全部屬性組成;

?R+S的任一元組都是R中某元組的一部分。但必需符合下列要求,即任取屬于R+S的一個元組t,則

t與S的任一元組連接后,都為R中原有的一個元組。

除運算示意圖

除運算的一般形式

設有關系R(X,Y)和S(YZ),其中X、Y、Z為關系的屬性組,則:R(X,Y)4-S(Y,Z)=R(X,Y)+TlY(S)

象集定義

?設有關系R(X,Y),其中X,Y為屬性(組),X=x在R上的象集是:Yx={t[Y]|teRAt[X]=x}

-t[Y]和t[X]分別表示R中的元組t在屬性組Y和X上的重量的集合。

象集示例1

SnoSnameSsexSageSdept

0811101李勇男21計算機系

0811102劉晨男20計算機系

0811103王敏女20計算機系

0811104張小紅女19計算機系

0821101張立男20信息管理系

0821102吳賓女19信息管理系有元組:(0821101,張立,男,20,信息

0821103張海男20信息管理系管理系)

設*={Sdept,Ssex},Y={Sno,Sname,Sage},

t[X]的一個值:x=(信息管理系,男)

則Yx為t[X[=x=(信息管理系,男)時全部t[Y]的值:

Yx={(0821101,張立,20),(0821103,張海,20)}

象集示例2

設X={Sno},Y={Cno,Grade},則當X取“0811101”

SnoCnoGrade

時,

0811101C00196

0811101C00280Y的象集為:

0811101C00384Yx={(C001,96),

0811101C00562

(C002,80),

0811102C00192

0811102C00290(C003,84),

<)811102€00484

(C005,62)}

0821102C00176

0821102C00485

0821102C00573

0821102C007NULL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論