【正文】
客戶機(jī) DB 數(shù)據(jù)庫(kù)服務(wù)器 74 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展 ? ③ 瀏覽器 /服務(wù)器結(jié)構(gòu) (B/S) ? ? 由瀏覽器 ,Web服務(wù)器 ,數(shù)據(jù)庫(kù)服務(wù)器 3個(gè)層次組成 .客戶端使用一個(gè)通用的瀏覽器代替了各種應(yīng)用軟件 .用戶操作通過(guò)瀏覽器執(zhí)行 . ? 客戶機(jī) DB 瀏覽器 數(shù)據(jù)庫(kù)服務(wù)器 75 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展 ? ④ 分布式數(shù)據(jù)庫(kù)系統(tǒng) ? 數(shù)據(jù)共享和數(shù)據(jù)??蛻魴C(jī)直接面向用戶,接收并處理任務(wù),將需要 DB操作的任務(wù)委托服務(wù)器執(zhí)行;而服務(wù)器只接收這種委托,完成對(duì) DB的查詢和更新,并把查詢結(jié)果返回給客戶機(jī)。 . . 終端 DB 73 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展 ? ② 客戶 /服務(wù)器結(jié)構(gòu) (C/S) ? 是一種網(wǎng)絡(luò)處理系統(tǒng)。早期的 DBMS以分時(shí)操作系統(tǒng)作為運(yùn)行環(huán)境,采用集中式的數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu),把數(shù)據(jù)庫(kù)建立在本單位的主計(jì)算機(jī)上,且不與其他計(jì)算機(jī)系統(tǒng)進(jìn)行數(shù)據(jù)交互。因此 DBS的系統(tǒng)結(jié)構(gòu)也隨著它的硬件和軟件支撐環(huán)境的變化而不斷演變。 ? SQL用 CREATE VIEW語(yǔ)句建立視圖,其格式為: ? ? CREATE VIEW <視圖名>[<列名>, … ] ? AS <子查詢> 71 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言 SQL ? SQL視圖的例 : ? 例如,若建立管理工程系學(xué)生的視圖 ME_S,語(yǔ)句為: ? ? 視圖定義后,用戶就可以象對(duì)基本表操作一樣對(duì)視圖進(jìn)行查詢。視圖可由基本表或其他視圖導(dǎo)出。如果省略 WHERE子句,則刪除表中所有記錄 . ? 例如,從 C表中刪除課程號(hào)為’ 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 數(shù)學(xué)分析 40 秋 M S 2 1 1 人工智能 60 秋 CN O CN AM E L H O U 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 秋 CDELETE FROM 表名 [ WHERE 條件 ] DELETE FROM C WHERE CNO=?CC112?。 ? (1) 插入語(yǔ)句 ? 插入語(yǔ)句 INSERT可將一個(gè)記錄插入到指定的表中: ? 例如,將一個(gè)新的課程記錄插入到課程開設(shè)表 C中 : ? 插入插入(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 秋 CINSERT INTO 表名 ( 列名 1, 列名 2… ) VALUES( 表達(dá)式 1, 表達(dá)式 2, … ) INSERT INTO S( CNO, CNAME, LHOUR, SEMESTER) VALUES(‘ CW101?,‘論文寫作 ?, 30,?春’ ) 68 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言 SQL ? ( 2)更改語(yǔ)句 ? 對(duì)指定表中已有數(shù)據(jù)進(jìn)行修改。要求列出學(xué)生名,系別,選修課程名及成績(jī)。是關(guān)系數(shù)據(jù)庫(kù)中最主要的查詢。關(guān)系操作中最常用的是“投影、選擇和連接” ,都體現(xiàn)在 SELECT語(yǔ)句中 : ? SELECT A1, A2, … , An ? FROM R1, R2, … , Rm ? [ WHERE F] ? SELECT語(yǔ)句語(yǔ)義為:將 FROM子句所指出的 R(基本表或視圖 )進(jìn)行連接,從中選取滿足 WHERE子句中條件 F的行(元組),最后根據(jù) SELECT子句給出的 A(列名 )將查詢結(jié)果表輸出。 ? 定義基本表時(shí)要指明每個(gè)列的類型和長(zhǎng)度,同時(shí)還可 ? 以定義與該表有關(guān)的完整性約束條件, CREATE TABLE表名 (<列名><數(shù)據(jù)類型>[完整性約束條件], …… ) 63 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言 SQL ? DDL例 : ? 按照關(guān)系模式 S,定義學(xué)生基本表的 SQL語(yǔ)句 : SNO SNAME DEPART SEX BDATE HEIGHT執(zhí)行語(yǔ)句后,在數(shù)據(jù)庫(kù)建立 一個(gè)學(xué)生表 S的結(jié)構(gòu) CREATE TABLE S ( SNO CHAR( 4) , (類型為定長(zhǎng)字符串) SNAME VARCHAR( 8)(類型為變長(zhǎng)字符串,串長(zhǎng)為 8) DEPART VARCHAR( 12), SEX CHAR( 2) BDATE DATE, (類型為日期型) HEIGHT DEC( 5, 2), (類型為 5位十進(jìn)制數(shù),小數(shù)點(diǎn)后 2位) PRIMARY KEY( SNO));(指明 SNO為 S的主鍵) 64 關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言 SQL ? SQL的數(shù)據(jù)查詢 ? 查詢是數(shù)據(jù)庫(kù)的核心操作。在此基礎(chǔ)上,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)必須配置與此相應(yīng)的語(yǔ)言,使用戶可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行各式各樣的操作,這就構(gòu)成了用戶和數(shù)據(jù)庫(kù)的接口。39。 ? 例如 :學(xué)生登記表( S)和學(xué)生選課成績(jī)表( SC)的連接 ,生成一個(gè)信息更全面的關(guān)系 . 連接連接S N O C N O G R A D E A 041 C C 1 12 92 A 041 M E 234 92. 5 A 041 M S 21 1 90 C 005 C C 1 12 84. 5 C 005 C S 202 82 M 038 M E 234 85 R 098 C S 202 75 R 098 M S 21 1 70. 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 S N O S N A M E D E P A R T S E X D D A T E H E I G H T C N O G R A D E A 041 周光明 自動(dòng)控制 男 1986 8 10 1. 7 C C 1 12 92 A 041 周光明 自動(dòng)控制 男 1986 8 10 1. 7 M E 234 92. 5 A 041 周光明 自動(dòng)控制 男 1986 8 10 1. 7 M S 21 1 90 C 005 張雷 計(jì)算機(jī) 男 1987 6 30 1. 75 C C 1 12 84. 5 C 005 張雷 計(jì)算機(jī) 男 1987 6 30 1. 75 C S 202 82 M 038 李霞霞 應(yīng)用數(shù)學(xué) 女 1988 10 20 1. 65 M E 234 85 R 098 錢欣 管理工程 男 1986 5 16 1. 8 C S 202 75 R 098 錢欣 管理工程 男 1986 5 16 1. 8 M S 21 1 70. 5 SSC對(duì)于已選課程的學(xué)生而言,結(jié)果關(guān)系包含 SC表原來(lái)的信息,并增加了該學(xué)生選修課程號(hào)( CNO)和成績(jī)( GRADE)。它基于共有屬性把兩個(gè)關(guān)系組合起來(lái)。 ? 例如 :需要了解學(xué)生選課情況而不關(guān)心其成績(jī)時(shí),可對(duì)學(xué)生選課成績(jī)表( SC)進(jìn)行相關(guān)的投影操作 . ? 。新關(guān)系中的屬性(列)是原關(guān)系中屬性的子集。 ? 例如 :從學(xué)生登記表 (S)中,選出性別為“男”的學(xué)生元組,組成一個(gè)新關(guān)系“男學(xué)生登記表” 。選擇操作根據(jù)要求從原先關(guān)系中選擇部分元組。它應(yīng)用于一個(gè)關(guān)系并產(chǎn)生另一個(gè)新關(guān)系。 ? 例如 :課程開設(shè)表 (C)中的課程 ME234元組的 LHOUR值由“ 40”改為“ 30”, SEMESTER值由“秋”改為“春”。 刪除刪除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 數(shù)學(xué)分析 40 秋 M S 2 1 1 人工智能 60 秋 CN O CN AM E L H O U 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 秋 C54 關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作 ) ? 更改 ? 更改操作也是一種一元操作,它應(yīng)用于一個(gè)關(guān)系。它根據(jù)要求刪去表中相應(yīng)的元組。它應(yīng)用于一個(gè)關(guān)系,其操作是在關(guān)系中插入新的元組(或另一個(gè)具有相同模式的關(guān)系) . ? 例如 :在課程開設(shè)表( C)中插入一個(gè)新的課程信息 ? ( CW101, ?論文寫作 ?, 30, ?春 ?)。生成新關(guān)系中的元組是存在于第一個(gè)關(guān)系而不存在于 第二個(gè)關(guān)系中的元組。 50 關(guān)系數(shù)據(jù)模型 (傳統(tǒng)集合的關(guān)系操作 ) ? . 差 差操作也是一個(gè)二元操作。根據(jù)集合論的定義, ? 交操作所創(chuàng)建新關(guān)系中的每一個(gè)元組必須是兩個(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)系操作 ) ?