數(shù)據(jù)庫技術與應用二共三課件_第1頁
數(shù)據(jù)庫技術與應用二共三課件_第2頁
數(shù)據(jù)庫技術與應用二共三課件_第3頁
數(shù)據(jù)庫技術與應用二共三課件_第4頁
數(shù)據(jù)庫技術與應用二共三課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、關系數(shù)據(jù)模型1.關系模型2.關系運算2022/8/71數(shù)據(jù)庫技術與應用-2數(shù)據(jù)庫管理系統(tǒng)不僅管理數(shù)據(jù)本身,而且管理對數(shù)據(jù)的描述。數(shù)據(jù)庫中的數(shù)據(jù)是有結構的,所謂結構是指通過數(shù)據(jù)模型來反映出事物及其之間的聯(lián)系。2022/8/72數(shù)據(jù)庫技術與應用-2數(shù)據(jù)模型的組成數(shù)據(jù)模型:是一組嚴格定義的概念集合,這些概念精確地描述了系統(tǒng)的數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)完整性約束條件。數(shù)據(jù)模型的三要素:數(shù)據(jù)結構:是數(shù)據(jù)模型最基本的部分,它將確定數(shù)據(jù)庫的邏輯結構,屬于對系統(tǒng)靜態(tài)特性的描述。數(shù)據(jù)操作:提供對數(shù)據(jù)庫的操縱手段,主要有檢索和更新兩大類操作。屬于對系統(tǒng)動態(tài)特性的描述。數(shù)據(jù)的約束條件:是對數(shù)據(jù)庫有效狀態(tài)的約束。202

2、2/8/73數(shù)據(jù)庫技術與應用-2常用的結構數(shù)據(jù)模型 層次模型:層次模型用“樹結構”來表示數(shù)據(jù)之間的聯(lián)系; 網(wǎng)狀模型:網(wǎng)狀模型是用“圖結構”來表示數(shù)據(jù)之間的聯(lián)系; 關系模型:關系模型是用“二維表”來表示數(shù)據(jù)之間的聯(lián)系。2022/8/74數(shù)據(jù)庫技術與應用-2一、層次模型層次模型用一棵“有向樹 ”的數(shù)據(jù)結構來表示各類實體以及實體間的聯(lián)系。在樹中,每個結點表示一個記錄類型,結點間的連線(或邊)表示記錄類型間的關系,每個記錄類型可包含若干個字段,記錄類型描述的是實體,字段描述實體的屬性,各個記錄類型及其字段都必須命名。如果要存取某一記錄型的記錄,可以從根結點起,按照有向樹層次向下查找。層次模型中的幾個術

3、語根結點,雙親結點,兄弟結點,葉結點 1 根結點 2 兄弟結點 3 葉結點 4 兄弟結點 5 葉結點 葉結點2022/8/75數(shù)據(jù)庫技術與應用-2層次模型的特征(1)有且僅有一個結點沒有雙親,該結點就是根結點;(2)根以外的其他結點有且僅有一個雙親結點,這就使得層次數(shù)據(jù)庫系統(tǒng)只能直接處理一對多的實體關系;(3)任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。層次數(shù)據(jù)庫為TS,它具有四個記錄型,分別是:(a).記錄型D(系)是根結點,由字段D#(系編號)、DN(系名)、DL(系地點)組成,它有兩個孩子結點,:R和S; (b).記錄型R

4、(教研室)是D的孩子結點,同時又是T的雙親結點,它由R#(教研室編號)、RN(教研室名)兩個字段組成;(c).記錄型S(學生)由S#(學號)、SN(姓名)、SS(成績)三個字段組成;(d).記錄型T(教師)由T#(職工號)、TN(姓名)、TD(研究方向)三個字段組成。S與T是葉結點,它們沒有子女結點,由D到R,R到T,由D到S均是一對多的關系。對應上述數(shù)據(jù)模型的一個值:該值是D02系(計算機系)記錄值及其所有后代記錄值組成的一棵樹,D02系有3個教研室子記錄值:R01、R02、R03和3個學生記錄值:S63871、S63874、S63876,教研室R01有3個教師記錄值:T2101、T1709

5、0、T3501. 2022/8/76數(shù)據(jù)庫技術與應用-2層次模型中多對多聯(lián)系的表示 采用分解的方法,即將多對多的聯(lián)系分解成一對多的聯(lián)系,使用多個一對多聯(lián)系來表示一個多對多聯(lián)系。分解的方法主要有冗余結點法和虛擬結點法。層次模型的數(shù)據(jù)操作和完整性約束條件1、在進行插入記錄值操作時,如果沒有指明相應的雙親記錄值,則不能插入子女記錄值。2、進行刪除記錄操作時,如果刪除雙新記錄值,則相應的子女結點值也同時被刪除。3、進行修改記錄操作時,應修改所有相應記錄,以保證數(shù)據(jù)的一致性。2022/8/77數(shù)據(jù)庫技術與應用-2層次模型的優(yōu)點: (1)比較簡單,只需很少幾條命令就能操縱數(shù)據(jù)庫,比較容易使用。 (2)結構

6、清晰,結點間聯(lián)系簡單,只要知道每個結點的雙親結點,就可知道整個模型結構。 (3)它提供了良好的數(shù)據(jù)完整性支持。層次模型的缺點主要有:(1)不能直接表示兩個以上的實體型間的復雜的聯(lián)系和實體型間的多對多聯(lián)系,只能通過引入冗余數(shù)據(jù)或創(chuàng)建虛擬結點的方法來解決,易產(chǎn)生不一致性。(2)對數(shù)據(jù)的插入和刪除的操作限制太多。 (3)查詢子女結點必須通過雙親結點。2022/8/78數(shù)據(jù)庫技術與應用-2二、網(wǎng)狀模型網(wǎng)狀模型取消了層次模型的兩個限制,兩個或兩個以上的結點都可以有多個雙親結點,則此時有向樹變成了有向圖,該有向圖描述了網(wǎng)狀模型。網(wǎng)狀模型的特征(1)有一個以上的結點沒有雙親(2)至少有一個結點可以有多于一個

7、雙親。 網(wǎng)狀模型中每個結點表示一個記錄型(實體),每個記錄型可包含若干個字段(實體的屬性),結點間的連線表示記錄類型(實體)間的父子關系。2022/8/79數(shù)據(jù)庫技術與應用-2如:學生和課程間的關系。一個學生可以選修多門課程,一門課程可以由多個學生選修。如右圖所示 網(wǎng)狀模型的數(shù)據(jù)操縱與完整性約束 網(wǎng)狀模型的數(shù)據(jù)操縱主要包括查詢、插入、刪除和修改數(shù)據(jù)。(1).插入數(shù)據(jù)時,允許插入尚未確定雙親結點值的子女結點值,如可增加一名尚未分配到某個教研室的新教師,也可增加一些剛來報到,還未分配宿舍的學生。(2).刪除數(shù)據(jù)時,允許只刪除雙親結點值,如可刪除一個教研室,而該教研室所有教師的信息仍保留在數(shù)據(jù)庫中。

8、 (3).修改數(shù)據(jù)時,可直接表示非樹形結構,而無需像層次模型那樣增加冗余結點,因此,修改操作時只需更新指定記錄即可。它沒有像層次數(shù)據(jù)庫那樣有嚴格的完整性約束條件,只提供一定的完整性約束。2022/8/710數(shù)據(jù)庫技術與應用-2網(wǎng)狀模型的優(yōu)缺點 網(wǎng)狀模型的優(yōu)點主要有:(1)能更為直接地描述客觀世界,可表示實體間的多種復雜聯(lián)系。(2)具有良好的性能和存儲效率。網(wǎng)狀模型的缺點主要有:(1)結構復雜,其DDL語言極其復雜。(2)數(shù)據(jù)獨立性差,由于實體間的聯(lián)系本質上是通過存取路徑表示的,因此應用程序在訪問數(shù)據(jù)時要指定存取路徑。2022/8/711數(shù)據(jù)庫技術與應用-2三、關系模型在計算機數(shù)據(jù)管理的歷史上出

9、現(xiàn)的二次飛躍數(shù)據(jù)庫技術的出現(xiàn)關系數(shù)據(jù)模型的誕生2022/8/712數(shù)據(jù)庫技術與應用-2關系模型的基本概念 關系模型的數(shù)據(jù)結構是一個“二維表框架”組成的集合,每個二維表又可稱為關系,所以關系模型是“關系框架”的集合。關系數(shù)據(jù)模型完整性約束 關系數(shù)據(jù)模型完整性約束主要包括三大類:實體完整性、參照完整性和用戶定義完整性。關系數(shù)據(jù)模型中的查詢、插入、刪除、修改數(shù)據(jù)等常用操作都要滿足這些條件。2022/8/713數(shù)據(jù)庫技術與應用-2關系模型的優(yōu)點主要有: 與非關系模型不同,它有較強的數(shù)學理論根據(jù)。數(shù)據(jù)結構簡單、清晰,用戶易懂易用,不僅用關系描述實體,而且用關系描述實體間的聯(lián)系。關系模型的存取路徑對用戶透

10、明,從而具有更高的數(shù)據(jù)獨立性、更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫建立和開發(fā)的工作。 關系模型的缺點主要有:由于存取路徑對用戶透明,查詢效率往往不如非關系模型,因此,為了提高性能,必須對用戶的查詢表示進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的負擔。2022/8/714數(shù)據(jù)庫技術與應用-21.1 關系模型一、二維表 關系模型的用戶界面非常簡單,從用戶觀點來看,一個關系的邏輯結構就是一張二維表。關系在磁盤上以文件形式存儲,每個字段是表中的一列,每個記錄是表中的一行。這種用二維表的形式來表示實體和實體間聯(lián)系的數(shù)據(jù)模型稱為關系數(shù)據(jù)模型。2022/8/715數(shù)據(jù)庫技術與應用-2二維表(續(xù))2022/

11、8/716數(shù)據(jù)庫技術與應用-2例如,教學數(shù)據(jù)庫中教師與課程的關系模型如圖所示可得出的關系之間的聯(lián)系:教師關系和授課關系有公共的屬性“教師號”課程關系和授課關系有公共的屬性“課程號”在建立關系模型時,只要把的所有的實體及其屬性用關系框架來表示,同時把實體之間的關系也用關系框架來表示,就可以得到一個關系模型。2022/8/717數(shù)據(jù)庫技術與應用-2二、關系術語關系:一個關系就是一張二維表。每個關系有一個關系名。在計算機里,一個關系可以存儲為一個文件。元組:表中的行稱為元組。一行是一個元組,對應存儲文件中的一個記錄值。屬性:表中的列稱為屬性。屬性具有型和值兩層含義:屬性的型指屬性名;屬性值指屬性具體

12、的取值。每一列有一個屬性名。屬性值相當于記錄中的字段值。 同一關系中的屬性名不能相同。又稱表又稱行或記錄又稱列2022/8/718數(shù)據(jù)庫技術與應用-2關系術語(續(xù))域:屬性的取值范圍,即不同元組對同一個屬性的取值所限定的范圍。如:整數(shù),正數(shù),男,女等都是域。關鍵字:屬性或屬性組合,其值能夠唯一地標識一個元組。關系模式:對關系的描述稱為關系模式,其格式為:關系名(屬性名1,屬性名2,屬性名n)。其實就是二維表的表頭那一行,又稱表的框架或記錄類型。 在關系模型中,實體是用關系來表示的,如:學生(學號,姓名,性別,年齡,系別) 課程(課程號,課程名,課時) 實體間的關系也是用關系來表示的,如:學生和

13、課程之間的關系選課關系(學號,課程號,成績)元數(shù):關系模式中屬性的數(shù)目。如學生關系是一個5元關系。 2022/8/719數(shù)據(jù)庫技術與應用-2 學號 姓名 性別 出生日期 所在院系 080440501 王雨嫣 女 1980-9-6 中文系 020440506 肖峰 男 1978-10-9 電子系 090440507 胡沖 男 1980-5-8 英語系 關系 表 關系模式 記錄 行 屬性 列 屬性名 列名 jbqk 關系名 表名 2022/8/720數(shù)據(jù)庫技術與應用-2三、從集合論的觀點來定義關系將關系定義為元組的集合;關系模式是命名的屬性集合;元組是屬性值的集合。一個具體的關系模型是若干個關系模

14、式的集合。2022/8/721數(shù)據(jù)庫技術與應用-2四、數(shù)據(jù)庫中基本關系的性質同一屬性的數(shù)據(jù)具有同質性。即同一列中的分量是同一類型的數(shù)據(jù),它們來自同一個域。 如,學生選課表的結構:選課(學號,課號,成績)同一關系的屬性名具有不能重復性。即在同一關系中不同屬性的數(shù)據(jù)可出自同一個域,但不同的屬性要給予不同的屬性名。 學生成績(學號,成績,成績) 學生成績(學號,成績1,成績2) 例如,有如下表中關系,職業(yè)與兼職是兩個不同的屬性,但它們取自同一個域職業(yè)教師,工人,輔導員。2022/8/722數(shù)據(jù)庫技術與應用-2數(shù)據(jù)庫中基本關系的性質(續(xù))關系中的列位置具有順序無關性 即列的順序可以任意交換。交換時,應

15、連同屬性名一起交換,否則將得到不同的關系。例如:關系T1作如下交換時,無任何影響,如右表所示:而作如下交換時,不交換屬性名,只交換屬性列中的值,則得到不同的關系,如下表: 2022/8/723數(shù)據(jù)庫技術與應用-2關系中的元組位置具有順序無關性,即關系元組的順序可以任意交換。根據(jù)關系的這個性質,可以改變元組的順序使其具有某種排序,然后按照順序查詢數(shù)據(jù),可以提高查詢速度。 關系具有元組無冗余性,即關系中的任意兩個元組不能完全相同。關系中每一分量必須是不可分的數(shù)據(jù)項,或者說所有屬性值都是原子的,即是一個確定的值,而不是值的集合。屬性值可以為空值,表示“未知”或“不可使用”,即不可“表中有表”。202

16、2/8/724數(shù)據(jù)庫技術與應用-21.2 關系模型的特點關系必須規(guī)范化 規(guī)范化是指關系模型中的每一個關系模式都必須滿足一定的要求。關于規(guī)范化的層次在第三章討論。但對關系最基本的要求是每個屬性值必須是不可分割的數(shù)據(jù)單元。姓名職稱應發(fā)工資應扣工資基本工資獎金車補房租水電即表中不能再包含表例如,在表下中,籍貫含有省、市縣兩項,出現(xiàn)了“表中有表”的現(xiàn)象,則為非規(guī)范化關系,而把籍貫分成省、市縣兩列,將其規(guī)范化。2022/8/725數(shù)據(jù)庫技術與應用-2關系模型的特點(續(xù))概念模型單一 在關系模型中,無論實體本身還是實體間的聯(lián)系均用關系表示。在關系模型中對多對多聯(lián)系表示得也比較簡單。2022/8/726數(shù)據(jù)

17、庫技術與應用-2學號課程號成績S1S1S2S2S2S3S3S3S3C1C2C1C2C3C1C2C3C4808790889575879089例:一個學生可以選修多門課程,一門課程由多個學生選修。學生和課程間存在多對多的聯(lián)系??梢栽O計以下三個關系模式:學生(學號,姓名,性別,政治面貌,所在系,民族,現(xiàn)住址)課程(課程號,課程名稱,學分,課時,選修課)選修(學號,課程號,成績)2022/8/727數(shù)據(jù)庫技術與應用-2關系模型的特點(續(xù))集合操作 在關系模型中,操作的對象和結果都是元組的集合,即關系。學號姓名年齡性別系名年級95004王小明19女社會學9595008張文斌18女法律學95查詢操作結果是

18、原關系的一個子集,其本身也是一張二維表2022/8/728數(shù)據(jù)庫技術與應用-21.3 關系運算 從集合論的觀點來定義關系,關系是一個元數(shù)為K的元組的集合。表明這個關系有若干個元組,每個元組有K個屬性值。 關系的基本運算有兩類:傳統(tǒng)的集合運算和專門的關系運算2022/8/729數(shù)據(jù)庫技術與應用-2一、傳統(tǒng)的集合運算并(Union)設有兩個關系R和S,它們具有相同的結構。R和S的并是由屬于R或屬于S的元組組成的集合,運算符為。注意:是將兩個關系中的所有元組構成新的關系,并運算的結果中必須消除重復值。例:設每個班有一個學生關系R1,R2,R3,則全校學生關系T是: T= R1 R2 R3 2022/

19、8/730數(shù)據(jù)庫技術與應用-2傳統(tǒng)的集合運算(續(xù))差(Difference)設有兩個關系R和S,它們具有相同的結構。R和S的差是由屬于R但不屬于S的元組組成的集合。運算符為。通過差運算,可實現(xiàn)關系數(shù)據(jù)庫記錄的刪除。例:設有參加計算機小組的學生關系,參加橋牌小組的學生關系。求參加了計算機小組但沒有參加橋牌小組的學生。結果放在關系1中。T1=R-S2022/8/731數(shù)據(jù)庫技術與應用-2傳統(tǒng)的集合運算(續(xù))交(Intersection)設有兩個關系R和S,它們具有相同的結構。R和S的交是由既屬于R又屬于S的元組組成的集合,運算符為。交運算的結果是R和S的共同元組。例:設有參加計算機小組的學生關系,

20、參加橋牌小組的學生關系。求既參加了計算機小組又參加橋牌小組的學生。結果放在關系2中。 2 =R S也可以寫成:2 =R-(R S)關系的交可以用關系的差來表示。即RS= R-(R S)2022/8/732數(shù)據(jù)庫技術與應用-2二、專門的關系運算選擇運算( Selection ) 是按照給定條件從指定的關系中挑選出滿足條件的元組構成新的關系,其關系模式不變,但其中元組的數(shù)目小于等于原來的關系中元組的個數(shù),它是原關系的一個子集。這是從行的角度進行的運算,即水平方向抽取元組??偩幪枙髡叱霭鎲挝粏蝺r445501445502332211113388112266計算機基礎大學英語線性代數(shù)數(shù)據(jù)庫基礎C程序

21、設計李偉王華張海孫冬王明高教出版社郵電出版社高教出版社科學出版社科學出版社1822202223例:設有關系圖書如表所示?,F(xiàn)從該圖書關系中找出高教出版社出版的,單價不超過20元的書目。2022/8/733數(shù)據(jù)庫技術與應用-2專門的關系運算(續(xù))投影(projection) 是從指定的關系中挑選出某些屬性構成新的關系,其關系模式所包含的屬性個數(shù)往往比原關系少,或者屬性的排列順序不同。投影操作是從列的角度進行的運算,相當于對關系進行垂直分解。投影的結果將取消由于取消了某些列而產(chǎn)生的重復元組。例:設有讀者關系,讀者(借書證號,姓名,性別,單位,職稱,地址)。按照單位在前,姓名在后的次序列出讀者名單。

22、此運算結果包括元組數(shù)目不變,但減少了列的數(shù)目,同時改變了列的顯示順序。2022/8/734數(shù)據(jù)庫技術與應用-2例:從圖書關系中找出藏書所涉及到的所有出版社??偩幪枙髡叱霭鎲挝粏蝺r445501445502332211113388112266計算機基礎大學英語線性代數(shù)數(shù)據(jù)庫基礎C程序設計李偉王華張海孫冬王明高教出版社郵電出版社高教出版社科學出版社科學出版社1822202223出現(xiàn)重復分組的情況:高教出版社郵電出版社高教出版社科學出版社科學出版社無重復分組的情況:高教出版社郵電出版社科學出版社2022/8/735數(shù)據(jù)庫技術與應用-2專門的關系運算(續(xù))聯(lián)接運算(join) 聯(lián)接是將兩個和多個關系

23、模式通過公共的屬性名拼接成一個更寬的關系模式,生成的新關系包含滿足聯(lián)接條件的元組。運算過程是通過聯(lián)接條件來控制的,把滿足條件的各關系的所有元組,按照一切可能組合成新的關系。聯(lián)接是對關系的結合。例:設有三個關系:學生(學號,姓名,所在系,性別,現(xiàn)住址);課程(課程號,課程名,學分);選修(學號,課程號,成績)。若想查詢成績90分以上的學生姓名。 聯(lián)接結果包括學生、課程、選修三個關系中屬性的并集。 等值連接自然聯(lián)接:是去掉重復屬性的等值連接。它屬于聯(lián)接運算的一個特例。2022/8/736數(shù)據(jù)庫技術與應用-2非自然聯(lián)接例:設有兩個班的選修關系,選修1(SNO1,CNO1,G1)和選修2(SNO2,CNO2,G2)。其中,SNO1,SNO2分別代表兩個班的學號;CNO1,CNO2代表兩個班的課程號;G1,G2代表成績。現(xiàn)要查詢一班比二班考試成績好的學生情況。無論什么課程都可進行交叉比較,只要成績分數(shù)高即滿足條件。SN

溫馨提示

  • 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

提交評論