版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本章要求:本章內(nèi)容:1、掌握關(guān)系、關(guān)系模式、關(guān)系數(shù)據(jù)庫等基本概念2、掌握關(guān)系的三類完整性的含義3、掌握關(guān)系代數(shù)運算§1關(guān)系模型的基本概念§2RDBS的數(shù)據(jù)操縱語言:關(guān)系代數(shù)§3RDBS的數(shù)據(jù)操縱語言:關(guān)系演算語言2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)1層次、網(wǎng)狀數(shù)據(jù)庫是面向?qū)I(yè)人員的,使用很不方便。程序員必須經(jīng)過良好的培訓(xùn),對所使用的系統(tǒng)有深入的了解才能用好系統(tǒng)。關(guān)系數(shù)據(jù)庫就是要解決這一問題,使它成為面向用戶的系統(tǒng)。關(guān)系數(shù)據(jù)庫是應(yīng)用數(shù)學(xué)方法來處理數(shù)據(jù)的。它具有結(jié)構(gòu)簡單、理論基礎(chǔ)堅實、數(shù)據(jù)獨立性高以及提供非過程性語言等優(yōu)點?!?關(guān)系模型的基本概念2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)2一、關(guān)系的數(shù)學(xué)定義
1、域(Domain):值的集合。它們具有相同的數(shù)據(jù)類型,語義上通常指某一對象的取值范圍。
例如:全體整數(shù),
0到100之間的整數(shù),長度不超過10的字符串集合2、笛卡爾積(CartesianProduct):設(shè)D1、D2、…、Dn是n個域,則它們的笛卡爾積為D1D2…Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}
其中每一個元素稱為一個n元組(n-tuple),簡稱元組;
元組中的每個值di稱為一個分量(component).2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)3笛卡爾積可以寫成一個二維表例如:設(shè)D1={張三,李四},
D2={數(shù)學(xué),語文},
D3={優(yōu),良}則D1×D2×D3可用二維表表示為:張三數(shù)學(xué)優(yōu)張三數(shù)學(xué)良張三語文優(yōu)張三語文良李四數(shù)學(xué)優(yōu)李四數(shù)學(xué)良李四語文優(yōu)李四語文良3、關(guān)系(Relation)笛卡爾積D1D2…Dn的子集合,記作
R(D1,D2,…,Dn)關(guān)系名n為關(guān)系的目或度2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)44、說明
關(guān)系是一個二維表。
每行對應(yīng)一個元組。
每列可起一個名字,稱為屬性。屬性的取值范圍為一個域,元組中的一個屬性值是一個分量。5、關(guān)系的性質(zhì)
列是同質(zhì)的,即每列中的數(shù)據(jù)必須來自同一個域
每一列必須是不可再分的數(shù)據(jù)項(不允許表中套表,即滿足第一范式)
不能有相同的行
行、列次序無關(guān)2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)5二、關(guān)系模型三部分:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系的完整性(一)數(shù)據(jù)結(jié)構(gòu)
1、單一的數(shù)據(jù)結(jié)構(gòu):關(guān)系(二維表)
不論是實體還是實體間的聯(lián)系都用關(guān)系表示。實體值關(guān)系的元組,在關(guān)系數(shù)據(jù)庫中通常稱為記錄屬性值元組的分量,在關(guān)系數(shù)據(jù)庫中通常稱為字段關(guān)鍵字(碼):唯一標(biāo)識一個元組的屬性組關(guān)鍵字可以有多個,統(tǒng)稱候選關(guān)鍵字。在使用時,通常選定一個作為主關(guān)鍵字。主關(guān)鍵字的諸屬性稱為主屬性,其它為非主屬性。2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)6關(guān)系數(shù)據(jù)庫模式:對關(guān)系數(shù)據(jù)庫的描述,包括域的定義及在域上定義的所有關(guān)系模式。關(guān)系數(shù)據(jù)庫:所有實體及實體間聯(lián)系的關(guān)系的集合。是某時刻所有關(guān)系模式對應(yīng)的關(guān)系的集合。2、關(guān)系模式:關(guān)系的描述。包括關(guān)系名、諸屬性名、屬性向域的映象、屬性間的依賴。關(guān)系的型一個元組為關(guān)系的一個值表示:R(U,D,dom,F(xiàn))屬性的類型、長度等值型2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)73、關(guān)系的三種類型基本關(guān)系:客觀存在的基本表查詢表:由基本表按一定條件檢索得到的結(jié)果視圖(View):從一個或多個基本關(guān)系上導(dǎo)出的關(guān)系。它不對應(yīng)實際的存儲數(shù)據(jù),是一個虛關(guān)系,然而可永久存在。相當(dāng)于關(guān)系模型的外模式。
由于二維表的存儲策略非常簡單,關(guān)于數(shù)據(jù)庫的物理存儲完全由DBMS自動完成。因此,在關(guān)系模型中不需要與內(nèi)模式相應(yīng)的概念。關(guān)系簡單嗎?2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)8(二)關(guān)系操作
1、種類:選擇、投影、連接、除、并、交、差增加、刪除、修改查詢操作維護操作一次一集合(關(guān)系型)一次一記錄(非關(guān)系型)非過程化語言:用戶只需告訴做什么(What)不需告訴怎么做(How)數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制語言集成在一起DDLDMLDCL:權(quán)限控制、完整性控制等2、特點:
集合操作,一次操作可存取多個元組2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)9(三)關(guān)系模型的三類完整性
1、實體完整性(EntityIntegrity)基本關(guān)系的所有主屬性不能取空值原因:基本關(guān)系實體集實體必可區(qū)分(標(biāo)識符)主關(guān)鍵字是唯一性標(biāo)識,故不能空2、參照完整性(ReferentialIntegrity),也叫引用完整性
若基本關(guān)系R含有與另一個基本關(guān)系S的主關(guān)鍵字相對應(yīng)的屬性組F(F稱為R的外鍵或外部碼),則R中每個元組在F上的值或為空值,或等于S中某個元組的主關(guān)鍵字值。2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)10例:職工關(guān)系EMP(ENO,ENAME,DNO)部門關(guān)系DEPT(DNO,DNAME)DEPT的主鍵EMP的外鍵,只能取空值或DEPT中某關(guān)鍵字的值又如:學(xué)生關(guān)系(SNO,SNAME,AGE,SEX)課程關(guān)系(CNO,CNAME)選課關(guān)系(SNO,CNO,G)3、用戶定義的完整性用戶定義的某一屬性值必須滿足的語義要求。一經(jīng)定義,DBMS會自動檢查,從而不必在應(yīng)用程序中作檢查。2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)11
3、差(Difference):RS={t|t∈R∧t∈S}
一、傳統(tǒng)的集合運算
1、并(Union):RS={t|t∈R∨t∈S}
2、交(Intersection):RS={t|t∈R∧t∈S}
§2RDBS的數(shù)據(jù)操縱語言:關(guān)系代數(shù)
關(guān)系代數(shù)的運算對象是關(guān)系,運算結(jié)果也為關(guān)系。其運算按運算符的不同可分為兩類。4、笛卡爾積(廣義):RS={trts|tr∈
R∧ts∈
S}2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)12二、專門的關(guān)系運算
1、選擇(Selection),又稱限制(Restriction)(R):F在關(guān)系R中選出滿足條件F的諸元組形成一個新關(guān)系。條件表達式2、投影(Projection)(R)A:在R中選出若干屬性列組成一個新關(guān)系。屬性組投影后若有重復(fù)行,則自動保留一個從行的角度的運算從列的角度的運算2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)13當(dāng)為等號且A、B兩屬性相同時,稱為自然連接,記作3、連接(Join)RSAB:從兩個關(guān)系的笛卡爾積中選取屬性間滿足條件AB的元組。R中屬性S中屬性比較運算符說明:RSAB=(RS)ABRS自然連接將去掉重復(fù)屬性連接是同時處理多個關(guān)系的重要運算若僅有為等號的條件,稱為等值連接2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)14?4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分組,若某一組中屬性組Y的值包含S在Y上投影的全部元組,則該X的值作為商關(guān)系的一個元組屬性組例:求至少選修C1、C3課程的學(xué)生號碼設(shè)一臨時關(guān)系K:C#C1C3關(guān)系代數(shù)表達式(SC)K=S#,C#{S1,…}S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3ASC:按S1分組2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)15{S1,…}S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分組,若某一組中屬性組Y的值包含S在Y上投影的全部元組,則該X的值作為商關(guān)系的一個元組屬性組例:求至少選修C1、C3課程的學(xué)生號碼設(shè)一臨時關(guān)系K:C#C1C3關(guān)系代數(shù)表達式(SC)K=S#,C#S#C#GSC:按S2分組2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)16S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A{S1,…}4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分組,若某一組中屬性組Y的值包含S在Y上投影的全部元組,則該X的值作為商關(guān)系的一個元組屬性組例:求至少選修C1、C3課程的學(xué)生號碼設(shè)一臨時關(guān)系K:C#C1C3關(guān)系代數(shù)表達式(SC)K=S#,C#S#C#GSC:按S3分組2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)17{S1,…}4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分組,若某一組中屬性組Y的值包含S在Y上投影的全部元組,則該X的值作為商關(guān)系的一個元組屬性組例:求至少選修C1、C3課程的學(xué)生號碼設(shè)一臨時關(guān)系K:C#C1C3關(guān)系代數(shù)表達式(SC)K=S#,C#S#C#GSC:按S4分組{S1,S4}S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)18三、關(guān)系代數(shù)運算舉例S:
S#SNSDSAS1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22C:
C#CNPC#C1GC2HC1C3IC2C4JC2C5KC4SC:S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C2BS4C5DS5C2CS5C3BS5C5BS6C1AS6C5A求至少選修這樣一門課的學(xué)生姓名,這門課的直接先行課是C2先找出先行課為C2的課程號:
(C),記為PCPC#=‘C2’找選修該類課程的學(xué)生學(xué)號:記為PCSPC(SC)S#,C#找出學(xué)生姓名:PCS(S)S#,SN()SN2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)19最終的關(guān)系代數(shù)表達式:
()SN
(S)S#,SN
(C)PC#=‘C2’(SC)S#,C#PCPCS說明:用關(guān)系代數(shù)表示查詢時,若查詢涉及多個關(guān)系,需用連接操作實現(xiàn);若查詢諸如“選修了全部課程”的學(xué)生、“使用了全部零件”的工程等,需用除法操作實現(xiàn)。2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)20一、元組關(guān)系演算
1、元組關(guān)系演算表達式:關(guān)系演算:基于謂詞演算面向元組:謂詞變量的獲得值是關(guān)系中的元組(元組變量)面向域:謂詞變量的獲得值是關(guān)系中某屬性的值(域變量)按謂詞變量的特征劃分{t|(t)}公式t為元組變量運算的結(jié)果還是一個關(guān)系§3RDBS的數(shù)據(jù)操縱語言:關(guān)系演算語言2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)212、原子公式R(t):表示t是關(guān)系R中的一個元組t[i]u[j]:表示t的第i個分量和u的第j個分量滿足比較關(guān)系t[i]C或Ct[i]
:含義同上,只不過C為常量3、公式的遞歸定義
(1)每個原子公式是一個公式;
(2)設(shè)1、2是公式,則
1、
12、
12也是公式;
(3)設(shè)是公式,t是元組變量,則(t)、(t)也是公式;
(4)除此之外沒有其它形式的公式。2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)224、關(guān)系代數(shù)運算均可用關(guān)系演算來表示,反之亦然
S:
S#SNSDSA5、用關(guān)系演算來表達查詢例1,求年齡大于或等于20的學(xué)生:S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22S20={t|S(t)t[4]20}例2,求學(xué)生姓名及所在的系:S1={t(2)|(u)(S(u)t[1]=u[2]t[2]=u[3])}S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS222021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)234、關(guān)系代數(shù)運算均可用關(guān)系演算來表示,反之亦然
S:
S#SNSDSA5、用關(guān)系演算來表達查詢例如,求年齡大于或等于20的學(xué)生:S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS226、安全表達式:
不產(chǎn)生無限關(guān)系和無窮驗證的關(guān)系演算表達式。措施;進行安全限制。即規(guī)定一個有限的符號集(通常取關(guān)系的各屬性列中所有值的匯集)S20={t|S(t)t[4]20}2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)24安全演算表達式的充分條件:設(shè)DOM()是適當(dāng)選定的一個有限集合,當(dāng)滿足下述條件時,元組演算表達式{t|(t)}是安全的:(1)如果t使(t)為真,則t的每個分量是DOM()中的元素;
(2)對于(t)中每一個形如(u)(W(u))的子表達式,若u使W(u)為真,則u的每個分量是DOM()中的元素;(3)對于(t)中每一個形如(u)(W(u))的子表達式,若u使W(u)為假,則u的每個分量是DOM()中的元素;
換言之,若u的某一分量不屬于DOM(),則W(u)為真限定自由變量,保證結(jié)果的有限性限定約束變量,保證計算過程的有窮驗證性2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)25二、未實現(xiàn)的元組關(guān)系演算語言——ALPHAE.F.Codd提出,但并未實現(xiàn)。
1、檢索操作(GET)
(1)不設(shè)元組變量例:取出計算機系學(xué)生的學(xué)號:工作空間名表達式限定條件GETW(S.S#):S.SD=‘CS’2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)26二、未實現(xiàn)的元組關(guān)系演算語言——ALPHAE.F.Codd提出,但并未實現(xiàn)。
1、檢索操作(GET)(1)不設(shè)元組變量例:取出計算機系學(xué)生的學(xué)號:相當(dāng)于原子公式t[i]CGETW(1)(S.S#):S.SD=‘CS’(事實上關(guān)系名起到元組變量的作用)相當(dāng)于投影取出一個計算機系學(xué)生的學(xué)號GETW(S.S#):S.SD=‘CS’定額2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)27(2)使用元組變量應(yīng)用場合用較短的名字代替較長的關(guān)系名使用量詞時例查找不選C1課程的學(xué)生姓名RANGESCXGETW(S.SN):X(X.S#S.S#X.C#’C1’)查找選修全部課程的學(xué)生姓名RANGECCXRANGESCSCXGETW(S.SN):CXSCX(SCX.S#=S.S#SCX.C#=CX.C#)變量范圍說明關(guān)系名元組變量2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)282、存儲操作(1)修改:UPDATE
(2)插入:PUT
(3)刪除:DELETE關(guān)鍵字不能修改,只能先刪除、再插入2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)29四、域關(guān)系演算語言——QBEQBE是QueryByExample
的縮寫,1978年在IBM370上實現(xiàn)。
1、特點用戶通過表格形式提出查詢,查詢結(jié)果也通過表格顯示出來用戶容易掌握,易學(xué)易用三、域關(guān)系演算與元組關(guān)系演算類似,只不過這里的變量取值范圍是屬性值,其謂詞變元稱作欲變量,關(guān)系的屬性名可視作欲變量。
關(guān)系代數(shù)、元組關(guān)系演算、域關(guān)系演算的表達能力是等價的。2021/1/17數(shù)據(jù)庫技術(shù)基礎(chǔ)302、使用方法(1)用戶提出使用要求(如鍵入某一命令)(2)機器顯示空白表格(3)用戶輸入關(guān)系名
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年試用服務(wù)協(xié)議模板版B版
- 2024版影視版權(quán)授權(quán)合同:關(guān)于影視作品授權(quán)播放的協(xié)議
- 2024版家庭熱房屋裝修施工協(xié)議范本版B版
- 2023-2024年教師資格之中學(xué)生物學(xué)科知識與教學(xué)能力通關(guān)試題庫(有答案)
- 2023-2024年執(zhí)業(yè)藥師之西藥學(xué)綜合知識與技能通關(guān)考試題庫(帶答案解析)
- 2024民辦幼兒園教職工勞動合同與幼兒園課程建設(shè)3篇
- 2023-2024年心理咨詢師之心理咨詢師基礎(chǔ)知識模擬考試試卷(含解答)
- 2024年綜合布線工程承包合同
- 2024灣沚區(qū)消防救援大隊滅火器采購與消防訓(xùn)練基地建設(shè)合同3篇
- 2025版兼職領(lǐng)隊帶團服務(wù)責(zé)任免除合同3篇
- 2025支部會議記錄范文
- 部隊保密安全課件
- 園林施工技術(shù)創(chuàng)新-洞察分析
- 醫(yī)院窗簾、隔簾采購 投標(biāo)方案(技術(shù)方案)
- 2025屆湖北省高三上學(xué)期12月聯(lián)考語文試題
- 國家開放大學(xué)《Photoshop圖像處理》章節(jié)測試題參考答案
- 期末檢測卷(試題)-2024-2025學(xué)年三年級上冊數(shù)學(xué)人教版
- 江蘇省南京市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 新疆烏魯木齊市(2024年-2025年小學(xué)五年級語文)人教版階段練習(xí)(上學(xué)期)試卷及答案
- 2024年人教版八年級生物上冊期末考試卷(附答案)
- JGJ120-2012建筑基坑支護技術(shù)規(guī)程-20220807013156
評論
0/150
提交評論