




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章
關(guān)系數(shù)據(jù)庫
數(shù)據(jù)庫原理與應(yīng)用1本章內(nèi)容3.1關(guān)系數(shù)據(jù)模型3.2關(guān)系模型的基本術(shù)語與形式化定義3.3完整性約束3.4關(guān)系代數(shù)23.1關(guān)系數(shù)據(jù)模型3.1.1關(guān)系數(shù)據(jù)結(jié)構(gòu)
3.1.2關(guān)系操作
3.1.3數(shù)據(jù)完整性約束33.1.1數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)模型源于數(shù)學(xué)。用二維表來組織數(shù)據(jù),這個二維表在關(guān)系數(shù)據(jù)庫中就稱為關(guān)系。關(guān)系數(shù)據(jù)庫就是表或者說是關(guān)系的集合。關(guān)系系統(tǒng)要求讓用戶所感覺的數(shù)據(jù)庫就是一張張表。在關(guān)系系統(tǒng)中,表是邏輯結(jié)構(gòu)而不是物理結(jié)構(gòu)。43.1.2關(guān)系操作傳統(tǒng)的關(guān)系運(yùn)算:并(Union)交(Intersection)差(Difference)廣義笛卡爾乘積(ExtendedCartesianProduct)專門的關(guān)系運(yùn)算:選擇(Select)投影(Project)連接(Join)除(Divide)5關(guān)系操作(續(xù))查詢(Query)插入(Insert)刪除(Delete)修改(Update)關(guān)系模型的操作對象是集合,而不是行。集合處理能力是關(guān)系系統(tǒng)區(qū)別于其他系統(tǒng)的一個重要特征。6關(guān)系操作與非關(guān)系操作的比較非關(guān)系模型各個數(shù)據(jù)記錄之間是通過指針等方式連接的,當(dāng)要定位到某條記錄時,需要用戶自己按指針的鏈接方向逐層查找。關(guān)系數(shù)據(jù)模型是按集合進(jìn)行操作,用戶只需指定數(shù)據(jù)的定位條件,數(shù)據(jù)庫管理系統(tǒng)就可以自動定位到該數(shù)據(jù)記錄。7查找計算機(jī)學(xué)院軟件工程教研室張海濤8查找計算機(jī)系學(xué)號為202101003的學(xué)生學(xué)號姓名性別所在學(xué)院202101001李勇男計算機(jī)202101002劉晨男計算機(jī)202101003王敏女計算機(jī)202101004張小紅女計算機(jī)202102001張海男經(jīng)濟(jì)管理202102002劉琳女經(jīng)濟(jì)管理93.1.3數(shù)據(jù)完整性約束數(shù)據(jù)完整性是指保證數(shù)據(jù)正確性的特征。包括兩個方面:與現(xiàn)實世界中應(yīng)用需求的數(shù)據(jù)的相容性和正確性;數(shù)據(jù)庫內(nèi)數(shù)據(jù)之間的相容性和正確性。如:學(xué)生的學(xué)號必須是惟一的。性別只能是‘男’和‘女。10本章內(nèi)容3.1關(guān)系數(shù)據(jù)模型3.2關(guān)系模型的基本術(shù)語與形式化定義3.3完整性約束3.4關(guān)系代數(shù)111.基本術(shù)語關(guān)系
:關(guān)系就是二維表。并滿足如下性質(zhì):關(guān)系表中的每一列都是不可再分的基本屬性;表中的行、列次序并不重要。屬性
:表中的每一列是一個屬性值集,列可以命名,稱為屬性名。值域:屬性的取值范圍
。如,性別只能是‘男’和‘女’兩個值。12基本術(shù)語(續(xù))元組:表中的每一行稱作是一個元組。分量:元組中的每一個屬性值稱為元組的一個分量。關(guān)系模式:是關(guān)系的“型”或元組的結(jié)構(gòu)共性的描述。設(shè)關(guān)系名為R,屬性分別為A1,A2,…,An,則關(guān)系模式可以表示為:
R(A1,A2,…,An)
13基本術(shù)語(續(xù))關(guān)系數(shù)據(jù)庫:對應(yīng)于一個關(guān)系模型的所有關(guān)系的集合。候選鍵:能夠惟一標(biāo)識關(guān)系中的一個元組的一個屬性或最小屬性組。
主鍵:當(dāng)一個關(guān)系中有多個候選鍵時,可以從中選擇一個作為主碼。每個關(guān)系只能有一個主鍵。主屬性:包含在任一候選鍵中的屬性。非主屬性:不包含在任一候選鍵中的屬性。142.形式化定義關(guān)系的形式化定義——笛卡爾積設(shè)D1,D2,…,Dn為任意集合,定義笛卡爾積D1,D2,…,Dn為:
D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一個元素(d1,d2,…,dn)稱為一個n元組,簡稱元組。元組中每一個di稱為是一個分量。15笛卡兒乘積示例D1={計算機(jī),經(jīng)濟(jì)管理}D2={李勇,王敏,張海}D3={男,女}則D1×D2×D3笛卡爾積為:D1×D2×D3={(計算機(jī),李勇,男),(計算機(jī),李勇,女),(計算機(jī),王敏,男),(計算機(jī),王敏,女),(計算機(jī),張海,男),(計算機(jī),張海,女),(經(jīng)濟(jì)管理,李勇,男),(經(jīng)濟(jì)管理,李勇,女),(經(jīng)濟(jì)管理,王敏,男),(經(jīng)濟(jì)管理,王敏,女),(經(jīng)濟(jì)管理,張海,男),(經(jīng)濟(jì)管理,張海,女)}16笛卡爾積實際上就是一個二維表17關(guān)系的形式化定義笛卡爾積D1,D2,…,Dn的任意一個子集稱為D1,D2,…,Dn上的一個n元關(guān)系。把關(guān)系看成二維表,給表中的每個列取一個名字,稱為屬性。一個關(guān)系中的屬性的名字必須是唯一的。屬性Di(i=1,2,…,n)的取值范圍稱為該屬性的值域。18對關(guān)系的限定關(guān)系中的每個分量必須是不可再分的最小屬性。
表中列的數(shù)據(jù)類型是固定的。
不同列的數(shù)據(jù)可以取自相同的值域。
關(guān)系表中行、列的順序不重要。同一個關(guān)系中的元組不能重復(fù)。19本章內(nèi)容3.1關(guān)系數(shù)據(jù)模型3.2關(guān)系模型的基本術(shù)語與形式化定義3.3完整性約束3.4關(guān)系代數(shù)203.3完整性約束3.3.1實體完整性
3.3.2參照完整性3.3.3用戶定義的完整性213.3.1實體完整性實體完整性是保證關(guān)系中的每個元組都是可識別的和惟一的。
而且表中不允許存在如下的記錄:無主鍵值的記錄主鍵值相同的記錄22缺少主鍵值的學(xué)生數(shù)據(jù)示例學(xué)
號姓
名性
別所
在
學(xué)
院
?李勇男計算機(jī)202101002劉晨男計算機(jī)202101003王敏女計算機(jī)
?李勇男計算機(jī)202102001張海男經(jīng)濟(jì)管理202102002劉琳女經(jīng)濟(jì)管理23主鍵值有重復(fù)的學(xué)生數(shù)據(jù)示例學(xué)
號姓
名性
別所
在
學(xué)
院202101001李勇男計算機(jī)202101002劉晨男計算機(jī)202101003王敏女計算機(jī)202101001李勇男計算機(jī)202102001張海男經(jīng)濟(jì)管理202102002劉琳女經(jīng)濟(jì)管理243.3.2參照完整性參照完整性也稱為引用完整性?,F(xiàn)實世界中的實體之間往往存在著某種聯(lián)系,在關(guān)系模型中,實體以及實體之間的聯(lián)系都是用關(guān)系來表示的,這樣就自然存在著關(guān)系與關(guān)系之間的引用。參照完整性描述實體之間的聯(lián)系,這里的實體之間可以是不同的實體,也可以是同一個實體。25參照完整性示例示例1學(xué)生(學(xué)號,姓名,性別,所在學(xué)院名)學(xué)院(學(xué)院名,辦公地點,辦公電話)示例2學(xué)生(學(xué)號,姓名,性別,所在學(xué)院)課程(課程號,課程名,學(xué)分,開課學(xué)期)選課(學(xué)號,課程號,成績)示例3職工(職工號,姓名,性別,直接領(lǐng)導(dǎo)職工號)26外鍵定義設(shè)F是關(guān)系R的一個或一組屬性,如果F與關(guān)系S的主鍵相對應(yīng),則稱F是關(guān)系R的外鍵(ForeignKey),并稱關(guān)系R為參照關(guān)系(ReferencingRelation),關(guān)系S為被參照關(guān)系(ReferencedRelation)。關(guān)系R和關(guān)系S不一定是不同的關(guān)系。27參照表示圖28示例:參照完整性規(guī)則參照完整性規(guī)則就是定義外鍵與主鍵之間的引用規(guī)則。對于外鍵,一般應(yīng)符合如下要求:或者值為空;或者等于其所應(yīng)用的關(guān)系中的某個元組的主鍵值。29示例職工(職工號,職工名,部門號,工資級別)部門(部門號,部門名)如果某新來職工還沒有被分配到具體的部門,則其“部門號”就為空值;如果職工已經(jīng)被分配到了某個部門,則其“部門號”就有了確定的值(非空值)。303.3.3用戶定義的完整性也稱為域完整性或語義完整性。用戶定義的完整性實際上就是指明關(guān)系中屬性的取值范圍,也就是屬性的域,以限制關(guān)系中屬性的取值類型及取值范圍,防止屬性的值與應(yīng)用語義矛盾。例如:學(xué)生的考試成績的取值范圍為0~100,或取{優(yōu),良,中,及格,不及格}31本章內(nèi)容3.1關(guān)系數(shù)據(jù)模型3.2關(guān)系模型的基本術(shù)語與形式化定義3.3完整性約束3.4關(guān)系代數(shù)323.4關(guān)系代數(shù)關(guān)系模型源于數(shù)學(xué),關(guān)系是由元組構(gòu)成的集合,可以通過關(guān)系的運(yùn)算來表達(dá)查詢要求,關(guān)系代數(shù)是關(guān)系操作語言的一種傳統(tǒng)的表示方式,它是一種抽象的查詢語言。關(guān)系代數(shù)的運(yùn)算可分為兩大類:傳統(tǒng)的集合運(yùn)算:廣義笛卡爾積運(yùn)算、并、交和差運(yùn)算。專門的關(guān)系運(yùn)算:選擇、投影、連接和除運(yùn)算。33關(guān)系代數(shù)運(yùn)算符運(yùn)算符含義傳統(tǒng)的集合運(yùn)算∪并∩交-差×廣義笛卡爾積專門的關(guān)系運(yùn)算∏選擇σ投影連接÷除34關(guān)系代數(shù)運(yùn)算符(續(xù))運(yùn)算符含義比較運(yùn)算符>大于<小于=等于≠不等于≤小于等于≥大于等于邏輯運(yùn)算符?
非∧與∨或353.4.1傳統(tǒng)的集合運(yùn)算傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,設(shè)關(guān)系R和S均是n元關(guān)系,且相應(yīng)的屬性值取自同一個值域,則可以定義三種運(yùn)算:并運(yùn)算(∪)交運(yùn)算(∩)差運(yùn)算(―)36并、交、差運(yùn)算示意圖371.并運(yùn)算設(shè)關(guān)系R與關(guān)系S均是n目關(guān)系,關(guān)系R與關(guān)系S的并運(yùn)算記為:
R∪S={t|t∈R∨t∈S}其結(jié)果仍是n目關(guān)系,由屬于R或?qū)儆赟的元組組成。38并運(yùn)算示例顧客號姓名性別年齡S01張宏男45S02李麗女34S03王敏女2839顧客號姓名性別年齡S02李麗女34S04錢景男50S06王平女24顧客號姓名性別年齡S01張宏男45S02李麗女34S03王敏女28S04錢景男50S06王平女242.交運(yùn)算設(shè)關(guān)系R與關(guān)系S均是n目關(guān)系,則關(guān)系R與關(guān)系S的交運(yùn)算記為:R∩S={t|t∈R∧t∈S}其結(jié)果仍是n目關(guān)系,由屬于R并且也屬于S的元組組成。40交運(yùn)算示例顧客號姓名性別年齡S02李麗女3441顧客號姓名性別年齡S01張宏男45S02李麗女34S03王敏女28顧客號姓名性別年齡S02李麗女34S04錢景男50S06王平女243.差運(yùn)算設(shè)關(guān)系R與關(guān)系S均是n目關(guān)系,則關(guān)系R與關(guān)系S的差運(yùn)算記為:R-S={t|t∈R∧t?S}其結(jié)果仍是n目關(guān)系,由屬于R并且不屬于S的元組組成。42差運(yùn)算示例顧客號姓名性別年齡S01張宏男45S03王敏女2843顧客號姓名性別年齡S01張宏男45S02李麗女34S03王敏女28顧客號姓名性別年齡S02李麗女34S04錢景男50S06王平女244.廣義笛卡爾積兩個分別為m目和n目的關(guān)系R和關(guān)系S的廣義笛卡爾積是一個有(m+n)目的元組的集合。元組的前m個列是關(guān)系R的一個元組,后n個列是關(guān)系S的一個元組。若R有K1個元組,S有K2個元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有K1×K2個元組,記做:R×S={tr^ts|tr∈R∧ts∈S}tr^ts表示由兩個元組tr和ts前后有序連接而成的一個元組44廣義笛卡爾積示例45ABa1b1a2b2CDEc1d1e1c2d2e2c3d3e3ABCDEa1b1c1d1e1a1b1c2d2e2a1b1c3d3e3a2b2c1d1e1a2b2c2d2e2a2b2c3d3e33.4.2專門的關(guān)系運(yùn)算1.選擇(Selection)2.投影(Projection)3.連接(join)4.除(Division)46二元一元1.選擇(Selection)σF(R)={r|r∈R∧F(t)=‘真’}
σ是選擇運(yùn)算符,R是關(guān)系名,r是元組,F(xiàn)是邏輯表達(dá)式,取邏輯“真”值或“假”值。47RσF(R)……示例例3-1.查詢“計算機(jī)學(xué)院”學(xué)生信息。σcollege
=‘計算機(jī)學(xué)院’(students)482.投影(Projection)
∏A(R)={t.A|t∈R}∏是投影運(yùn)算符,R是關(guān)系名,A是被投影的屬性或?qū)傩越M。r.A表示r這個元組中相應(yīng)于屬性(集)A的分量,也可以表示為r[A]。49投影運(yùn)算示意圖50RΠA(R)投影投影運(yùn)算步驟(1)選取出指定的屬性,形成一個可能含有重復(fù)行的新關(guān)系;(2)刪除重復(fù)行,形成結(jié)果關(guān)系。51示例例3-5.在sname、college兩個列上進(jìn)行投影運(yùn)算:∏sname,college(Student)52A和B分別是關(guān)系R和S上可比的屬性組,θ是比較運(yùn)算符,連接運(yùn)算從R和S的廣義笛卡爾積R×S中選擇(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較運(yùn)算符θ的元組。53連接運(yùn)算主要形式θ連接,θ為比較運(yùn)算符。等值連接(θ連接的特例)。自然連接。外部連接(簡稱外連接)。54等值連接當(dāng)θ為“=”時的連接為等值連接,從關(guān)系R與關(guān)系S的廣義笛卡爾積中選取A、B屬性組值相等的那些元組。55自然連接是一種特殊的等值連接,要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性或?qū)傩越M,在連接結(jié)果中去掉重復(fù)的屬性列,使公共屬性列只保留一個。56自然連接與等值連接的區(qū)別自然連接要求相等的分量必須有共同的屬性名,等值連接無此要求;自然連接要求把重復(fù)的屬性去掉,等值連接無此操作。57外連接如果希望不滿足連接條件的元組也出現(xiàn)在連接結(jié)果中,則可通過外連接(OUTERJOIN)操作實現(xiàn)。外連接有三種形式:左外連接(LEFTOUTERJOIN)右外連接(RIGHTOUTERJOIN)全外連接(FULLOUTERJOIN)58外連接形式左外連接的連接形式為:
右外連接的連接形式為:
全外連接的連接形式為:594.除(Division)設(shè)關(guān)系S的屬性是關(guān)系R的屬性的一部分,則R÷S為這樣一個關(guān)系:此關(guān)系的屬性是由屬于R但不屬于S的所有屬性組成;R÷S的任一元組都是R中某元組的一部分。但必須符合:任取屬于R÷S的一個元組t,則t與S的任一元組連接后,都是R中原有的一個元組。60除運(yùn)算示意圖61除法的一般形式設(shè)有關(guān)系R(X,Y)和S(Y,Z),其中X、Y、Z為關(guān)系的屬性組,則:
R(X,Y)÷S(Y,Z)=R(X,Y)÷∏Y(S)
62象集給定一個關(guān)系R(X,Y),X和Y為屬性組。定義,當(dāng)t[X]=x時,x在R中的象集為:
Yx={t[Y]|t∈R∧t[X]=x}t[Y]和t[X]分別表示R中的元組t在屬性組Y和X上的分量的集合。63象集示例SIDsnamegendercollege202101001李勇男計算機(jī)學(xué)院202101002劉晨男計算機(jī)學(xué)院202101003王敏女計算機(jī)學(xué)院202101004張小紅女計算機(jī)學(xué)院202101005王立東男計算機(jī)學(xué)院64有元組:(202101001,李勇,男,計算機(jī)學(xué)院)設(shè)X={gender,college},Y={SID,Sname},則上式中的t[X]的一個值:X=(男,計算機(jī)學(xué)院)
則Yx為t[X]=x=(男,計算機(jī)學(xué)院)時所有t[Y]的值,即:Yx={(202101001,李勇),(202101002,劉晨),(202101005,王立東)}除運(yùn)算的一般形式設(shè)有關(guān)系R(X,Y)和S(Y,Z),其中X、Y、Z為關(guān)系的屬性組,則:
R÷S={tr[X]|trR∧∏Y(S)Yx}
65除運(yùn)算示例66ISBNSID
9787115546081202101004
9787115546081202102001
9787115546081202102003
9787302505945202101001
SIDsname
ISBN9787302505945202101002÷202101001李勇=97871155460819787302505945202101004
202101004張小紅
97873025059459787302563839202101001
9787302563839202102003
9787541154256202102002
9787541154256202101004
3.4.3關(guān)系代數(shù)示例例3-7.查詢計算機(jī)學(xué)院的學(xué)生學(xué)號和姓名。
∏SID,sname(σcollege=‘計算機(jī)學(xué)院’(students))例3-8.查詢借過“數(shù)據(jù)分析思維”圖書的學(xué)生學(xué)號和借書時間。
∏SID,borrow_time(σbname=‘?dāng)?shù)據(jù)分析思維’(booksborrow))
也可以寫成:∏SID,borrow_time(σbname=‘?dāng)?shù)據(jù)分析思維’(books)borrow)67示例(續(xù)1)例3-9.查詢借過“數(shù)據(jù)分析思維”圖書的學(xué)生姓名和所在學(xué)院?!莝name,college(σbnam
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年德語TestDaF口語模擬試卷:歷年真題與模擬測試
- 2025年美容師(初級)美容培訓(xùn)實操試卷
- 2025年會計職稱考試《初級會計實務(wù)》財務(wù)風(fēng)險預(yù)警預(yù)警信號識別試題
- 提高×××產(chǎn)品一次合格率QC活動方案
- 驕傲的玫瑰花400字作文8篇
- 個人信用狀況證明書及信用評級展示(5篇)
- 深海礦產(chǎn)資源勘探2025年技術(shù)專利布局與產(chǎn)業(yè)升級報告
- 2025年金融科技企業(yè)估值方法與投資策略研究報告:行業(yè)競爭與投資機(jī)遇
- 工業(yè)互聯(lián)網(wǎng)平臺漏洞掃描技術(shù)在工業(yè)互聯(lián)網(wǎng)平臺安全防護(hù)中的應(yīng)用效果評估報告
- 新能源汽車在城市綠化養(yǎng)護(hù)中的應(yīng)用實踐與效果評估報告
- NB/T 11462-2023帶式輸送機(jī)用液壓卷帶裝置
- 多酸化學(xué)智慧樹知到期末考試答案章節(jié)答案2024年東北師范大學(xué)
- 四川省成都市雙流區(qū)2023-2024學(xué)年部編版八年級下學(xué)期期末質(zhì)量監(jiān)測歷史試題
- 物流保密協(xié)議物流運(yùn)輸保密協(xié)議
- 2024年浙江省普通高中學(xué)業(yè)水平適應(yīng)性考試歷史試題(含答案)
- 5G-A通感一體應(yīng)用場景研究 2024
- 會議記錄范文模板
- 我國醫(yī)療保險制度的變遷
- 中國減薄機(jī)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告2024-2034版
- 交警公眾號寫作培訓(xùn)
- 電影院項目策劃書
評論
0/150
提交評論