【文章內(nèi)容簡(jiǎn)介】
005 張 雷 計(jì)算機(jī) 男 1987 06 30 1. 7 5 C 008 王 寧 計(jì)算機(jī) 女 198 6 08 20 1. 62 A 041 周光明 自動(dòng)控制 男 198 6 08 10 1. 70 M 038 李霞霞 應(yīng)用數(shù)學(xué) 女 198 8 10 20 1. 65 R 098 錢 欣 管理工程 男 198 6 05 16 1 . 80 ?? ?? ?? ?? ?? ?? DB 文件 文件 文件 40 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 關(guān)系數(shù)據(jù)模型是 1970年由(美) 的。關(guān)系數(shù)據(jù)庫(kù)得以迅速發(fā)展和普遍應(yīng)用,主要得力于關(guān)系數(shù)據(jù)模型所具有的下列特點(diǎn): ? ① 關(guān)系模型建立在嚴(yán)格的數(shù)學(xué)理論基礎(chǔ)上 ? ② 關(guān)系數(shù)據(jù)模型的概念單一 ? ③ 對(duì)二維表的操作是 “ 非 過 程性 ” 集合論的關(guān)系概念 數(shù)據(jù)對(duì)象和聯(lián)系都是二維表。對(duì)二維表的操作結(jié)果也是二維表。 存取路徑對(duì)用戶透明,簡(jiǎn)化了程序員的編程工作;數(shù)據(jù)獨(dú)立性和安全性好 41 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 特別提示 Ⅰ : ? 嚴(yán)格地說明 ,關(guān)系是一種規(guī)范化二維表中行的集合。在關(guān)系數(shù)據(jù)模型中,對(duì)每個(gè)關(guān)系還作了如下限制: ? ①每一個(gè)列對(duì)應(yīng)一個(gè)域,列名不能相同 .。 ? ② 關(guān)系中所有的列是原子數(shù)據(jù) (原子數(shù)據(jù)是不可再分的 ) ? ③ 關(guān)系中不允許出現(xiàn)相同的行 (即不能出現(xiàn)重復(fù)的行 ) ? ④ 關(guān)系是行的集合,行的次序可以交換。 (按集合的性質(zhì) ) ? ⑤ 行中列的順序可以任意交換。 (按集合的性質(zhì) ,但使用按定義順序 ) 42 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 特別提示 Ⅱ : ? 數(shù)據(jù)模型和模式是有區(qū)別的。 ? 數(shù)據(jù)模型 :用一組概念和定義描述數(shù)據(jù)的手段, ? 數(shù)據(jù)模式 :用某種數(shù)據(jù)模型對(duì)具體情況下相關(guān)數(shù)據(jù) ? 結(jié)構(gòu)的描述。 ? 具體地說,關(guān)系模式是以關(guān)系數(shù)據(jù)模型為基礎(chǔ),綜合考慮了用戶的需求,并將這些需求抽象而得到的邏輯結(jié)構(gòu)。因而不應(yīng)將關(guān)系數(shù)據(jù)模型和關(guān)系模式相混淆, ? ( 正象不應(yīng)把高級(jí)語(yǔ)言和用高級(jí)語(yǔ)言編寫的程序模塊混為一談一樣,應(yīng)注意它們?cè)诟拍钌系牟町? ) 43 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 特別提示 Ⅲ : ? 關(guān)系模式 :反映了二維表的靜態(tài)結(jié)構(gòu),是相對(duì)穩(wěn)定的。 ? 關(guān)系 :是關(guān)系模式在某一時(shí)刻的狀態(tài),它反映二維表 ? 的內(nèi)容,由于對(duì)關(guān)系的操作不斷更新著二維表 ? 中的數(shù)據(jù),因此關(guān)系是隨時(shí)間動(dòng)態(tài)變化的。 ? 但在一般表述中,人們常常將關(guān)系模式和關(guān)系都稱為關(guān)系,實(shí)際上對(duì)此二者應(yīng)加以科學(xué)的區(qū)分。 44 關(guān)系數(shù)據(jù)模型 (完整性 ) (選學(xué) ) ? 關(guān)系模式用 R( A1, A2, … , An)表示,僅僅說明關(guān)系的語(yǔ)法,但是并不是每個(gè)合乎語(yǔ)法的行 (元組 )都能成為二維表 R中的元組,它還要受到語(yǔ)義的限制。 ? 數(shù)據(jù)的語(yǔ)義不但會(huì)限制屬性的值,例如:小學(xué)、中學(xué)和大學(xué)都有規(guī)定的最低入學(xué)年齡的限制;一個(gè)企業(yè)倉(cāng)庫(kù)管理中的庫(kù)存量不能為負(fù)值等。 ? 數(shù)據(jù)的語(yǔ)義還會(huì)制約屬性間的關(guān)系,如:學(xué)生選課成績(jī)表 SC中的學(xué)生必須是學(xué)生登記表 S中已注冊(cè)的學(xué)生等。 ? 以上所述的約束可以用來(lái)保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性,稱其為關(guān)系模型的 完整性約束 。 45 關(guān)系數(shù)據(jù)模型 (完整性 ) (續(xù) ) 實(shí)體完整性約束 關(guān)系模型的完整性約束 引用完整性約束 用戶定義完整性約束 閱讀材料 46 關(guān)系數(shù)據(jù)模型 (操作 ) ? 在關(guān)系數(shù)據(jù)庫(kù)中,通??梢远x一些操作來(lái)通過已知的關(guān)系 (二維表 )創(chuàng)建新的關(guān)系 (二維表 )。最常用的關(guān)系操作有: ? ? 并 插入 ? 交 更新 ? 差 刪除 ? 笛卡爾積 選擇 ? 除 連接 ? 投影 專門的關(guān)系操作 傳統(tǒng)集合的關(guān)系操作 47 關(guān)系數(shù)據(jù)模型 (操作 ) ? 舉例用例 (5張二維表 ): SNAME GRADE 錢欣 75 張進(jìn)元 62 張華 68 胡平平 79 周亮 80 SNAME GRADE 王寧 100 錢欣 75 顧永華 90 黃進(jìn) 82 胡平平 79 周亮 80 SC1:6080分成績(jī)表 SC2:70100分成績(jī)表 S N O C N O G R A D E A 0 4 1 C C 1 1 2 92 A 0 4 1 M E 2 3 4 9 2 . 5 A 0 4 1 M S 2 1 1 90 C 0 0 5 C C 1 1 2 8 4 . 5 C 0 0 5 C S 2 0 2 82 M 0 3 8 M E 2 3 4 85 R 0 9 8 C S 2 0 2 75 R 0 9 8 M S 2 1 1 7 0 . 5 S N O S N A M E D E P A R T S E X B D A T E H E I G H T A 0 4 1 周光明 自動(dòng)控制 男 1 9 8 6 8 10 1 . 7 C 0 0 5 張雷 計(jì)算機(jī) 男 1 9 8 7 6 30 1 . 7 5 C 0 0 8 王寧 計(jì)算機(jī) 女 1 9 8 6 8 20 1 . 6 2 M 0 3 8 李霞霞 應(yīng)用數(shù)學(xué) 女 1 9 8 8 10 20 1 . 6 5 R 0 9 8 錢欣 管理工程 男 1 9 8 6 5 16 1 . 8 C N O C N A M E L H OU R S E M E S T E R C C 1 1 2 軟件工程 60 春 C S 2 0 2 數(shù)據(jù)庫(kù) 45 秋 E E 1 0 3 控制工程 60 春 M E 2 3 4 數(shù)學(xué)分析 40 秋 M S 2 1 1 人工智能 60 秋 學(xué)生登記表(S )學(xué)生選課成績(jī)表(S C )課程開設(shè)表(C )48 關(guān)系數(shù)據(jù)模型 (傳統(tǒng)集合的關(guān)系操作 ) ? 并 ? 并操作是一個(gè)二元操作。它要求參與操作的兩個(gè)關(guān)系有相同的關(guān)系模式。其作用是將兩個(gè)關(guān)系組合成一個(gè)新的關(guān)系。根據(jù)集合論的定義,并操作創(chuàng)建的新關(guān)系中的每一個(gè)元組或者屬于第一個(gè)關(guān)系、或者屬于第二個(gè)關(guān)系,或者在兩個(gè)關(guān)系中皆有。 S N A M E G R A D E 錢欣 75 張進(jìn)元 62 張華 68 胡平平 79 周亮 80 王寧 100 顧永華 90 黃進(jìn) 82 并并SN A ME G R A D E 錢欣 75 張進(jìn)元 62 張華 68 胡平平 79 周亮 80 SN A ME G R A D E 王寧 100 錢欣 75 顧永華 90 黃進(jìn) 82 胡平平 79 周亮 80 SC 1SC 2結(jié)果關(guān)系表示選課程學(xué)生的“ 60~100分成績(jī)表” 49 關(guān)系數(shù)據(jù)模型 (傳統(tǒng)集合的關(guān)系操作 ) ? 交 ? 交操作也是一個(gè)二元操作。它對(duì)兩個(gè)具有相同關(guān)系模 ? 式的關(guān)系進(jìn)行操作,創(chuàng)建一個(gè)新關(guān)系。根據(jù)集合論的定義, ? 交操作所創(chuàng)建新關(guān)系中的每一個(gè)元組必須是兩個(gè)原關(guān)系中 ? 共有的成員。 SN A M E G R A D E 錢欣 75 胡平平 79 周亮 80 交交SN A M E G R A D E 錢欣 75 張進(jìn)元 62 張華 68 胡平平 79 周亮 80 SN A M E G R A D E 王寧 100 錢欣 75 顧永華 90 黃進(jìn) 82 胡平平 79 周亮 80 SC 1SC 2結(jié)果表示選課學(xué)生“ 70分~80分成績(jī)表”。 50 關(guān)系數(shù)據(jù)模型 (傳統(tǒng)集合的關(guān)系操作 ) ? . 差 差操作也是一個(gè)二元操作。它應(yīng)用于具有相同關(guān)系模式的兩 個(gè)關(guān)系。生成新關(guān)系中的元組是存在于第一個(gè)關(guān)系而不存在于 第二個(gè)關(guān)系中的元組。 例如,關(guān)系 SC1與關(guān)系 SC2進(jìn)行差操作 : 差差SN A M E G R A D E 錢欣 75 張進(jìn)元 62 張華 68 胡平平 79 周亮 80 SN A M E G R A D E 王寧 100 錢欣 75 顧永華 90 黃進(jìn) 82 胡平平 79 周亮 80 S N A M E GR ADE 張進(jìn)元 62 張華 68 SC 1SC2結(jié)果關(guān)系包括那些在 SC1表中而不在 SC2表中的成績(jī)信息,即“ 60 ~69分成績(jī)表” 51 關(guān)系數(shù)據(jù)模型 (傳統(tǒng)集合的關(guān)系操作 ) 差 (續(xù) ) 在集合操作中 ,“并 ”和 “交 ”具有交 換 律的性 質(zhì) ,而 “差 ”操作 沒 有 交換律的性質(zhì) . 例如,關(guān)系 SC2與關(guān)系 SC1進(jìn)行差操作 : 結(jié)果關(guān)系包括那些在 SC2表中而不在 SC1表中的成績(jī)信息,即“ 81 ~100分成績(jī)表” SNAME GRADE汪 寧 100顧永華 90黃 進(jìn) 82SC2 SC1 差 SC1∪ SC2=SC2∪ SC1 SC1∩SC2=SC2∩SC1 SC1- SC2≠SC2- SC1 52 關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作 ) ? 插入 ? 插入操作是一種一元操作。它應(yīng)用于一個(gè)關(guān)系,其操作是在關(guān)系中插入新的元組(或另一個(gè)具有相同模式的關(guān)系) . ? 例如 :在課程開設(shè)表( C)中插入一個(gè)新的課程信息 ? ( CW101, ?論文寫作 ?, 30, ?春 ?)。 插入插入(CW101,論文寫作,30,春)C N O C N A M E L H O U R S E M E S T E R C C 1 12 軟件工程 60 春 C S 202 數(shù)據(jù)庫(kù) 45 秋 E E 103 控制工程 60 春 M E 234 數(shù)學(xué)分析 40 秋 M S 21 1 人工智能 60 秋 C W 101 論文寫作 30 春 C N O C N A M E L H O U R S E M E S T E R C C 1 12 軟件工程 60 春 C S 20 2 數(shù)據(jù)庫(kù) 45 秋 E E 10 3 控制工程 60 春 M E 23 4 數(shù)學(xué)分析 40 秋 M S 21 1 人工智能 60 秋 C53 關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作 ) ? 刪除 ? 刪除操作為一元操作。它根據(jù)要求刪去表中相應(yīng)的元組。 ? 例如 :從課程表( C)中刪除課程 CC112。 刪除刪除C N O C N A M E L H O U R S E M E S T E R C S 2 0 2 數(shù)據(jù)庫(kù) 45 秋 E E 1 0 3 控制工程 60 春 M E 2 3 4