數(shù)據(jù)庫(kù)系統(tǒng)原理教程2課件_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理教程2課件_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理教程2課件_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理教程2課件_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)原理教程2課件_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

應(yīng)用數(shù)學(xué)方法來(lái)處理數(shù)據(jù)庫(kù)數(shù)據(jù)關(guān)系模型的提出

70年代E.F.Codd(81年ACM圖靈獎(jiǎng))關(guān)系數(shù)據(jù)庫(kù)是目前最重要、最流行的數(shù)據(jù)庫(kù)

Oracle,DB2,SQLServer,Sybase,Infomix,Ingres,Access,FoxPro,FoxBASE,MySQL…關(guān)系數(shù)據(jù)庫(kù)的主流地位1應(yīng)用數(shù)學(xué)方法來(lái)處理數(shù)據(jù)庫(kù)數(shù)據(jù)關(guān)系數(shù)據(jù)庫(kù)的主流地位12.1

關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫(kù)系統(tǒng)關(guān)系模型的三個(gè)組成部分:關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合完整性約束

22.1

關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)是支持關(guān)系模型的數(shù)1.單一的數(shù)據(jù)結(jié)構(gòu)-表

“二維表”2.關(guān)系操作集合操作方式

set-at-a-timevs.record-at-time常用的關(guān)系操作:查詢(選擇、投影、連接、除、并、交、差)增加、刪除、修改操作。31.單一的數(shù)據(jù)結(jié)構(gòu)-表2.關(guān)系操作3關(guān)系語(yǔ)言是一種高度非過(guò)程化的語(yǔ)言元組關(guān)系演算語(yǔ)言域關(guān)系演算語(yǔ)言關(guān)系代數(shù)語(yǔ)言關(guān)系演算語(yǔ)言具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語(yǔ)言(如SQL)關(guān)系數(shù)據(jù)語(yǔ)言表達(dá)能力完全等價(jià)4關(guān)系語(yǔ)言是一種高度非過(guò)程化的語(yǔ)言元組關(guān)系演算語(yǔ)言域關(guān)系演算語(yǔ)3.完整性約束

實(shí)體完整性參照完整性用戶定義的完整性

由關(guān)系系統(tǒng)自動(dòng)支持53.完整性約束由關(guān)系系統(tǒng)自動(dòng)支持51.關(guān)系

1)域(Domain)

定義2.1:域是一組具有相同數(shù)據(jù)類型的值的集合。

例如,自然數(shù)、整數(shù)、實(shí)數(shù)、長(zhǎng)度小于25字節(jié)的字符串集合、大于等于0且小于等于100的正整數(shù)等

2.2

關(guān)系數(shù)據(jù)結(jié)構(gòu)61.關(guān)系2.2

關(guān)系數(shù)據(jù)結(jié)構(gòu)62)笛卡爾積(cartesianproduct)

定義2.2:

給定一組域D1,D2,…Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:

D1×D2×…×Dn

={(d1,d2,…,dn)|di

Di

,i=1,…,n}

其中,(d1,d2,…,dn)稱為一個(gè)n元組(n-tuple)或元組,di稱為一個(gè)分量(component)。

D1×D2×…×Dn的基數(shù)72)笛卡爾積(cartesianproduct)7例如給出三個(gè)域:

D1=導(dǎo)師集合SUPERVISOR={張清玫,劉逸}D2=專業(yè)集合SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}D3=研究生集合POSTGRADUATE={李勇,劉晨,王名}這對(duì)應(yīng)一張二維表,表的行數(shù)則D1,D2,D3的笛卡爾積為D1×D2×D3={(張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨),(張清玫,計(jì)算機(jī)專業(yè),王名),(張清玫,信息專業(yè),李勇),(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王名),(劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨),(劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇),(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王名)}8例如給出三個(gè)域:這對(duì)應(yīng)一張二維表,表的行數(shù)則D1,D2,99

3)關(guān)系(relation)

定義2.3:D1×D2×…×Dn的子集稱為在域D1,D2,…,Dn的關(guān)系,用R(D1,D2

,…,Dn)表示。這里R表示關(guān)系的名字,n是關(guān)系的目或度(Degree)。當(dāng)n=1時(shí),稱為單元關(guān)系;n=2時(shí),稱為二元關(guān)系。關(guān)系也是一個(gè)二維表

表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。為區(qū)別來(lái)自相同域的不同列,引入屬性(attribute)103)關(guān)系(relation)關(guān)系也是一個(gè)二維表10幾個(gè)概念:候選碼,主碼,主屬性,非碼屬性,全碼關(guān)系的三種類型:基本關(guān)系(稱為基本表或基表)查詢表視圖表

11幾個(gè)概念:11學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王名女18MA95004張立男19IS學(xué)生Student

關(guān)系12學(xué)號(hào)姓名性別年齡所在系95001李勇男20CS95002課程號(hào)Cno課程名Cname先行課Cpno學(xué)分Ccredit1數(shù)據(jù)庫(kù)542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語(yǔ)言64課程Course

關(guān)系13課程號(hào)課程名先行課學(xué)分1數(shù)據(jù)庫(kù)542數(shù)學(xué)23信息系統(tǒng)144學(xué)號(hào)Sno課程號(hào)Cno成績(jī)Grade9500119295001285950013889500229095002380選修SC關(guān)系14學(xué)號(hào)課程號(hào)成績(jī)9500119295001285950013基本關(guān)系的性質(zhì):列是同質(zhì)的不同的列可出自同一域,要給予不同的屬性名列的順序無(wú)所謂無(wú)相同元組行的順序無(wú)所謂分量必須取原子值,即分量不可再分

第一范式(1NF,1normalform)

15基本關(guān)系的性質(zhì):15這是一張具體的表,即關(guān)系是“值”!如何描述這張表的“型”呢?學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王名女18MA95004張立男19IS16這是一張具體的表,即關(guān)系是“值”!學(xué)號(hào)姓名性別年齡所在系92.關(guān)系模式關(guān)系模式是對(duì)關(guān)系的描述

要描述二維表(關(guān)系)的結(jié)構(gòu),要回答以下一些問(wèn)題:它由哪些屬性構(gòu)成?這些屬性來(lái)自哪些域?屬性與域之間的映象關(guān)系?同時(shí),現(xiàn)實(shí)世界的許多已有事實(shí)限定了關(guān)系模式所有可能的關(guān)系必須滿足一定的完整性約束條件。關(guān)系模式應(yīng)當(dāng)刻劃出這些完整性約束條件。

如“Sage<30”,“所在系是存在的”172.關(guān)系模式17

定義2.4

關(guān)系的描述稱為關(guān)系模式(Relationschema)。它可以形式化地表示為:

R(U,D,DOM,F(xiàn))其中R為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為屬性組U中屬性所來(lái)自的域,DOM為屬性向域的映象集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。

可簡(jiǎn)記為R(A1,A2

,…,An)例:學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系)

Student(Sno,Sname,Ssex,Sage,Sdept)18定義2.4關(guān)系的描述稱為關(guān)系模式(Relations學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王名女18MA95004張立男19IS關(guān)系模式學(xué)生(學(xué)號(hào),姓名,性別,年齡,所在系)的一個(gè)“值”19學(xué)號(hào)姓名性別年齡所在系95001李勇男20CS950023.關(guān)系數(shù)據(jù)庫(kù)

在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)表示的。在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)的型和值關(guān)系數(shù)據(jù)庫(kù)的型(也稱為關(guān)系數(shù)據(jù)庫(kù)模式)

包括域的定義以及這些域上定義的若干關(guān)系模式的集合關(guān)系數(shù)據(jù)庫(kù)的值

關(guān)系模式集合在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合203.關(guān)系數(shù)據(jù)庫(kù)202.3

關(guān)系的完整性1.實(shí)體完整性(entityintegrity)

實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。

例如:選修(學(xué)號(hào),課程號(hào),成績(jī))

中的學(xué)號(hào)和課程號(hào)212.3

關(guān)系的完整性1.實(shí)體完整性(entityin例:選修(學(xué)號(hào),課程號(hào),成績(jī))中的學(xué)號(hào)值應(yīng)該“有效”,即要是學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)中確實(shí)存在的一個(gè)學(xué)號(hào)值!對(duì)課程號(hào)也有同樣的約束條件。課程號(hào)學(xué)生關(guān)系選修關(guān)系課程關(guān)系學(xué)號(hào)專業(yè)號(hào)專業(yè)關(guān)系2.參照完整性(referentialintegrity)22例:課程號(hào)學(xué)生關(guān)系選修關(guān)系課程關(guān)系學(xué)號(hào)專業(yè)號(hào)專業(yè)關(guān)系2.參照定義:

設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼(foreignkey),并稱基本關(guān)系R為參照關(guān)系(ReferencingRelation),基本關(guān)系S為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。關(guān)系R和S不一定是不同的關(guān)系。如:學(xué)生2(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))中的班長(zhǎng)也為外碼,被參照關(guān)系為學(xué)生2本身。23定義:23參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:.或者取空值(F的每個(gè)屬性值均為空值):.或者等于S中某個(gè)元組的主碼值24參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基3.用戶定義的完整性(user-definedintegrity)不同的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件,用戶定義的完整性就是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。例如某個(gè)屬性必須取唯一值、某些屬性值之間應(yīng)滿足一定的函數(shù)關(guān)系、某個(gè)屬性的取值范圍在0~100之間等。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以使用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。253.用戶定義的完整性(user-definedintegr2.4

關(guān)系代數(shù)(RelationalAlgebra)關(guān)系代數(shù)用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢。按運(yùn)算符的不同,分為兩類:

1.傳統(tǒng)的集合運(yùn)算(交、并、差、廣義笛卡兒積)2.專門的關(guān)系運(yùn)算(選擇、投影、連接、除)

262.4

關(guān)系代數(shù)(RelationalAlgebrat[Ai]

元組t中相應(yīng)于屬性Ai的一個(gè)分量

t[A]

元組t在屬性列A上諸分量的集合

元組tr和ts的連接

Zx當(dāng)t[X]=x時(shí),x在R中的象集(imagesset)

Zx={t[Z]|tR,t[X]=x})n元組trm元組ts(m+n)元組trts(

trts幾個(gè)記號(hào)27t[Ai]元組t中相應(yīng)于屬性Ai的一個(gè)分量Zx

傳統(tǒng)的集合運(yùn)算是二元運(yùn)算,包括并、差、交、廣義笛卡爾積四種運(yùn)算。1.并(Union)

RUS={t|t

RVt

S)

2.差(Difference)

R-S={t|t

R

t

S)RSRUSRR-SS2.4.1傳統(tǒng)的集合運(yùn)算

設(shè)關(guān)系R和關(guān)系S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性),且相應(yīng)的屬性取自同一個(gè)域,則可以定義并、差、交運(yùn)算如下:28傳統(tǒng)的集合運(yùn)算是二元運(yùn)算,包括并、差、交、廣義笛卡爾積四種3.交(Intersection)

R

S={t|t

R

t

S)

4.廣義笛卡兒積(extendedCartesianproduct)

R×S={|tr

R

ts

S)RS(trts293.交(Intersection)4.廣義笛卡兒積(exte并操作示例

RelationsR,S:RS:AB

121AB

23RSAB

121330并操作示例RelationsR,S:RS:AB差操作示例RelationsR,S:R–S:AB

121AB

23RSAB

1131差操作示例RelationsR,S:R–S:AB1笛卡爾積操作示例RelationsR,S:Rx

S:AB

12CD

10102010EaabbAB

11112222CD

1019201010102010EaabbaabbRS32笛卡爾積操作示例RelationsR,S:RxS:A2.4.2專門的關(guān)系運(yùn)算1.選擇(selection)

F(R)={t|tR

F(t)=“真”}

其中F表示選擇條件,它是一個(gè)邏輯表達(dá)式

X1

Y1[X2Y1]

為比較運(yùn)算符(=,,>,.<.)

為邏輯運(yùn)算符

(and),(or),(not)

選擇運(yùn)算是從關(guān)系R中選取使F為真的元組--從行的角度進(jìn)行的運(yùn)算332.4.2專門的關(guān)系運(yùn)算1.選擇(selection)選擇操作示例RelationRABCD

A=B^D>5(R)ABCD

12371034選擇操作示例RelationRABCD17A=B^例1:查詢信息系(IS系)全體學(xué)生

Sdept=‘IS’(Student)

5=‘IS’(Student)

學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王名女18MA95004張立男19IS關(guān)系Student例2:查詢信息系的名叫王名的學(xué)生

Sname=‘王名’

Sdept=‘IS’(Student)35例1:查詢信息系(IS系)全體學(xué)生學(xué)號(hào)姓名性別年齡所在系952.投影(projection)

A(R)={t[A]|tR}

其中A為R中的屬性列(設(shè)有K列)結(jié)果是包含K個(gè)列的關(guān)系,其它的列被刪除了。由于關(guān)系是集合,故結(jié)果中消除了重復(fù)的行。362.投影(projection)結(jié)果是包含K個(gè)列的關(guān)系,其它投影操作示例RelationRABC

102030401112AC

1112=AC

112

A,C(R)37投影操作示例RelationRABC101AC1=AC3.連接(join)RS={|tr

R

ts

S

tr[A]

ts[B]}

(trtsAB其中A和B分別為R和S上度數(shù)相等且可比的屬性組。

是比較運(yùn)算符。連接運(yùn)算從A和B的廣義笛卡爾積A×B中選取(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系

的元組。

兩種重要而常用的連接運(yùn)算:等值連接(equi-join):

為“=”自然連接(naturaljoin):一種特殊的等值連接,要求

1.A和B相同

2.結(jié)果中除去重復(fù)屬性

RS383.連接(join)(trtsAB其中A和B分別為自然連接操作示例RelationsR,S:AB

12412CD

aababB13123DaaabbE

RAB

11112CD

aaaabE

SRS39自然連接操作示例RelationsR,S:AB1CD4.除(division)給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。RS是R中滿足下列條件的元組在X屬性上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作:說(shuō)明:

Yx={y|tr∈R∧y=tr[Y]∧x=tr[X]}。Yx為x在R中的象集x=tr[X](即Yx為屬性X取值x)時(shí),相應(yīng)的Y值的集合。當(dāng)中首次出現(xiàn)了關(guān)于集合的比較。404.除(division)說(shuō)明:40除法操作示例RelationsR,S:R

S:BA

12AB

12311134612RS

41除法操作示例RelationsR,S:RS:BA4242綜合舉例例1.查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼。

Sno,Cno(SC)K

臨時(shí)關(guān)系KCno13例2.查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。

Sno(

Cno=‘2’(SC))43綜合舉例例1.查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼。Cn例3.查詢至少選修了一門其直接先行課為6號(hào)課程的學(xué)生姓名

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論