【正文】
嚴(yán) 格的數(shù)學(xué)理論基礎(chǔ)上 : 集合論的“關(guān)系概念 ” 概念清晰,簡(jiǎn)潔,用統(tǒng)一 的結(jié)構(gòu)表示數(shù)據(jù)對(duì)象和它們 之間的聯(lián)系 . 26 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu) (續(xù) ) 關(guān)系數(shù)據(jù)模型的基本結(jié)構(gòu)是 關(guān)系 。 在用戶觀點(diǎn)下 , 關(guān)系數(shù)據(jù)模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表 ( Table) , 它由表名 、 行和列組成 。 表的每一行稱為一個(gè)元組 ( Tuple) , 每一列稱為一個(gè)屬性 ( Attribute) 。 例如 , 例表 ( S) : ? 學(xué)生登記表( S ) 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 C 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 ?? ?? ?? ?? ?? ?? 27 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu) (續(xù) ) 例表 2 .課程開(kāi)設(shè)表 (C): 課程開(kāi)設(shè)表( C ) CNO C N A ME L H O U R S E ME S T E R CC 1 12 軟件工程 60 春 CS 202 數(shù)據(jù)庫(kù) 45 秋 EE 103 控制工程 60 春 ME 2 34 數(shù)學(xué)分析 40 秋 MS 21 1 人工智能 60 秋 ?? ?? ?? ?? 28 關(guān)系模型的數(shù)據(jù)結(jié)構(gòu) (續(xù) ) ? 例表 3. 學(xué)生選課成績(jī)表 (SC): 學(xué)生選課成績(jī)表( SC ) S NO CNO G R A D E A 041 CC 1 12 92 A 041 M E 234 92. 5 A 041 M E 21 1 9 0 C 005 C C 1 12 8 4. 5 C 005 C S 202 82 M 038 M E 234 85 R 098 C S 202 7 5 R 098 M S 21 1 ? ? ? 29 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 學(xué)生登記表 (S),課程開(kāi)設(shè)表 (C)與學(xué)生選課成績(jī)表之間的聯(lián)系 : 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 041 周光明 自動(dòng)控制 男 1986 8 10 1. 7 C 005 張雷 計(jì)算機(jī) 男 1987 6 30 1. 75 C 008 王寧 計(jì)算機(jī) 女 1986 8 20 1. 62 M 038 李霞霞 應(yīng)用數(shù)學(xué) 女 1988 10 20 1. 65 R 098 錢欣 管理工程 男 1986 5 16 1. 8 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 秋 學(xué)生登記表(S)學(xué)生選課成績(jī)表(SC)課程開(kāi)設(shè)表(C)30 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) 數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu) ( 二維表 ) 縱觀示意圖 : 邏輯結(jié)構(gòu) DBMS DB 物理 數(shù)據(jù)庫(kù) 從用戶角度看數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu) ( 二維表 ) 用戶 用戶 SC C S …… …… 屬性 ( 列 ) S表 元組 1( 行 ) 元組 2( 行 ) 元組 n( 行 ) …… …… 存儲(chǔ)模式 31 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 關(guān)系數(shù)據(jù)模式 : 數(shù)據(jù)的關(guān)系模型結(jié)構(gòu)就是二維表結(jié)構(gòu) 3張二維表分別是數(shù)據(jù)對(duì)象 “學(xué)生 (S)”、 “課程開(kāi)設(shè) (C)” 和其聯(lián)系“學(xué)生選課成績(jī) (SC)” 的反映 這種用關(guān)系數(shù)據(jù)模型 對(duì)一個(gè)具體單位中 客觀對(duì)象及其聯(lián)系 的結(jié)構(gòu)描述,稱為 關(guān)系數(shù)據(jù)模式 (簡(jiǎn)稱 :關(guān)系模式 ) 32 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 關(guān)系模式的描述形式 : ? 其中 :R為關(guān)系模式名,即二維表名。 ? Ai( 1≤i≤n)是二維 表中的列名。 或者 : R =( A1,A2,…Ai…,An ) R( A1,A2,…Ai…,An ) 33 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? . 上述數(shù)據(jù)對(duì)象( S和 C)以及數(shù)據(jù)對(duì)象之間的聯(lián)系( SC) 表示成關(guān)系模式分別為: S ( SNO, SNAME, DEPART, SEX, BDATE, HEIGHT) C ( CNO, CNAME, LHOUR, SEMESTER) SC( SNO, CNO, GRADE) 34 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 這 3個(gè)關(guān)系模式也可以用漢字定義為 : 學(xué)生 ( 學(xué)號(hào) ,姓名,系別,性別,出生日期,身高) 課程 ( 課程號(hào) ,課程名,學(xué)時(shí),開(kāi)課時(shí)間) 選課成績(jī) ( 學(xué)號(hào),課程號(hào) ,成績(jī)) 35 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 關(guān)系模式 主鍵 DB 課程開(kāi)設(shè)表( C) CNO C N A ME L H O U R S E ME S T E R CC 1 12 軟件工程 60 春 CS 202 數(shù)據(jù)庫(kù) 45 秋 EE 103 控制工程 60 春 ME 2 34 數(shù)學(xué)分析 40 秋 MS 21 1 人工智能 60 秋 ?? ?? ?? ?? 學(xué)生登記表( S ) 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 C 005 張 雷 計(jì)算機(jī) 男 19 87 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的一個(gè)二維表中 找到我們所了解的內(nèi)容 ? 例如 : ① 查詢學(xué) 生周光明的情 況 。 ② 李霞霞選修 ME234課程的成績(jī)是多少 ? ? 36 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 關(guān)系模式 (即二維表 )主鍵 : ? 能夠唯一標(biāo)識(shí)二維表中指定元組的屬性或者屬性組 (這組屬性的任何真子集無(wú)此性質(zhì) ),稱為該二維表的 候選鍵 . ? 如果一個(gè)關(guān)系模式有多個(gè)候選鍵存在 ,則可從中選一個(gè)最常用的作為該關(guān)系模式主鍵 ,簡(jiǎn)稱 主鍵 . 課程開(kāi)設(shè)表( C) CNO C N A ME L H O U R S E ME S T E R CC 1 12 軟件工程 60 春 CS 202 數(shù)據(jù)庫(kù) 45 秋 EE 103 控制工程 60 春 ME 2 34 數(shù)學(xué)分析 40 秋 MS 21 1 人工智能 60 秋 ?? ?? ?? ?? 學(xué)生登記表( S ) 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 C 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 ?? ?? ?? ?? ?? ?? 候選鍵 : (學(xué)號(hào) ) (姓名 ,出生年月 ) 主鍵 : (學(xué)號(hào) ) 37 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) ? 例如 : ? 學(xué)生登記表中的學(xué)生有下列屬性 (列 ):學(xué)號(hào),姓名,系別,出生年月等,則學(xué)號(hào)可作為候選鍵,用它來(lái)標(biāo)識(shí)一個(gè)學(xué)生。因?qū)W生可能有重名,因而姓名不能作為候選鍵;但若學(xué)生的出生年月不同,則也可用屬性組(姓名,出生年月)作為候選鍵,必須再?gòu)倪@兩個(gè)候選鍵中選其一(如學(xué)號(hào))作為學(xué)生登記表的主鍵。 學(xué)生登記表( S ) 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 C 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 ?? ?? ?? ?? ?? ?? 38 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) 關(guān)系 模型 程序 員 用 戶 關(guān)系 模式 文件 結(jié)構(gòu) 二維表 結(jié)構(gòu) 關(guān)系 ( 二維表 ) 文 件 表 元 組 記 錄 行 屬 性 數(shù)據(jù)項(xiàng) ( 字 段 ) 列 基本術(shù)語(yǔ)的對(duì)照 : 關(guān)系模型中的術(shù)語(yǔ)來(lái)自關(guān)系數(shù)學(xué) ,與程序員 和用戶的習(xí)慣說(shuō)法是相對(duì)應(yīng)的 . 39 關(guān)系模型的 存儲(chǔ)結(jié)構(gòu) 在關(guān)系數(shù)據(jù)模型中,數(shù)據(jù)對(duì)象和數(shù)據(jù)對(duì)象之間的聯(lián)系都用二維表來(lái)表示。在支持關(guān)系模型的數(shù)據(jù)庫(kù)物理組織 (即存儲(chǔ)結(jié)構(gòu) )中,二維表以文件形式存儲(chǔ)。在大多數(shù)數(shù)據(jù)庫(kù)中,二維表與操作系統(tǒng)中的文件相對(duì)應(yīng)。 關(guān)系數(shù)據(jù)模型 (結(jié)構(gòu) ) (續(xù) ) 學(xué)生選課成績(jī)表( SC ) S NO CNO G R A D E A 041 CC 1 12 92 A 041 M E 234 92. 5 A 041 M E 21 1 9 0 C 005 C C 1 12 8 4. 5 C 005 C S 202 82 M 038 M E 234 85 R 098 C S 202 7 5 R 098 M S 21 1 ? ? ? 學(xué)生登記表( S ) 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 C