版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、1,關 系 數(shù) 據(jù) 庫,人民銀行鄭州培訓學院 信息部 潘漢杰 2005.10.22,2,關系數(shù)據(jù)庫,關系數(shù)據(jù)庫應用數(shù)學方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。最早將這類方法用于數(shù)據(jù)處理的是1962年CODASYL發(fā)表的“信息代數(shù)”,之后在1968年David Child在7090機器上實現(xiàn)的集合論數(shù)據(jù)結(jié)構(gòu),但系統(tǒng)地、嚴格地提出關系模型的是美國IBM公司的E.F.Codd。 關系模型概述 關系數(shù)據(jù)庫系統(tǒng)是支持關系模型的數(shù)據(jù)庫系統(tǒng)。 關系模型由關系數(shù)據(jù)結(jié)構(gòu)、關系操作集合和關系完整性約束三部分組成。,3,關系數(shù)據(jù)庫,單一的數(shù)據(jù)結(jié)構(gòu) 關系 在關系模型中,現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關系來表示。在用戶看來,
2、關系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。 關系操作 關系模型中常用的關系操作包括:選擇(Select)、投影(Project)、連接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查詢操作和插入(Insert)、刪除(Delete)、修改(Update)操作兩大部分。 關系操作的特點是集合操作方式,即操作的對象和結(jié)果都是集合。這種操作方式也稱為一次一集合(set-at-a-time)的方式。相應地,非關系數(shù)據(jù)模型的數(shù)據(jù)操作方式則為一次一記錄(record-at-a -time)的方式。,4,關系數(shù)據(jù)庫,目前在關系數(shù)據(jù)庫中完成這些操作
3、基本上都是用SQL(Structure Query Language,結(jié)構(gòu)化查詢語言)語言完成的。 SQL不僅具有豐富的查詢功能,而且具有數(shù)據(jù)定義和數(shù)據(jù)控制功能,是集查詢、DDL、DML和DCL于一體的關系數(shù)據(jù)語言。它充分體現(xiàn)了關系數(shù)據(jù)語言的特點和優(yōu)點,是關系數(shù)據(jù)庫的標準語言。,5,關系數(shù)據(jù)庫,關系的三類完整性約束 實體完整性 參照完整性 用戶定義的完整性 其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,由關系數(shù)據(jù)庫系統(tǒng)自動支持。 用戶定義的完整性是應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的主義約束。,6,關系數(shù)據(jù)庫,關系數(shù)據(jù)結(jié)構(gòu)及形式化定義 在關系模型中,無論是實體還是實體
4、之間的聯(lián)系均由單一的結(jié)構(gòu)類型即關系(表)來表示的。關系模型是建立在集合代數(shù)的基礎上的,下面從集合論角度給出關系數(shù)據(jù)結(jié)構(gòu)的形式化定義。 關系 (1)域(Domain) 定義1:域是一組具有相同數(shù)據(jù)類型的值的集合。,7,關系數(shù)據(jù)庫,(2)笛卡爾積(Cartesian Product) 定義2:給定一組域D1,D2, ,Dn,這些域中可以有相同的。 D1,D2, ,Dn的笛卡爾積為: D1 D2 Dn = (d1,d2, ,dn) | di Di, i=1,2, , n 其中每一個元素(d1,d2, ,dn) 叫作一個n元組或簡稱元組。 元素中的每一個值di叫作一個分量。 若Di(i=1,2, ,
5、n)為有限集,其基數(shù)為mi (i=1,2, , n), 則 D1 D2 Dn 的基數(shù)M為: 笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。,8,關系數(shù)據(jù)庫,例1:給出三個域: D1=導師集合SUPERVISOR=張清玫,劉逸 D2=專業(yè)集合SPECIALITY=計算機,信息 D3=研究生集合POSTGRADUATE=李勇,劉晨,王敏 則D1,D2,D3的笛卡爾積為: D1 D2 D3=(張清玫,計算機,李勇),(張清玫,計算機,劉晨), (張清玫,計算機,王敏), (張清玫,信息,李勇), (張清玫,信息,劉晨), (張清玫,信息,王敏), (劉逸,計算機,李勇),
6、(劉逸,計算機,劉晨), (劉逸,計算機,王敏), (劉逸,信息,李勇), (劉逸,信息,劉晨), (劉逸,信息,王敏) ,9,關系數(shù)據(jù)庫,其中: (張清玫,計算機,李勇),(張清玫,計算機,劉晨)等都 是元組。張清玫,計算機,李勇,劉晨等都是分量。 該笛卡爾積的基數(shù)為:2 2 3=12 也就是說, D1 D2 D3一共有 2 2 3=12個元組。 這12個元組可列成一張二維表,如表1所示:,10,表1,11,關系數(shù)據(jù)庫,(3)關系(Relation) 定義3: D1 D2 Dn 的子集叫作在域D1,D2,Dn上的關系,表示為:R( D1,D2,Dn ) 這里R表示關系的名字,n是關系的目或度
7、。 “基數(shù)”表示二維表的行數(shù),“目或度”表示二維表的列數(shù)。 關系是笛卡爾積的有限子集,所以關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。由于域可以相同,為了加以區(qū)分,必須對每列起一個名字,稱為屬性。n目關系必有n個屬性。,12,關系數(shù)據(jù)庫,若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼。 若一個關系有多個候選碼,則選定其中一個為主碼(Primary key)。主碼的諸屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非碼屬性。在最簡單的情況下,候選碼只包含一個屬性。在最極端的情況下,關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼。 例如在表1的笛卡爾積中取
8、出一個子集來構(gòu)造一個關系。由于一個研究生只師從于一個導師,學習某一個專業(yè),所以笛卡爾積中的許多元組是無實際意義的,從中取出有實際意義的元組來構(gòu)造關系。該關系的名字為SAP,屬性名取域名, 即:SUPERVISOR,SPECIALITY,POSTGRADUATE,,13,則這個關系可表示為: SAP( SUPERVISOR , SPECIALITY , POSTGRADUATE ) 假設導師與專業(yè)是一對一的,即一個導師只有一個專業(yè);導師與研究生是一對多的,即一個導師可以帶多名研究生,而一名研究生只有一個導師。這樣SAP關系可以包含三個元組,如表2示:,假設研究生不會重名,則POSTGRADUAT
9、E屬性的每個值都唯一地標識了一個元素,因此可以作為SAP關系的主碼。,14,關系數(shù)據(jù)庫,關系可以有三種類型:基本關系(通常稱為基本表或基表) 、查詢表和視圖?;颈硎菍嶋H存在的表,它是實際存儲數(shù)據(jù)的邏輯表示。查詢表是查詢結(jié)果對應的表。視圖是由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數(shù)據(jù)。 按照定義2,關系可以是一個無限集合。由于笛卡爾積不滿足交換律,所以按照數(shù)學定義,( d1,d2, ,dn ) ( d2, d1, ,dn )。當關系作為關系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)時,需要給予如下的限定和擴充: (1)無限關系在數(shù)據(jù)庫系統(tǒng)中是無意義的。因此,限定關系數(shù)據(jù)模型中的關系必須是有限集合。,15
10、,(2)通過為關系的每個列附加一個屬性名的方法取消關系元組的有序性,即: ( d1,d2, ,dn ) = ( d2, d1, ,dn ) 因此基本關系具有以下六條性質(zhì): 列是同質(zhì)的,即每一列中的分量是同一類型的數(shù)據(jù),來自同一個域。 不同的列可出自同一個域,稱其中的每一列為一個屬性,不同的屬性要給予不同的屬性名。 列的順序無所謂,即列的次序可以任意交換。 任意兩個元組不能完全相同。 行的順序無所謂,即行的次序可以任意交換。 分量必須取原子值,即每一個分量都必須是不可分的數(shù)據(jù)項。,16,關系數(shù)據(jù)庫,在許多實際關系數(shù)據(jù)庫產(chǎn)品中,基本表并不完全具有這六條性質(zhì),如:Oracle等,允許關系表中存在兩個
11、完全相同的元組,除非用戶特別定義了相應的約束條件。 關系模型要求關系必須是規(guī)范化的,即要求關系模式必須滿足一定的規(guī)范條件。這些規(guī)范條件中最基本的一條就是,關系的每一個分量必須是一個不可分的數(shù)據(jù)項。規(guī)范化的關系簡稱為范式(Normal Form , NF)。,非規(guī)范化關系,張三,計算機,李四,王五,17,關系數(shù)據(jù)庫,關系模式 在數(shù)據(jù)庫中要區(qū)分型和值。關系模式是型,關系是值。關系模式是對關系的描述。 關系實質(zhì)上是一張二維表,表的每一行為一個元組,每一列為一個屬性。一個元組就是該關系所涉及的屬性集的笛卡爾積的一個元素。關系是元組的集合,因此關系模式必須指出這個元組集合的結(jié)構(gòu),即它由哪些屬性構(gòu)成,這些
12、屬性來自哪些域,以及屬性與域之間的映象關系。 現(xiàn)實世界隨著時間在不斷變化,因而在不同的時刻,關系模式的關系也會有所變化。但是,現(xiàn)實世界的許多已有事實限定了關系模式所有可能的關系必須滿足一定的完整性約束條件。這些約束或者通過對屬性取值范圍的限定,或者通過屬性值間的相互關連反映出來。關系模式應當刻劃出這些完整性約束條件。,18,關系數(shù)據(jù)庫,定義4:關系的描述稱為關系模式,它可以形式化地表示為: R(U,D,dom,F(xiàn)) 其中 R 為關系名,U為組成該關系的屬性集合,D為屬性組U中屬性所來自的域 dom 為屬性向域的映象集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關系集合。 關系模式通常記為: R(U) 或 R(A1
13、,A2,An) R為關系名, A1,A2,An為屬性名。而域名及屬性向域的映象常常直接說明為屬性的類型、長度。 關系是關系模式在某一時刻的狀態(tài)或內(nèi)容。關系模式是靜態(tài)的、穩(wěn)定的,而關系是動態(tài)的、隨時間不斷變化的,因為關系操作在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。,19,關系數(shù)據(jù)庫,關系數(shù)據(jù)庫 在關系模型中,實體以及實體間的聯(lián)系都是用關系來表示的。在一個給定的應用領域中,所有實體及實體之間聯(lián)系的關系的集合構(gòu)成一個關系數(shù)據(jù)庫。 關系數(shù)據(jù)庫也有型和值之分。關系數(shù)據(jù)庫的型也稱為關系數(shù)據(jù)庫模式,是對關系數(shù)據(jù)庫的描述,它包括若干域的定義以及在這些域上定義的若干關系模式。關系數(shù)據(jù)庫的值是這些關系模式在某一時刻對應的關
14、系的集合,通常就稱為關系數(shù)據(jù)庫。,20,關系數(shù)據(jù)庫,關系的完整性 關系模型的完性規(guī)則是對關系的某種約束條件。關系模型中有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整約束條件,被稱作是關系的兩個不變性,由關系系統(tǒng)自動支持。 實體完整性(Intity Integrity) 規(guī)則1 實體完整性 若屬性A是基本關系R的主屬性,則屬性A不能取空值。 實體完整性規(guī)則規(guī)定基本關系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。,21,關系數(shù)據(jù)庫,對實體完整規(guī)則的說明: 實體完整性規(guī)則是針對基本關系而言的。 現(xiàn)實世界中的實體是可區(qū)分的,即它
15、們具有某種唯一性標識。 相應地,關系模型中以主碼作為唯一性標識。 主碼中的屬性即主屬性不能取空值。(空值就是“不知道”或“無意義”) 參照完整性 在關系模型中實體及實體間的聯(lián)系都是用關系來描述的。這樣就自然存在著關系與關系間的引用。,22,關系數(shù)據(jù)庫,定義5:設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼(Foreign key),并稱基本關系R為參照關系(Referencing Relation),基本關系S為被參照關系( Referenced Relation )或目標關系。關系R和S不一定是不同的關系。 目標關系S的主碼K
16、s和參照關系的外碼F必須定義在同一個域上。 規(guī)則2:參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為: a)或者取空值(F的每個屬性值均為空值); b)或者等于S中某個元組的主碼值。,23,關系數(shù)據(jù)庫,參照完整性規(guī)則中,R與S可以是同一個關系。 用戶定義的完整性 用戶定義的完整性就是針對某一具體關系數(shù)據(jù)庫 的約束條件。 關系代數(shù) 關系代數(shù)是一種抽象的查詢語言,是關系數(shù)據(jù)操縱語言的一種傳統(tǒng)數(shù)據(jù)操縱語言的一種傳統(tǒng)表達方式,它是用對關系的運算來表達查詢的。 關系代數(shù)的運算對象是關系,運算結(jié)果
17、亦為關系。,24,關系數(shù)據(jù)庫,專門的關系運算 專門的關系運算包括選擇、投影、連接、除等。為了敘述上的方便,先引入幾個記號。 設關系模式為 R(A1,A2,An)。它的一個關系設為R, tR 表示t是R的一個元組。tAi則表示元組t中相應屬性Ai的一個分量。 若A=Ai1,Ai2, ,Aik,其中Ai1,Ai2, ,Aik 是A1,A2,An中的一部分,則A稱為屬性列或域列。 R為n目關系,S為m目關系。 trR, tsS, 稱為元組的連接。它是一個 n+m 列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。 給定一個關系R(X,Z) , X和Z為屬性組。 定義,當tX=x時
18、,x在R中的象集(Images Set)為: Zx = tZ tR , tX=x 它表示R中屬性組X上值為x的諸元組在Z上分量的集合。,25,關系數(shù)據(jù)庫,幾個常用關系運算的定義: 選擇(Selection) 它是在關系R中選擇滿足條件的諸元組,記作: f(R) = t|tRF(t)=真 其中,F(xiàn)表示選擇條件,它是一個邏輯表達式,取邏輯值“真” 或 “假”。 例:設有一個學生-課程數(shù)據(jù)庫,包括學生關系Student、課程關系Course和選修關系SC,如表3、表4、表5所示:,26,表3 Student,表4 Course,27,表5 SC,例1:查詢信息系(IS系)全體學生 Sdept =IS
19、(Student) 或 5 =IS(Student) 其中下標“5”為Sdept的屬性號。結(jié)果如表6所示。,28,表6,例2:查詢年齡小于20歲的學生 Sage 20(Student) 或 4 20(Student) 結(jié)果如表7所示。,表7,29,關系數(shù)據(jù)庫, 投影(Projection) 關系R上的投影是從R中選擇出若干屬性組成新的關系。記作: A(R)= tA|tR 其中A為R中的屬性列。 投影操作是從列的角度進行運算。 例3:查詢學生的姓名和所在系,即求Student關系在學生姓名和所在系兩個屬性上的投影。 Sname,sdept(Student) 或 2 , 5(Student) 結(jié)果
20、如表8所示,30,表8,例4 查詢學生關系Student中都有哪些系,即查詢關系 Student在系屬性上的投影。 sdept(Student) 結(jié)果如表9所示。,表9,Student關系原來有四個元組,而投 影結(jié)果取消了重復的IS元組,因此 只有三個元組。,31,關系數(shù)據(jù)庫, 連接(Join) 連接也稱為(theta)連接。它是從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組。記作:,其中A和B分別為R和S上度數(shù)相等且可比的屬性組。 是比較運算符。連接運算從R和S的廣義笛卡爾積RS中選?。≧關系)在A屬性組上的值與(S關系) 在B屬性組上值滿足比較關系的元組。,32,關系數(shù)據(jù)庫,連接運算中
21、有兩種最為重要也最為常用的連接,一種是等值連接,另一種是自然連接。 為“=”的連接運算稱為等值連接。它是從關系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組,即等值連接為:,33,關系數(shù)據(jù)庫,自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復的屬性列去掉。即若R和S具有相同的屬性組B,則自然連接可記作:,一般的連接操作是從行的角度進行運算。但自然連 接還需要取消重復列,所以是同時從行和列的角度進行 運算。,34,例5 設表10(a)和(b)分別為關系R和關系S, 表10(c)為 的結(jié)果。 表10(d)為等值連接 的結(jié)果。 表10(e)為自然連接 的結(jié)果。,RS CE,R S R.B=S.B,R S,表10 連接運算舉例,35,(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一建《礦業(yè)工程實務》考試題庫考前沖刺試卷及參考答案解析十
- 南平2025年福建南平浦城縣中小學幼兒園教師招聘59人筆試歷年參考題庫附帶答案詳解
- 南充2025下半年四川南充南部縣中醫(yī)醫(yī)院考調(diào)3人筆試歷年參考題庫附帶答案詳解
- 南京2025年江蘇南京大學物理學院專用先進技術準聘長聘教師崗位招聘筆試歷年參考題庫附帶答案詳解
- 內(nèi)江2025年四川內(nèi)江大學生鄉(xiāng)村醫(yī)生專項招聘35人筆試歷年參考題庫附帶答案詳解
- 河道整治及疏浚工程重點難點分析及解決方案關鍵施工技術工藝水平
- 豎井馬頭門施工安全技術保證措施
- 河道開挖及填筑方案
- 全員安全教育培訓規(guī)定(3篇)
- 2025年勞動關系協(xié)調(diào)員考試與答案解析三級試題附答案解析
- 相信我支持我作文3篇
- (完整版)韓國商法
- 《既有工業(yè)區(qū)改造環(huán)境提升技術導則》
- 湖北省荊州市八縣市2023-2024學年高二上學期期末考試物理試卷
- 2024年度初會《經(jīng)濟法基礎》高頻真題匯編(含答案)
- 課例研究報告
- 五年級上冊道德與法治期末測試卷推薦
- 重點傳染病診斷標準培訓診斷標準
- 蘭渝鐵路指導性施工組織設計
- CJJ82-2019-園林綠化工程施工及驗收規(guī)范
- 小學三年級閱讀練習題《鴨兒餃子鋪》原文及答案
評論
0/150
提交評論