數(shù)據(jù)庫 關(guān)系模型(參考).ppt_第1頁
數(shù)據(jù)庫 關(guān)系模型(參考).ppt_第2頁
數(shù)據(jù)庫 關(guān)系模型(參考).ppt_第3頁
數(shù)據(jù)庫 關(guān)系模型(參考).ppt_第4頁
數(shù)據(jù)庫 關(guān)系模型(參考).ppt_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第三講關(guān)系模型 RelationalModel 2 本章內(nèi)容 關(guān)系數(shù)據(jù)模型 邏輯數(shù)據(jù)模型 的三要素 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)以及關(guān)系模式關(guān)系數(shù)據(jù)模型的完整性約束關(guān)系操作集合以及關(guān)系代數(shù)關(guān)系模式是數(shù)據(jù)庫三層模式中的邏輯模式概念模型到邏輯模型的轉(zhuǎn)換 3 關(guān)系數(shù)據(jù)模型 關(guān)系數(shù)據(jù)庫以關(guān)系數(shù)據(jù)模型為基礎(chǔ)關(guān)系數(shù)據(jù)庫 RDB 關(guān)系數(shù)據(jù)庫管理系統(tǒng) RDBMS 關(guān)系數(shù)據(jù)模型建立在表的集合的基礎(chǔ)上數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作完整性約束 4 關(guān)系數(shù)據(jù)模型 E F Codd 1970年提出關(guān)系模型理論大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型單一的數(shù)據(jù)結(jié)構(gòu)扁平的二維表以關(guān)系的形式來描述現(xiàn)實世界實體 學(xué)生 課程 實體間的聯(lián)系 學(xué)生選課表 5 關(guān)系數(shù)據(jù)模型 關(guān)系操作集合操作用戶不必關(guān)心路徑關(guān)系數(shù)據(jù)操作語言關(guān)系代數(shù)關(guān)系演算SQL 結(jié)構(gòu)化的查詢語言 6 關(guān)系數(shù)據(jù)模型 完整性約束實體完整性參照完整性用戶定義的完整性 7 關(guān)系數(shù)據(jù)模型 例子 8 關(guān)系數(shù)據(jù)結(jié)構(gòu) 術(shù)語域域是一組具有相同數(shù)據(jù)類型的值的集合關(guān)系模型要求域必須是原子數(shù)據(jù)的集合ER實體集 實體 屬性關(guān)系關(guān)系 元組 Tuple 屬性表表 行 列 9 關(guān)系數(shù)據(jù)結(jié)構(gòu)的定義 關(guān)系一組域上的笛卡兒積的子集給定一組域D1 D2 Dn 這些域中可以有相同的 D1 D2 Dn的笛卡兒積為 D1 D2 Dn d1 d2 dn di Di i 1 2 n 其中 每一個元素 d1 d2 dn 叫作一個n元組 n tuple 或簡稱元組 10 關(guān)系數(shù)據(jù)結(jié)構(gòu)的定義 直觀的講 關(guān)系是笛卡兒積的子集 是一張二維表 表的每行對應(yīng)一個元組 列對應(yīng)一個域 給每個列取名屬性名以示區(qū)別碼若關(guān)系中的某一組屬性的值能唯一地標識一個元組 則稱該屬性組為候選碼 候選碼的超集為超碼 候選碼之一可被選作主碼 PrimaryKey PK 11 關(guān)系數(shù)據(jù)結(jié)構(gòu) 關(guān)系是元組的集合元組包含若干屬性表是行的集合行包含若干列每個列必須有不同的名字不同的列可有相同的域 12 關(guān)系數(shù)據(jù)結(jié)構(gòu) 表的分類 基本關(guān)系 基本表 實際存在的表實際存儲數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表虛表 無實際存儲的物理表相對應(yīng) 13 關(guān)系模式 數(shù)據(jù)庫模式 Schema 是整個數(shù)據(jù)庫中關(guān)系模式的集合是數(shù)據(jù)庫的邏輯設(shè)計 型關(guān)系模式Student sno sname sage ssex sdept 數(shù)據(jù)庫實例給定時刻數(shù)據(jù)庫中數(shù)據(jù)的一個快照 值 14 關(guān)系的完整性 對關(guān)系的某種約束條件關(guān)系模型的完整性約束實體完整性參照完整性用戶定義的完整性 15 關(guān)系的完整性 實體完整性 規(guī)則主屬性 組成主碼的屬性 不能取空值 Null NULL不知道 未提供 短缺不能簡單地認為沒有例student sno sname ssex 不能取NULL 16 關(guān)系的完整性 參照完整性 是關(guān)于聯(lián)系的約束關(guān)系與關(guān)系間的引用引用被引用例 學(xué)生 學(xué)號 姓名 性別 專業(yè)號 年齡 專業(yè) 專業(yè)號 專業(yè)名 引用 17 關(guān)系的完整性 參照完整性 外碼 ForeignKey 設(shè)F是基本關(guān)系R中的一個或一組屬性 但不是R的碼 如果F與基本關(guān)系S的主碼KS相對應(yīng) 則稱F是基本關(guān)系R的外碼 R為參照關(guān)系 S為被參照關(guān)系例 學(xué)生 學(xué)號 姓名 性別 專業(yè)號 年齡 專業(yè) 專業(yè)號 專業(yè)名 引用 外碼 參照關(guān)系 從表 被參照關(guān)系 主表 18 關(guān)系的完整性 參照完整性 參照完整性規(guī)則若屬性 或?qū)傩越M F是基本關(guān)系R的外碼 它與基本關(guān)系S的主碼相對應(yīng) 則對于R中每個元組在F上的值必須為 或者取空值 NULL 或者等于S中某個元組的主碼值 19 關(guān)系的完整性 參照完整性 20 關(guān)系的完整性 參照完整性 參照完整性的各種違例情況從表 參照關(guān)系 插入從表元組 且外鍵不為Null修改從表外鍵 且不為Null主表 被參照關(guān)系 刪除主表元組 其已被參照修改主表主鍵 其已被參照刪除主表 21 關(guān)系的完整性 參照完整性 參照可能發(fā)生在同一個關(guān)系中非主屬性引用主碼屬性例 學(xué)生 學(xué)號 姓名 性別 班長 引用 22 關(guān)系的完整性 用戶定義的完整性 特殊的約束條件與特定的應(yīng)用相關(guān)如學(xué)生的年齡一定是大于0的整數(shù) 23 模型的轉(zhuǎn)換 概念數(shù)據(jù)模型面向用戶 模擬現(xiàn)實世界E R邏輯數(shù)據(jù)模型面向計算機 易于實現(xiàn)與所采用的數(shù)據(jù)模型相關(guān) 與DBMS相關(guān)數(shù)據(jù)模式概念模型轉(zhuǎn)換為邏輯模型E R圖 關(guān)系模式 模式圖 24 模型的轉(zhuǎn)換 25 E R到關(guān)系的轉(zhuǎn)換 實體集 基本但不是萬能方法 實體集 關(guān)系聯(lián)系集 關(guān)系定義主碼和外碼 26 實體集轉(zhuǎn)換 強實體集 關(guān)系弱實體集將弱實體集 關(guān)聯(lián)強實體集的主碼屬性構(gòu)成新的關(guān)系 主碼由強實體集的主碼及弱實體集的分辯符構(gòu)成 如果有弱聯(lián)系存在 則必定能將該聯(lián)系中的自身屬性一并溶入新的關(guān)系中 27 聯(lián)系集轉(zhuǎn)換 1 1取消聯(lián)系集 自身屬性及一方的主碼溶入另一方實體集中 構(gòu)成關(guān)系不取消聯(lián)系集 則由自身屬性 參與聯(lián)系的各實體集的主碼屬性構(gòu)成 其主碼可選參與聯(lián)系的實體集的任一方的主碼 構(gòu)成關(guān)系 實體集的主碼在聯(lián)系集中作為外碼 28 聯(lián)系集轉(zhuǎn)換 1 n取消聯(lián)系集 自身屬性及1端的主碼溶入n端實體集 構(gòu)成關(guān)系 主碼任為n端的主碼 1端的主碼在聯(lián)系集中作為外碼不取消聯(lián)系集 則由自身屬性 參與聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系 n端的主碼作為聯(lián)系集的主碼 實體集的主碼在聯(lián)系集中作為外碼 29 聯(lián)系集轉(zhuǎn)換 n m保留聯(lián)系集 由自身屬性 參與聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系 主碼應(yīng)包含各實體集的主碼屬性 實體集的主碼在聯(lián)系集中作為外碼 30 關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫基于關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫RDB關(guān)系數(shù)據(jù)庫管理系統(tǒng)RDBMS關(guān)系數(shù)據(jù)庫模式關(guān)系數(shù)據(jù)庫中所有關(guān)系模式的集合關(guān)系數(shù)據(jù)庫的值關(guān)系數(shù)據(jù)庫在某一時刻的快照 31 關(guān)系代數(shù) 屬于關(guān)系操作的一種關(guān)系代數(shù)是一種抽象的查詢語言通過對關(guān)系的運算來表達查詢操作運算對象 結(jié)果均為關(guān)系運算集合運算 關(guān)系運算 比較運算 邏輯運算 32 關(guān)系代數(shù) 運算符 33 關(guān)系代數(shù) 集合運算 集合 Set 無重復(fù) 順序無關(guān)包 Bag 可重復(fù) 順序無關(guān)列表 List 可重復(fù) 順序相關(guān)集合運算并 交 差 廣義笛卡兒積二目運算 34 集合運算 并Union R和S的并 R S 是在R或S或兩者中的元素的集合一個元素在并集中只出現(xiàn)一次R和S必須同類型 屬性集相同 次序相同 但屬性名可以不同 R S 35 集合運算 并Union 36 集合運算 交Intersect R和S的交 R S 是在R和S中都存在的元素的集合一個元素在交集中只出現(xiàn)一次R和S必須同類型 屬性集相同 次序相同 但屬性名可以不同 R S 37 集合運算 交Intersect 38 集合運算 差Minus R和S的差 R S 是在R中而不在S中的元素的集合R和S必須同類型 屬性集相同 次序相同 但屬性名可以不同 R S 39 集合運算 差Minus 40 集合運算 笛卡兒積 關(guān)系R S的笛卡兒積是兩個關(guān)系的元組對的集合所組成的新關(guān)系R S 屬性是R和S的組合 有重復(fù) 元組是R和S所有元組的可能組合是R S的無條件連接 使任意兩個關(guān)系的信息能組合在一起 41 集合運算 笛卡兒積 42 關(guān)系運算 除 43 關(guān)系運算 除 44 關(guān)系代數(shù) 專門的關(guān)系運算 選擇 投影 連接 除法 45 關(guān)系運算 選擇 從關(guān)系R中選擇符合條件的元組構(gòu)成新的關(guān)系 F R 表示從R中選擇滿足條件 使邏輯表達式F為真 的元組行的運算 46 關(guān)系運算 選擇 例 ssex 男 ANDsdep IS Student 47 關(guān)系運算 投影 從關(guān)系R中選擇若干屬性組成新的關(guān)系 A1 A2 An R 表示從R中選擇屬性集A1 A2 An組成新的關(guān)系列的運算投影運算的結(jié)果中 也要去除可能的重復(fù)元組 48 關(guān)系運算 投影 例 ssex sage student 49 關(guān)系代數(shù) 改名 對關(guān)系R實施改名運算 可顯式地改變關(guān)系名及屬性名將關(guān)系R改名為S s R 將關(guān)系R B1 B2 Bn 改名S A1 A2 An S A1 A2 An R 50 關(guān)系運算 條件連接 從R S的結(jié)果集中 選取在指定的屬性集上滿足 條件的元組 組成新的關(guān)系 是一個關(guān)于屬性集的邏輯表達式R S 51 關(guān)系運算 條件連接 52 關(guān)系運算 等值連接 R S R B S B 53 關(guān)系運算 自然連接 從R S的結(jié)果集中 選取在某些公共屬性上具有相同值的元組 組成新的關(guān)系R S的公共屬性屬性集的交集 名稱及類型相同 公共屬性在結(jié)果中只出現(xiàn)一次例 studentsc 54 關(guān)系運算 自然連接 R S 55 外連接 實例 Relationloan branch name loan number amount DowntownRedwoodPerryridge L 170L 230L 260 300040001700 Relationborrower customer name loan number JonesSmithHayes L 170L 230L 155 56 外連接 實例 loanborrower branch name loan number amount DowntownRedwood L 170L 230 30004000 customer name JonesSmith branch name loan number amount DowntownRedwoodPerryridge L 170L 230L 260 300040001700 customer name loan number JonesSmithnull L 170L 230null 57 外連接 實例 loan borrower branch name loan number amount DowntownRedwoodnull L 170L 230L 155 30004000null customer name JonesSmithHayes branch name loan number amount DowntownRedwoodPerryridgenull L 170L 230L 260L 155 300040001700null customer name JonesSmithnullHayes 58 關(guān)系代數(shù) 實例 59 關(guān)系代數(shù) 實例1 查詢選修了2號課程的學(xué)生的學(xué)號課程號 學(xué)號 SC表 60 關(guān)系代數(shù) 實例1 2號課程的選課情況 cno 2 SC 61 關(guān)系代數(shù) 實例1 選修2號課程的學(xué)號 sno cno 2 SC 62 關(guān)系代數(shù) 實例2 列出選修 數(shù)學(xué) 課的學(xué)生的學(xué)號 姓名以及成績學(xué)號 姓名 Student表課程名稱 Course表成績 SC表Student SC Course sno cno 63 關(guān)系代數(shù) 實例2 數(shù)學(xué) 課 cno 數(shù)學(xué) Course 64 關(guān)系代數(shù) 實例2 65 關(guān)系代數(shù) 實例2 選修 數(shù)學(xué) 課的記錄SC cno 數(shù)學(xué) Course 66 關(guān)系代數(shù) 實例2 選修 數(shù)學(xué) 的學(xué)生記錄Student SC cno 數(shù)學(xué) Course 67 關(guān)系代數(shù) 實例2 選修 數(shù)學(xué) 的學(xué)生的學(xué)號 姓名 成績 sno sname gradeStudent SC cno 數(shù)學(xué) Course 68 關(guān)系代數(shù) 實例2 69 注意 關(guān)系運算的結(jié)果還是關(guān)系因此 必須注意運算結(jié)果的屬性集和元組集 70 練習1 設(shè)計一個適合大學(xué)選課的數(shù)據(jù)庫 該數(shù)據(jù)庫應(yīng)包括學(xué)生 系 教師 課程 哪個學(xué)生選了哪門課 哪個教師教哪門課 學(xué)生的成績 一個系統(tǒng)提供哪些課程等信息 試用關(guān)系數(shù)據(jù)庫模式來描述這個數(shù)據(jù)庫 71 一個簡化的答案 Student SNo SN Score Depart DNo DN Teacher TNo TN Course CNo CN Belong SNo DNo Teach TNo CNo Choose SNo CNo 72 練習2 結(jié)合學(xué)生選課數(shù)據(jù)庫 用關(guān)系代數(shù)分別進行如下查詢 學(xué)號為9900111的學(xué)生的系別和年齡有不及格 成

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論