教案2關系數(shù)據(jù)庫_第1頁
教案2關系數(shù)據(jù)庫_第2頁
教案2關系數(shù)據(jù)庫_第3頁
教案2關系數(shù)據(jù)庫_第4頁
教案2關系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、山東輕工業(yè)學院教師授課教案課程名稱:數(shù)據(jù)庫原理課程代碼:0310044課程學分:4課程類別:必修授課班級:計本09級授課教師:姜合授課時間2011年9月 5 日 星期三 第 3,4 節(jié)2011年9月 7 日 星期五 第 1,2 節(jié)2011年9月12日 星期三 第 3,4 節(jié)2011年9月14日 星期五 第 1,2 節(jié)授課內容概要1、了解關系數(shù)據(jù)庫理論產生和發(fā)展的過程2、掌握關系模型、關系數(shù)據(jù)結構及其形式化定義、關系的三類完整性約束3、掌握關系代數(shù)及其關系代數(shù)的各種運算目的要求1、了解關系數(shù)據(jù)庫理論產生和發(fā)展的過程2、掌握關系模型、關系數(shù)據(jù)結構及其形式化定義、關系的三類完整性約束3、掌握關系代數(shù)

2、及其關系代數(shù)的各種運算重點1、關系模型2、關系代數(shù)難點關系代數(shù)的除運算作業(yè)布置P74 1,3,5參考書數(shù)據(jù)庫系統(tǒng)教程(第2版)施伯樂 高等教育出版社,2003(復旦大學)數(shù)據(jù)庫系統(tǒng)原理 王能斌 電子工業(yè)出版社,2000(東南大學)數(shù)據(jù)庫系統(tǒng)導論 (美)著 孟小峰 王珊等譯 機械工業(yè)出版社數(shù)據(jù)庫處理 (美)David M. Kroenke 著 施伯樂等譯 電子工業(yè)出版社課 型理論課學時分配復 習 分鐘主要教具多媒體,粉筆講 授 分鐘教學方法啟發(fā)式指 導 分鐘教學手段講授總 結 分鐘備注授 課 內 容備 注第二章 關系數(shù)據(jù)庫系統(tǒng)而嚴格地提出關系模型的是美國IBM公司的1970年提出關系數(shù)據(jù)模型E.

3、F.Codd, “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970之后,提出了關系代數(shù)和關系演算的概念1972年提出了關系的第一、第二、第三范式1974年提出了關系的BC范式關系數(shù)據(jù)庫應用數(shù)學方法來處理數(shù)據(jù)庫中的數(shù)據(jù)80年代后,關系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)關系數(shù)據(jù)庫簡介典型實驗系統(tǒng)System R;University INGRES 典型商用系統(tǒng) ORACLE;SQL Server;SYBASE;INFORMIX;DB2;INGRES2.1 關系模型概述關

4、系數(shù)據(jù)庫系統(tǒng)是支持關系模型的數(shù)據(jù)庫系統(tǒng) 關系模型的組成 關系數(shù)據(jù)結構 關系操作集合 關系完整性約束 2. 關系操作集合1) 常用的關系操作查詢:選擇、投影、連接、除、并、交、差數(shù)據(jù)更新:插入、刪除、修改2) 關系操作的特點集合操作方式,即操作的對象和結果都是集合。 3) 關系數(shù)據(jù)語言的種類 關系代數(shù)語言 用對關系的運算來表達查詢要求,典型代表:ISBL 關系演算語言:用謂詞來表達查詢要求 元組關系演算語言-謂詞變元的基本對象是元組變量,典型代表:APLHA, QUEL域關系演算語言-謂詞變元的基本對象是域變量,典型代表:QBE 具有關系代數(shù)和關系演算雙重特點的語言:SQL4) 關系數(shù)據(jù)語言的特

5、點關系語言是一種高度非過程化的語言存取路徑的選擇由DBMS的優(yōu)化機制來完成用戶不必用循環(huán)結構就可以完成數(shù)據(jù)操作能夠嵌入高級語言中使用關系代數(shù)、元組關系演算和域關系演算三種語言在表達能力上完全等價3. 關系的三類完整性約束實體完整性:通常由關系系統(tǒng)自動支持參照完整性:早期系統(tǒng)不支持,目前大型系統(tǒng)能自動支持用戶定義的完整性:反映應用領域需要遵循的約束條件,體現(xiàn)了具體領域中的語義約束,用戶定義后由系統(tǒng)支持2.2 關系數(shù)據(jù)結構關系模型建立在集合代數(shù)的基礎上關系數(shù)據(jù)結構的基本概念關系關系模式關系數(shù)據(jù)庫 關系 域(Domain):域是一組具有相同數(shù)據(jù)類型的值的集合。例: 整數(shù) 實數(shù) 介于某個取值范圍的整數(shù)

6、 長度指定長度的字符串集合 男 , 女 介于某個取值范圍的日期 2.笛卡爾積例 給出三個域: D1=SUPERVISOR = 張清玫,劉逸 D2=SPECIALITY=計算機專業(yè),信息專業(yè) D3=POSTGRADUATE=李勇,劉晨,王敏2) 元組(Tuple)笛卡爾積中每一個元素(d1,d2,dn)叫作一個n元組(n-tuple)或簡稱元組。 3) 分量(Component)笛卡爾積元素(d1,d2,dn)中的每一個值di叫作一個分量。4) 基數(shù)(Cardinal number)若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為:在上例中,基數(shù):22312

7、,即D1D2D3共有22312個元組 5)笛卡爾積的表示方法笛卡爾積可表示為一個二維表。表中的每行對應一個元組,表中的每列對應一個域。3. 關系(Relation)1) 關系D1D2Dn 的子集 叫作在域D1 ,D2 , ,Dn 上的關系 ,表示為 R (D1 ,D2 , ,Dn ) R: 關系名 n:關系的目或度 (Degree )例 在表2.1 的笛卡爾積中取出有實際意義的元組來構造關系關系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關系名,屬性名假設:導師與專業(yè):1:1,導師與研究生:1:n于是:SAP關系可以包含三個元組 (張清玫,信息專業(yè),李勇),

8、 (張清玫,信息專業(yè),劉晨), (劉逸,信息專業(yè),王敏) 4) 關系的表示 關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。 6) 碼候選碼(Candidate key):若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼.在最簡單的情況下,候選碼只包含一個屬性。全碼(All-key)在最極端的情況下,關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼(All-key)主碼:若一個關系有多個候選碼,則選定其中一個為主碼(Primary key)主碼的諸屬性稱為主屬性(Prime attribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-key att

9、ribute)8) 基本關系的性質 列是同質的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個域 不同的列可出自同一個域 其中的每一列稱為一個屬性, 不同的屬性要給予不同的屬性名 列的順序無所謂,列的次序可以任意交換遵循這一性質的數(shù)據(jù)庫產品(如ORACLE),增加新屬性時,永遠是插至最后一列.但也有許多關系數(shù)據(jù)庫產品沒有遵循這一性質,例如FoxPro仍然區(qū)分了屬性順序 任意兩個元組不能完全相同,由笛卡爾積的性質決定。但許多關系數(shù)據(jù)庫產品沒有遵循這一性質。例如:Oracle,F(xiàn)oxPro等都允許關系表中存在兩個完全相同的元組,除非用戶特別定義了相應的約束條件。3.關系(續(xù))-

10、 8)基本關系的性質(續(xù)) 行的順序無所謂, 行的次序可以任意交換 遵循這一性質的數(shù)據(jù)庫產品( 如ORACLE) , 插入一個元組時永遠插至最后一行,但也有許多關系數(shù)據(jù)庫產品沒有遵循這一性質,例如FoxPro 仍然區(qū)分了元組的順序 分量必須取原子值每一個分量都必須是不可分的數(shù)據(jù)項。是規(guī)范條件中最基本的一條 關系模式1什么是關系模式關系模式(Relation Schema)是型;關系是值;關系模式是對關系的描述元組集合的結構:屬性構成;屬性來自的域;屬性與域之間的映象關系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關系集合2.定義關系模式例:導師和研究生出自同一個域-人,取不同的屬性名,并在模式中

11、定義屬性向域的映象,即說明它們分別出自哪個域: dom(SUPERVISOR-PERSON)= dom(POSTGRADUATE-PERSON)=PERSON 關系數(shù)據(jù)庫1.關系數(shù)據(jù)庫在一個給定的應用領域中,所有實體及實體之間聯(lián)系的關系的集合構成一個關系數(shù)據(jù)庫。2. 關系數(shù)據(jù)庫的型與值關系數(shù)據(jù)庫也有型和值之分關系數(shù)據(jù)庫的型 稱為關系數(shù)據(jù)庫模式,是對關系數(shù)據(jù)庫的描述 若干域的定義 在這些域上定義的若干關系模式 關系數(shù)據(jù)庫的值 是這些關系模式在某一時刻對應的關系的集合,通常簡稱為關系數(shù)據(jù)庫 2.3 關系的完整性關系模型的完整性規(guī)則是對關系的某種約束條件。關系模型中三類完整性約束:實體完整性;參照完

12、整性;用戶定義的完整性實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個不變性,應該由關系系統(tǒng)自動支持。 實體完整性實體完整性規(guī)則(Entity Integrity)若屬性A是基本關系R的主屬性,則屬性A不能取空值例SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設研究生不會重名),則其不能取空值關系模型必須遵守實體完整性規(guī)則的原因(1) 實體完整性規(guī)則是針對基本關系而言的。一個基本表通常對應現(xiàn)實世界的一個實體集或多對多聯(lián)系。(2) 現(xiàn)實世界中的實體和實體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標識

13、。(3) 相應地,關系模型中以主碼作為唯一性標識。(4) 主碼中的屬性即主屬性不能取空值。 空值就是“不知道”或“無意義”的值。 主屬性取空值,就說明存在某個不可標識的實體,即存在不可區(qū)分的實體,這與第(2)點相矛盾,因此這個規(guī)則稱為實體完整性。 注意 實體完整性規(guī)則規(guī)定基本關系的所有 主屬性都不能取空值 例 選修(學號,課程號,成績)“學號、課程號”為主碼,則兩個屬性都不能取空值。. 參照完整性1. 關系間的引用 在關系模型中實體及實體間的聯(lián)系都是用關系來描述的,因此可能存在著關系與關系間的引用。 學生(學號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)例2 學生、課程、學生與課程之間的

14、多對多聯(lián)系 學生(學號,姓名,性別,專業(yè)號,年齡) 課程(課程號,課程名,學分) 選修(學號,課程號,成績)例3 學生實體及其內部的領導聯(lián)系( 一對多) 學生(學號,姓名,性別,專業(yè)號,年齡,班長)2外碼(Foreign Key)設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼, 基本關系R稱 為參照關系 (Referencing Relation ), 基本關系S稱 為被參照關系 (ReferencedRelation ) 或目標關系 (Target Relation )。 3. 參照完整性規(guī)則若屬性(或屬性組)F是基本關系R的

15、外碼它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為: 或者取空值(F的每個屬性值均為空值) 或者等于S中某個元組的主碼值。選修(學號,課程號,成績)“學號”和“課程號”是選修關系中的主屬性,按照實體完整性和參照完整性規(guī)則,它們只能取相應被參照關系中已經(jīng)存在的主碼值 學生(學號,姓名,性別,專業(yè)號,年齡,班長)“班長”屬性值可以取兩類值:1)空值,表示該學生所在班級尚未選出班長,或該學生本人即是班長;2)非空值,這時該值必須是本關系中某個元組的學號值 用戶定義的完整性用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫的約束條件,反映某一具體應用所涉及

16、的數(shù)據(jù)必須滿足的語義要求。關系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應用程序承擔這一功能。小結關系數(shù)據(jù)結構關系的數(shù)據(jù)操作集合查詢;數(shù)據(jù)更新關系的完整性約束2.4 關系代數(shù) 概述:1.關系代數(shù):一種抽象的查詢語言用對關系的運算來表達查詢2關系代數(shù)運算的三個要素運算對象:關系運算結果:關系運算符: 四類集合運算符:將關系看成元組的集合;運算是從關系的“ 水平” 方向即行的角度來進行 專門的關系運算符:不僅涉及行而且涉及列 算術比較符: 輔助專門的關系運算符進行操作 邏輯運算符: 輔助專門的關系運算符進行操作 4關系代數(shù)運算的分類 傳統(tǒng)的集合運算:并、差、交、

17、廣義笛卡爾積 專門的關系運算:選擇、投影、連接、除5表示記號 (1 ) R ,tR ,tAi , 設關系模式為R(A1 ,A2 , ,An) 它的一個關系設為R 。tR 表示t 是R 的一個元組, tAi 則表示元組t 中相應于屬性Ai 的一個分量 (3) tr ts R為n目關系,S為m目關系。tr R,tsS, tr ts稱為元組的連接。它是一個n + m列的元組,前n個分量為R中的一個n元組,后m個分量為S中的一個m元組。 (4)象集Zx 給定一個關系R(X,Z),X和Z為屬性組。當tX=x時,x在R中的象集(Images Set)為: Zx=tZ|t R,tX=x 它表示R中屬性組X上

18、值為x的諸元組在Z上分量的集合。 傳統(tǒng)的集合運算1. 并(Union)R和S具有相同的目n(即兩個關系都有n個屬性);相應的屬性取自同一個域RS 仍為n目關系,由屬于R或屬于S的元組組成 RS = t|t Rt S 2. 差(Difference) R和S具有相同的目n;相應的屬性取自同一個域R - S 仍為n 目關系,由屬于R 而不屬于S 的所有元組組成 R -S = t|tRtS 3. 交(Intersection) R和S具有相同的目n;相應的屬性取自同一個域RS 仍為n 目關系,由既屬于R 又屬于S 的元組組成 RS = t|t Rt S RS = R (R-S ) 4. 廣義笛卡爾積

19、(Extended Cartesian Product):R;n目關系,k1個元組S:m目關系,k2個元組RS 列:(n+m)列的元組的集合元組的前n列是關系R的一個元組;后m列是關系S的一個元組行:k1k2個元組:RS = tr ts |tr R tsS 專門的關系運算選擇(Selection)1) 選擇又稱為限制(Restriction)2) 選擇運算符的含義在關系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真F:選擇條件,是一個邏輯表達式,基本形式為: ( X1Y1 ) ( X2Y2 ):比較運算符(,或)X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來

20、代替;:邏輯運算符(或) :表示任選項:表示上述格式可以重復下去3) 選擇運算是從行的角度進行的運算 4) 舉例設有一個學生-課程數(shù)據(jù)庫,包括學生關系Student、課程關系Course和選修關系SC。 例1 查詢信息系(IS 系)全體學生 Sdept = IS (Student) 或 5 =IS (Student) 結果: 2. 投影(Projection) 1)投影運算符的含義 從R 中選擇出若干屬性列組成新的關系 A(R) = tA | t R A:R 中的屬性列 3) 舉例例3 查詢學生的姓名和所在系即求Student關系上學生姓名和所在系兩個屬性上的投影 Sname,Sdept(St

21、udent)或 2,5(Student)結果:3. 連接(Join) 1)連接也稱為連接2)連接運算的含義從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組 R S = | tr Rts StrAtsB A和B:分別為R和S上度數(shù)相等且可比的屬性組:比較運算符連接運算從R和S的廣義笛卡爾積RS中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系的元組。 連接(續(xù)) 3)兩類常用連接運算等值連接(equijoin) 什么是等值連接:為“”的連接運算稱為等值連接等值連接的含義:從關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為: R S = | tr Rts StrA = tsB 4)一般的連接操作是從行的角度進行運算。 自然連接還需要取消重復列,所以是同時從行和列的角度進行運算。 R S 自然連接 R

溫馨提示

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

評論

0/150

提交評論