版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫虛擬教研室制作數(shù)據(jù)庫《數(shù)據(jù)庫原理及應(yīng)用》03
關(guān)系的完整性01
關(guān)系代數(shù)的基本術(shù)語02關(guān)系模式與關(guān)系04
關(guān)系運(yùn)算目錄第2章關(guān)系數(shù)據(jù)庫理論關(guān)系數(shù)據(jù)庫的奠基人E.F.Codd,英國(guó)人,1923生于英格蘭中部波特蘭。第二次世界大戰(zhàn)時(shí)應(yīng)征入伍,在皇家空軍服役。大戰(zhàn)結(jié)束后,到英國(guó)牛津大學(xué)數(shù)學(xué)專業(yè)學(xué)習(xí),1963年獲得碩士學(xué)位,1965年又獲得博士學(xué)位。60年代后期開始數(shù)據(jù)庫研究,1970年E.F.Codd博士提出關(guān)系模型概念,他因此獲得1981年的ACM圖靈獎(jiǎng)。E.F.Codd博士關(guān)系數(shù)據(jù)庫之父美國(guó)工程院院士域定義關(guān)系理論是建立在集合代數(shù)理論基礎(chǔ)上的,有著堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)。
定義1:域(Domain)是一組具有相同類型的值的集合。例:性別集合{男,女};正整數(shù)集合{1,2,3,……};姓名集合{張三,李四,王五};全體實(shí)數(shù)的集合等都可以稱為是域。笛卡兒積定義
定義2:笛卡兒積給定一組域D1,D2,…,Dn,
D1,D2,…,Dn的笛卡兒積為D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}笛卡兒積中每一個(gè)元素(d1,d2,…,dn)叫做一個(gè)n元組。兩個(gè)名詞:度(n):參與笛卡兒積的域的個(gè)數(shù)。
基:域中可取值的個(gè)數(shù)。
例:設(shè)有域
D1=姓名集合(NAME)={王三,丁平};
D2=職業(yè)集合(JOB)={工人,農(nóng)民,商人};
D3=住址集合(ADDR)={北京,上海,廣州};則D1×D2×D3={問題:笛卡兒積的度為多少?笛卡兒積的基為多少?(王三,工人,北京),(王三,工人,上海),(王三,工人,廣州),(王三,農(nóng)民,北京),(王三,農(nóng)民,上海),(王三,農(nóng)民,廣州),(王三,商人,北京),(王三,商人,上海),(王三,商人,廣州),(丁平,工人,北京),(丁平,工人,上海),(丁平,工人,廣州),(丁平,農(nóng)民,北京),(丁平,農(nóng)民,上海),(丁平,農(nóng)民,廣州),(丁平,商人,北京),(丁平,商人,上海),(丁平,商人,廣州)}
笛卡兒積定義關(guān)系定義
定義3:關(guān)系
D1×D2×…×Dn的子集叫作在域D1,D2,
…,Dn上的關(guān)系,記為R(D1,D2,…,Dn)。
一般說來,只有笛卡兒積的子集才是有意義的。姓名職業(yè)地址王三工人北京丁平商人上海關(guān)系模式定義
定義:
關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)就是關(guān)系模式,即是對(duì)關(guān)系的描述。關(guān)系模式通常可以簡(jiǎn)記為:
R(A1,A2,…,An)
R:關(guān)系名
A1,A2,…,An:屬性名如學(xué)生關(guān)系模式:student(sno,sname,sex,major)候選鍵定義
定義:
若某一屬性集的值能唯一地標(biāo)識(shí)關(guān)系R的元組而不含多余的屬性,則稱其為關(guān)系R的候選鍵。
若一個(gè)關(guān)系有多個(gè)候選鍵,則可在其中選定一個(gè)作為主鍵。一個(gè)關(guān)系中只有一個(gè)主鍵,主鍵的值不能為空,且不允許重復(fù)。外鍵定義
定義:
若某一個(gè)關(guān)系R中的屬性X并非關(guān)系R的鍵,卻是另一個(gè)關(guān)系S的主鍵,則稱X為關(guān)系R的外鍵(碼)。并稱R為參照關(guān)系,S為被參照關(guān)系。圖中成績(jī)表中的學(xué)號(hào)和課程號(hào)都是外鍵,成績(jī)表為參照表,學(xué)生表和課程表為被參照表。關(guān)系的類型關(guān)系有3種類型:基本表、查詢表和視圖表。(1)基本表是實(shí)際存在的表。(2)查詢表是查詢結(jié)果對(duì)應(yīng)的表。(3)視圖表是虛表,是由基本表或其他視圖表導(dǎo)出的表。關(guān)系的完整性約束類型說明實(shí)體完整性約束主鍵的值參照完整性約束外鍵的值用戶自定義完整性(域完整性)約束其他字段的值實(shí)體完整性完整性約束規(guī)則:若屬性A(一個(gè)或一組屬性)是基本關(guān)系R的主屬性,則屬性A不能取空值(NULL),且A不能取重復(fù)值。說明:實(shí)體完整性是針對(duì)基本關(guān)系的;本規(guī)則碼屬性上的每一個(gè)屬性都不能取空值;現(xiàn)實(shí)世界中的實(shí)體是可區(qū)分的,即它們具有某種唯一性標(biāo)識(shí)(不取重復(fù)值)。因此,定義了關(guān)系的主碼,則主碼的值唯一且不能為空。參照(引用)完整性完整性約束規(guī)則:基本關(guān)系R中含有與另一個(gè)基本關(guān)系S的主碼相對(duì)應(yīng)的屬性組F(F稱為R的外碼),則對(duì)于R中的每個(gè)元組在F上的值必須為:
①或者取空值(F的每個(gè)屬性值均為空值);
②或者等于S中某個(gè)元組的主碼值
引用完整性約束是不同關(guān)系之間或同一關(guān)系的不同元組間的約束。
本規(guī)則要求不允許引用不存在的元組;關(guān)系的完整性約束例1:職工關(guān)系EMP(ENO,ENAME,DNO)
部門關(guān)系DEPT(DNO,DNAME)
在EMP中,DNO是外碼。EMP中每個(gè)元組在DNO
上的值允許有兩種可能:①取空值。這說明這個(gè)職工尚未分配到某個(gè)部門;
②若非空值,則DNO的值必須是DEPT中某個(gè)元組中的DNO值。表示此職工不可能分配到一個(gè)不存在的部門。關(guān)系的完整性約束職工號(hào)部門編號(hào)姓名…9801980298039804980501010203張三李四王五趙六錢七部門編號(hào)部門名稱…01020304經(jīng)理辦公室人事部公關(guān)部技術(shù)部職工表(EMP)部門表(DEPT)關(guān)系主碼外部關(guān)系碼關(guān)系的完整性約束例2:學(xué)生實(shí)體及其內(nèi)部的聯(lián)系
學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))關(guān)系的完整性約束例3:選修(學(xué)號(hào),課程號(hào),成績(jī))
“學(xué)號(hào)”和“課程號(hào)”可能的取值:(1)選修關(guān)系中的主屬性,不能取空值(2)只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值關(guān)系的完整性約束(3)域完整性(用戶自定義完整性)規(guī)則:要求屬性值必須取自其對(duì)應(yīng)的值域。例:學(xué)生的性別只能是:‘男’和‘女’CONSTRAINTSXCHECK(性別IN(‘男’,‘女’)傳統(tǒng)的集合運(yùn)算定義1.
設(shè)給定兩個(gè)關(guān)系R和S,若滿足:具有相同的度n,且R中第i個(gè)屬性和S中第i個(gè)屬性必須來自同一個(gè)域,則說關(guān)系R和S是相容的。即:關(guān)系R和S有相同的度,即有相同的屬性個(gè)數(shù),且對(duì)應(yīng)的屬性的域相同。
傳統(tǒng)集合運(yùn)算的兩個(gè)關(guān)系必須是相容的。約定:大寫字母表示命名關(guān)系和關(guān)系的屬性;小寫字母表示元組。
傳統(tǒng)的集合運(yùn)算①并(Union)
關(guān)系R和S的并記為R∪S,結(jié)果仍為n度關(guān)系,由或?qū)儆赗或?qū)儆赟的元組組成。RSR∪S傳統(tǒng)的集合運(yùn)算②差(Minus)
關(guān)系R和S的差記為R-S,結(jié)果仍為n度關(guān)系,由屬于R而不屬于S的元組組成。RSR-S傳統(tǒng)的集合運(yùn)算③交(Intersect[??nt??sekt])
關(guān)系R和S的并記為R∩S,結(jié)果仍為n度關(guān)系,由既屬于R又屬于S的元組組成。RSR∩SR∩S=R–(R-S)廣義笛卡兒積
廣義笛卡兒積
R是一個(gè)n度關(guān)系,S是一個(gè)m度關(guān)系。關(guān)系R和S的廣義笛卡兒積記為R×S,其結(jié)果是(n+m)度的關(guān)系,結(jié)果中的元組是R中元組和S中元組連成的一串,前n個(gè)分量是R中的一個(gè)元組,后m個(gè)分量是S的一個(gè)元組。假定R中有元組(r1,r2,…,rn),S中有元組(s1,s2,…,sm),則結(jié)果中的元組為
(r1,r2,…,rn,s1,s2,…,sm)。若R有k1個(gè)元組,S有k2個(gè)元組,則R×S有k1×k2個(gè)元組。
廣義笛卡兒積例:ABCa1b1c1a1b2c2a2b2c1ABDa1b2c2a1b3c2a2b2c1RSABCA′B′Da1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1R×S記錄個(gè)數(shù)9度數(shù)6專門的關(guān)系運(yùn)算①選擇(Select)σ(sigma)從一個(gè)關(guān)系中選出所有滿足指定條件的元組。即在給定關(guān)系中,從水平方向上選取符合給定條件的元組的子集。一般定義為:
σF(R)={t|t∈R∧F(t)=‘True’}
讀作關(guān)系R關(guān)于公式F的選擇運(yùn)算,表示從R中選擇那些滿足公式F的元組。
專門的關(guān)系運(yùn)算scsc例:設(shè)有學(xué)生-課程關(guān)系數(shù)據(jù)庫,如下所示:snosnamemajorage001101王林計(jì)算機(jī)19001102程明計(jì)算機(jī)20001103王敏通信工程21cnocnamectimeC1高等代數(shù)144C2程序設(shè)計(jì)100snocnograde001101C195001101C270001102C181專門的關(guān)系運(yùn)算例1:求計(jì)算機(jī)系的學(xué)生。σmajor=‘計(jì)算機(jī)’(S)例2:求計(jì)算機(jī)系姓名叫王林的學(xué)生。σmajor=‘計(jì)算機(jī)’^sname=‘王林’(S)snosnamemajorage001101王林計(jì)算機(jī)19001102程明計(jì)算機(jī)20snosnamemajorage001101王林計(jì)算機(jī)19專門的關(guān)系運(yùn)算②投影(Projection)∏(pi)
從一個(gè)關(guān)系出發(fā)構(gòu)造其垂直子集的運(yùn)算,即結(jié)果關(guān)系由運(yùn)算分量中的某些列組成,并消去重復(fù)的元組。一般定義為:關(guān)系R在域列A上的投影:∏A(R)={t[A]|t∈R}
∏表示投影運(yùn)算符;A為R中的屬性列,R是運(yùn)算對(duì)象的關(guān)系,寫在∏之后用()括起來。專門的關(guān)系運(yùn)算注意:
因?yàn)橥队斑\(yùn)算的屬性表不一定包含關(guān)系的碼,經(jīng)投影運(yùn)算后,結(jié)果中很可能出現(xiàn)重復(fù)元組,消除重復(fù)元組后所得關(guān)系的元組將小于等于原關(guān)系的元組數(shù)。如果屬性列中包含碼,則不可能出現(xiàn)重復(fù)元組,投影運(yùn)算后所得關(guān)系的元組個(gè)數(shù)與原關(guān)系一樣。
投影不僅會(huì)取消一些列,也可能取消某些行。但在實(shí)際的SQL實(shí)現(xiàn)時(shí)要靠關(guān)鍵字來完成。專門的關(guān)系運(yùn)算例1:求全體學(xué)生姓名和所在系這兩個(gè)屬性上的投影?!莝name,major(S)例2:求有多少個(gè)不同的系。∏major(S)snamemajor王林計(jì)算機(jī)程明計(jì)算機(jī)王敏通信工程major計(jì)算機(jī)通信工程專門的關(guān)系運(yùn)算③連接(Join)θ連接
一般定義為:
R∞SAθB
∞(Infinity)表示連接運(yùn)算符;θ通常為比較運(yùn)算符,但還有其他一些運(yùn)算符,AθB是條件表達(dá)式。含義是:從R×S的廣義笛卡兒積中選取R關(guān)系在A屬性組上的值與S關(guān)系在B屬性組上值滿足比較運(yùn)算θ的那些元組。專門的關(guān)系運(yùn)算例1:求學(xué)生選修課程的情況。
S∞SCS.sno=SC.snoS.snosnamemajorageSC.snocnograde001101王林計(jì)算機(jī)19001101C195001101王林計(jì)算機(jī)19001101C270001102程明計(jì)算機(jī)20001102C181專門的關(guān)系運(yùn)算自然連接(NaturalJoin)
是一種特殊而常用的連接。自然連接只當(dāng)兩個(gè)關(guān)系含有公共屬性時(shí)才能進(jìn)行。
若關(guān)系R和關(guān)系S具有公共屬性組B,則自然連接定義為:
R∞S含義是:
從兩個(gè)關(guān)系的笛卡兒積中選取公共屬性值相等的元組,且在非公共屬性和一組公共屬性上投影而形成的結(jié)果關(guān)系。專門的關(guān)系運(yùn)算ABCa1b1c2a2b2c1a3b1c3a4b2c5a5b3c1BCDEb1c2d1e1b3c1d2e2b1c3d3e3b1c2d4e4b3c1d5e5ABCDEa1b1c2d1e1a1b1c2d4e4a3b1c3d3e3a5b3c1d2e2a5b3c1d5e5RSAR.BR.CS.BS.CDEa1b1c2b1c2d1e1a1b1c2b1c2d4e4a3b1c3b1c3d3e3a5b3c1b3c1d2e2a5b3c1b3c1d5e5R.BC=S.BCR∞SR∞S專門的關(guān)系運(yùn)算比較:等值連接與自然連接
等值連接是在笛卡兒積的基礎(chǔ)上選擇滿足兩個(gè)關(guān)系中給定屬性值相等的元組的集合。自然連接是在兩個(gè)關(guān)系的相同屬性組上的等值連接,并且自然連接要在結(jié)果中把重復(fù)的屬性去掉,而等值連接則不必。
自然連接要求兩個(gè)關(guān)系中相等的分量必須是公共屬性組,而等值連接則不需要。專門的關(guān)系運(yùn)算
外連接
如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTERJOIN)。左外連接
如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFTOUTERJOIN或LEFTJOIN)
右外連接
如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHTOUTERJOIN或RIGHTJOIN)。專門的關(guān)系運(yùn)算關(guān)系R和關(guān)系S
如下所示:專門的關(guān)系運(yùn)算關(guān)系R和關(guān)系S的外連接:專門的關(guān)系運(yùn)算專門的關(guān)系運(yùn)算關(guān)系代數(shù)示例例1:求選修‘C2’課程的學(xué)生號(hào)碼。∏SNO(σCNO=‘C2’(SC))例2:求同時(shí)選修‘C3’和‘C5’課程的學(xué)生號(hào)碼。∏SNO(σCNO=‘C3’(SC))∩
∏SNO(σCNO=‘C5’(SC)
SNOCNOGRADE96004C39596004C57096005C28196005C395SC專門的關(guān)系運(yùn)算例3:求至少選修一門學(xué)時(shí)數(shù)為90的課程的學(xué)生姓名?!荢NAME(σCT=90(C)∞∏SNO,CNO(SC)∞∏SNO,SNAME(S))SNOSNAMESDEPTSAGE96001丁一計(jì)算機(jī)1996002王二計(jì)算機(jī)2096003張三數(shù)學(xué)2196004李四信息1996005劉五數(shù)學(xué)2096006趙六計(jì)算機(jī)22CNOCNAMECTC1高等代數(shù)144C2程序設(shè)計(jì)100C3微機(jī)原理44C4數(shù)據(jù)結(jié)構(gòu)64C5編譯原理90C6操作系統(tǒng)32SNOCNOGRADE96004C39596004C57096005C28196005C395專門的關(guān)系運(yùn)算例4:求選修數(shù)據(jù)結(jié)構(gòu)或操作系統(tǒng)學(xué)生的學(xué)號(hào)和姓名。
∏SNO,SNAME(σSNAME=‘?dāng)?shù)據(jù)結(jié)構(gòu)’VSNAME=‘操作系統(tǒng)’(C)∞∏SNO,CNO(SC)∞S)SNOSNAMESDEPTSAGE96001丁一計(jì)算機(jī)1996002王二計(jì)算機(jī)2096003張三數(shù)學(xué)2196004李四信息1996005劉五數(shù)學(xué)2096006趙六計(jì)算機(jī)22CNOCNAMECTC1高等代數(shù)144C2程序設(shè)計(jì)100C3微機(jī)原理44C4數(shù)據(jù)結(jié)構(gòu)64C5編譯原理90C6操作系統(tǒng)32SNOCNOGRADE96004C39596004C57096005C28196005C395專門的關(guān)系運(yùn)算∏CNO(C)-∏CNO(σSNAME=‘王林’(S)∞SC))例5求‘王林’同學(xué)不學(xué)的課程的課程號(hào)。例6將新課程元組(‘C9’,‘物理’,144)插入到課程關(guān)系C中。C∪{(‘C9’,‘物理’,144)}專門的關(guān)系運(yùn)算例7:將學(xué)號(hào)96004,選修課程號(hào)為‘C5’的成績(jī)改為85分。分解執(zhí)行為三步:
第一步:取出元組,并命名為V
V=σSNO=‘96004’∧CNO=‘C5’(SC)
第二步:刪除這個(gè)元組
SC-V
第三步:插入新元組
SC∪{(‘96004’,‘C5’,85)}SNOCNOGRADE96004C39596004C57096005C28196005C395專門的關(guān)系運(yùn)算④除(Division)一般定義為:設(shè)關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域。除運(yùn)算記為R÷S:專門的關(guān)系運(yùn)算
象集給定一個(gè)關(guān)系R(X,Z),其中X,Z為屬性組。定義當(dāng)t[X]=x時(shí),x在R中的象集為:
Zx={t[Z]|t∈R,t[X]=x}
表示R中屬性組X上值為x的諸元組在Z上分量的集合。專門的關(guān)系運(yùn)算A={a1,a2,a3}a1在R中的象集
Ba1={B1,B2,B3},a2在R中的象集
Ba2={B2,B3},a3在R中的象集
Ba3={B1,B3}例
已知R(A,B),求Ba象集ABa1B1a1B2a1B3a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職云計(jì)算技術(shù)與應(yīng)用(云平臺(tái)搭建)試題及答案
- 2025年中職生物醫(yī)學(xué)工程(醫(yī)療設(shè)備)模擬試題
- 2025年中職園藝植物栽培(栽培管理)試題及答案
- 2025年中職運(yùn)動(dòng)訓(xùn)練(網(wǎng)球?qū)m?xiàng)訓(xùn)練)試題及答案
- 2025年高職汽車檢測(cè)與維修技術(shù)(電氣系統(tǒng)維修)試題及答案
- 2025年度安全生產(chǎn)工作述職報(bào)告
- 深度解析(2026)GBT 18400.7-2010加工中心檢驗(yàn)條件 第7部分:精加工試件精度檢驗(yàn)
- 深度解析(2026)《GBT 17980.143-2004農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(二) 第143部分葡萄生長(zhǎng)調(diào)節(jié)劑試驗(yàn)》
- 深度解析(2026)《GBT 17980.33-2000農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(一) 殺菌劑防治辣椒炭疽病》
- 深度解析(2026)《GBT 17680.11-2025核電廠應(yīng)急準(zhǔn)備與響應(yīng)準(zhǔn)則 第11部分:應(yīng)急響應(yīng)時(shí)的場(chǎng)外放射評(píng)價(jià)》
- 五彩斑斕的世界
- 中醫(yī)院物業(yè)管理服務(wù)項(xiàng)目招標(biāo)文件
- 《建筑材料介紹》課件
- 外墻水包砂施工合同(7篇)
- 奔馳C200用戶使用手冊(cè)
- 電子產(chǎn)品整機(jī)裝配工藝
- 湖南省綜合評(píng)標(biāo)專家培訓(xùn)題-湖南綜合評(píng)標(biāo)專家?guī)煸诰€培訓(xùn)評(píng)標(biāo)方法判斷題
- GB/T 25848-2010耐酸陶瓷球拱
- GA 923-2011公安特警專用車輛外觀制式涂裝規(guī)范
- 第十六章 教學(xué)交往與課堂管理
- DB32T 4064-2021 江蘇省城鎮(zhèn)燃?xì)獍踩珯z查標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論