版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)系數(shù)據(jù)模型(操作),在關(guān)系數(shù)據(jù)庫(kù)中,通??梢远x一些操作來通過已知的關(guān)系(二維表)創(chuàng)建新的關(guān)系(二維表)。最常用的關(guān)系操作有: 并 插入 交 更新 差 刪除 笛卡爾積 選擇 除 連接 投影,專門的關(guān)系操作,傳統(tǒng)集合的關(guān)系操作,關(guān)系數(shù)據(jù)模型(操作),舉例用例(5張二維表):,SC1:60-80分成績(jī)表,SC2:70-100分成績(jī)表,關(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)系中皆有。,結(jié)果關(guān)系
2、表示選課程學(xué)生的“60100分成績(jī)表”,關(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)系中 共有的成員。,結(jié)果表示選課學(xué)生“70分80分成績(jī)表”。,關(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)行差操作:,結(jié)果關(guān)系包括那些在SC1表中而不在SC2表中的成績(jī)信息,即“60 69分成績(jī)表”,關(guān)系數(shù)
3、據(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ī)表”,SC2,SC1,差,SC1SC2=SC2SC1 SC1SC2=SC2SC1 SC1SC2SC2SC1,關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作),插入 插入操作是一種一元操作。它應(yīng)用于一個(gè)關(guān)系,其操作是在關(guān)系中插入新的元組(或另一個(gè)具有相同模式的關(guān)系). 例如:在課程開設(shè)表(C)中插入一個(gè)新的課程信息 (CW101,論文寫作,30,春)。,關(guān)系數(shù)據(jù)模型 (專
4、門的關(guān)系操作),刪除 刪除操作為一元操作。它根據(jù)要求刪去表中相應(yīng)的元組。 例如:從課程表(C)中刪除課程CC112。,關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作),更改 更改操作也是一種一元操作,它應(yīng)用于一個(gè)關(guān)系。用來改變關(guān)系中指定元組中的部分屬性值。 例如:課程開設(shè)表(C)中的課程ME234元組的LHOUR值由“40”改為“30”,SEMESTER值由“秋”改為“春”。,關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作),選擇 選擇操作是一元操作。它應(yīng)用于一個(gè)關(guān)系并產(chǎn)生另一個(gè)新關(guān)系。新關(guān)系中的元組(行)是原關(guān)系中元組的子集。選擇操作根據(jù)要求從原先關(guān)系中選擇部分元組。結(jié)果關(guān)系中的屬性(列)與原關(guān)系相同(保持不變)。 例如:
5、從學(xué)生登記表(S)中,選出性別為“男”的學(xué)生元組,組成一個(gè)新關(guān)系“男學(xué)生登記表”。,關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作),投影 是一元操作,它作用于一個(gè)關(guān)系并產(chǎn)生另一個(gè)新關(guān)系。新關(guān)系中的屬性(列)是原關(guān)系中屬性的子集。在一般情況下,雖然新關(guān)系中的元組屬性減少了,但其元組(行)的數(shù)量與原關(guān)系保持不變。 例如:需要了解學(xué)生選課情況而不關(guān)心其成績(jī)時(shí),可對(duì)學(xué)生選課成績(jī)表(SC)進(jìn)行相關(guān)的投影操作. 。,其結(jié)果的每個(gè)元組僅包括學(xué)(SNO) 課程號(hào)(CNO) 兩個(gè)屬性,關(guān)系數(shù)據(jù)模型 (專門的關(guān)系操作),連接 是一個(gè)二元操作。它基于共有屬性把兩個(gè)關(guān)系組合起來。連接操作比較復(fù)雜并有較多的變化。 例如:學(xué)生登記表(
6、S)和學(xué)生選課成績(jī)表(SC)的連接,生成一個(gè)信息更全面的關(guān)系.,對(duì)于已選課程的學(xué)生而言,結(jié)果關(guān)系包含SC表原來的信息,并增加了該學(xué)生選修課程號(hào)(CNO)和成績(jī)(GRADE)。,關(guān)系數(shù)據(jù)庫(kù)語言SQL,數(shù)據(jù)庫(kù)語言 以上討論的關(guān)系操作,比較直觀地說明了其對(duì)二維表運(yùn)算的含意(數(shù)學(xué)上對(duì)關(guān)系操作的抽象描述是“關(guān)系代數(shù)”)。在此基礎(chǔ)上,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)必須配置與此相應(yīng)的語言,使用戶可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行各式各樣的操作,這就構(gòu)成了用戶和數(shù)據(jù)庫(kù)的接口。由于DBMS所提供的語言一般局限于對(duì)數(shù)據(jù)庫(kù)的操作,不同于計(jì)算機(jī)的程序設(shè)計(jì)語言,因而稱它為數(shù)據(jù)庫(kù)語言.,DB,數(shù)據(jù)庫(kù)語言 程序,用戶,關(guān)系數(shù)據(jù)庫(kù)語言SQL,關(guān)系數(shù)據(jù)庫(kù)語
7、言SQL特點(diǎn) 是一種“非過程語言” 體現(xiàn)關(guān)系模型在結(jié)構(gòu),完整性和操作方面的特征 有命令和嵌入程序兩種使用方式 功能齊全,簡(jiǎn)潔易學(xué),使用方便 為主流DBMS產(chǎn)品所支持,用戶只要指出“做什么”,而“如何做”的 過程由DBMS完成.,命令式:直接用語句操作 嵌入式:將語句嵌入程序,ORACLE,MS-SQL Server,Sybase DB2,(Access,VFP有接口),關(guān)系數(shù)據(jù)庫(kù)語言SQL,關(guān)系數(shù)據(jù)庫(kù)語言SQL 3級(jí)體系結(jié)構(gòu),用戶看到的關(guān)系模式主要是視圖,系統(tǒng)的全局關(guān)系模式是基本表,系統(tǒng)的存儲(chǔ)結(jié)構(gòu)是文件,關(guān)系數(shù)據(jù)庫(kù)語言SQL,SQL數(shù)據(jù)定義語言DDL 作為建立數(shù)據(jù)庫(kù)最重要的一步,根據(jù)關(guān)系模式定
8、義所需的基本表,SQL語句表示為: 其中: 表示可含有該子句,也可為空. 基本表名字. 每個(gè)基本表可以由一個(gè)或多個(gè)列組成。 定義基本表時(shí)要指明每個(gè)列的類型和長(zhǎng)度,同時(shí)還可 以定義與該表有關(guān)的完整性約束條件,,CREATE TABLE (列名數(shù)據(jù)類型完整性約束條件,),關(guān)系數(shù)據(jù)庫(kù)語言SQL,DDL例: 按照關(guān)系模式S,定義學(xué)生基本表的SQL語句:,執(zhí)行語句后,在數(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)
9、 BDATE DATE, (類型為日期型) HEIGHT DEC(5,2), (類型為5位十進(jìn)制數(shù),小數(shù)點(diǎn)后2位) PRIMARY KEY(SNO);(指明SNO為S的主鍵),關(guān)系數(shù)據(jù)庫(kù)語言SQL,SQL的數(shù)據(jù)查詢 查詢是數(shù)據(jù)庫(kù)的核心操作。SQL提供SELECT語句,具有靈活的使用方式和極強(qiáng)查詢的功能。關(guān)系操作中最常用的是“投影、選擇和連接”,都體現(xiàn)在SELECT語句中: SELECT A1,A2,An FROM R1,R2,Rm WHERE F SELECT語句語義為:將FROM子句所指出的R(基本表或視圖)進(jìn)行連接,從中選取滿足WHERE子句中條件F的行(元組),最后根據(jù)SELECT子句給
10、出的A(列名)將查詢結(jié)果表輸出。,指出目標(biāo)表的列名,相應(yīng)于“投影”,指出基本表或視圖,相應(yīng)于“連接”,F為“選擇”操作的條件,關(guān)系數(shù)據(jù)庫(kù)語言SQL,單表查詢 從指定的一個(gè)表中找出符合條件的元組. 例如,查詢所有男學(xué)生名的情況.,SELECT * FROM S WHERE SEX男;,關(guān)系數(shù)據(jù)庫(kù)語言SQL,連接查詢 一個(gè)查詢同時(shí)涉及兩個(gè)以上的表,稱連接查詢。是關(guān)系數(shù)據(jù)庫(kù)中最主要的查詢。例如,查詢每個(gè)男學(xué)生及其選修課程的情況。要求列出學(xué)生名,系別,選修課程名及成績(jī)。 SELECT SNANE,DEPART,CNAME,GRADE FROM S,C,SC WHERE S.SNOSC.SNO AND
11、SC.CNOC.CNO AND S.SEX男;,查詢涉及S、C和SC三個(gè)表, S和SC表通過SNO作連接 ,C和SC表通過CNO來實(shí)現(xiàn)連接,關(guān)系數(shù)據(jù)庫(kù)語言SQL,SQL的數(shù)據(jù)更新 SQL提供了插入數(shù)據(jù)、更改數(shù)據(jù)和刪除數(shù)據(jù)的3類語句。 (1) 插入語句 插入語句INSERT可將一個(gè)記錄插入到指定的表中: 例如,將一個(gè)新的課程記錄插入到課程開設(shè)表C中:,INSERT INTO (,) VALUES(,),INSERT INTO S(CNO,CNAME,LHOUR,SEMESTER) VALUES(CW101,論文寫作,30,春),關(guān)系數(shù)據(jù)庫(kù)語言SQL,(2)更改語句 對(duì)指定表中已有數(shù)據(jù)進(jìn)行修改。語
12、句格式如下: 其功能是修改指定表中滿足WHERE子句條件的記錄,其中SET子句給出的值用于取代相應(yīng)列的值. 例如 :將ME234課程的課時(shí)改為30,并改成春季開設(shè):,UPDATE SET .WHERE,UPDATE C SET LHOUR=30, SEMESTER春 WHERE CNOME234 ;,關(guān)系數(shù)據(jù)庫(kù)語言SQL,(3)刪除數(shù)據(jù) SQL刪除語句的格式為: 其功能是從指定表中刪除滿足WHERE子句條件的記錄。如果省略WHERE子句,則刪除表中所有記錄. 例如,從C表中刪除課程號(hào)為CC112的記錄:,DELETE FROM WHERE ,DELETE FROM C WHERE CNO=CC
13、112;,關(guān)系數(shù)據(jù)庫(kù)語言SQL,SQL的視圖 視圖是DBMS所提供的一種由用戶觀察數(shù)據(jù)庫(kù)中數(shù)據(jù)的重要機(jī)制。視圖可由基本表或其他視圖導(dǎo)出。它與基本表不同,視圖只是一個(gè)虛表,在數(shù)據(jù)字典中保留其邏輯定義,而不作為一個(gè)表實(shí)際存儲(chǔ)數(shù)據(jù)。 SQL用CREATE VIEW語句建立視圖,其格式為: CREATE VIEW 視圖名列名, AS 子查詢,關(guān)系數(shù)據(jù)庫(kù)語言SQL,SQL視圖的例: 例如,若建立管理工程系學(xué)生的視圖ME_S,語句為: 視圖定義后,用戶就可以象對(duì)基本表操作一樣對(duì)視圖進(jìn)行查詢。例如,在管理工程系的學(xué)生視圖中找出年齡大于25歲的學(xué)生,其SQL語句為:,CREATE VIEW ME_s AS (
14、SELECT SNO,SNAME,SEX,BDATE,HEIGHT FROM S WHERE DEPART管理工程) ;,SELECT SNANE 2008-YEAR(BDATE) FROM ME_S WHERE 2008YEAR(BDATE)25;,數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用新技術(shù),數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展 DBS運(yùn)行在計(jì)算機(jī)系統(tǒng)之上,其體系結(jié)構(gòu)與計(jì)算機(jī)體系結(jié)構(gòu)密切相關(guān)。因此DBS的系統(tǒng)結(jié)構(gòu)也隨著它的硬件和軟件支撐環(huán)境的變化而不斷演變。 集中式數(shù)據(jù)庫(kù)系統(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ù)交互。在這種系統(tǒng)中,
15、不但數(shù)據(jù)是集中的,數(shù)據(jù)的管理也是集中的。,. .,終端,DB,數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展, 客戶/服務(wù)器結(jié)構(gòu)(C/S) 是一種網(wǎng)絡(luò)處理系統(tǒng)。有多臺(tái)用作客戶機(jī)的計(jì)算機(jī)和一至多臺(tái)用作服務(wù)器的計(jì)算機(jī)??蛻魴C(jī)直接面向用戶,接收并處理任務(wù),將需要DB操作的任務(wù)委托服務(wù)器執(zhí)行;而服務(wù)器只接收這種委托,完成對(duì)DB的查詢和更新,并把查詢結(jié)果返回給客戶機(jī)。C/S結(jié)構(gòu)的DBS雖然處理上是分布的,但數(shù)據(jù)卻是集中的,還是屬于集中式數(shù)據(jù)庫(kù)系統(tǒng)。,客戶機(jī),計(jì)算機(jī)網(wǎng)絡(luò),DB,數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展, 瀏覽器/服務(wù)器結(jié)構(gòu)(B/S) 由瀏覽器,Web服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器3個(gè)層次組成.客戶端使用一個(gè)通用的瀏覽器代替了各種應(yīng)
16、用軟件.用戶操作通過瀏覽器執(zhí)行.,客戶機(jī),計(jì)算機(jī)網(wǎng)絡(luò),DB,瀏覽器,數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展, 分布式數(shù)據(jù)庫(kù)系統(tǒng) 數(shù)據(jù)共享和數(shù)據(jù)集中管理是數(shù)據(jù)庫(kù)的主要特征。但面對(duì)應(yīng)用規(guī)模的擴(kuò)大和用戶地理位置分散的實(shí)際情況,如果一個(gè)單位的計(jì)算機(jī)仍用聯(lián)網(wǎng)式的集中數(shù)據(jù)庫(kù)系統(tǒng),將會(huì)產(chǎn)生很多問題: 各個(gè)用戶結(jié)點(diǎn)計(jì)算機(jī)要通過網(wǎng)絡(luò)存取數(shù)據(jù), 如何解決通信開銷太大和延遲的問題? 一旦數(shù)據(jù)庫(kù)不能工作還將導(dǎo)致整個(gè)系統(tǒng) 的癱瘓,如何保證系統(tǒng)的可用性和可擴(kuò)性?,?,數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的發(fā)展,在分布式DBS中,把一個(gè)單位的數(shù)據(jù)按其來源和用途,合理分布在系統(tǒng)的多個(gè)地理位置不同的計(jì)算機(jī)結(jié)點(diǎn)上(局部數(shù)據(jù)庫(kù)),使數(shù)據(jù)可以就近存取。數(shù)據(jù)在物理上分布后,由系統(tǒng)統(tǒng)一管理。系統(tǒng)中每個(gè)地理位置上的結(jié)點(diǎn)實(shí)際上是一個(gè)獨(dú)立的DBS,它包括本地結(jié)點(diǎn)用戶、本地DBMS和應(yīng)用軟件。每個(gè)結(jié)點(diǎn)上的用戶都可以通過網(wǎng)絡(luò)對(duì)其他結(jié)點(diǎn)數(shù)據(jù)庫(kù)上的數(shù)據(jù)進(jìn)行訪問,就如同這些數(shù)據(jù)都存儲(chǔ)在自己所在的結(jié)點(diǎn)數(shù)據(jù)庫(kù)上一樣。,計(jì)算機(jī)網(wǎng)絡(luò),DB,DB,DB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)車間照明管理制度
- 2026廣西柳州市柳北區(qū)雅儒街道辦事處招聘公益性崗位人員1人備考題庫(kù)及1套參考答案詳解
- 觀看安全生產(chǎn)晨會(huì)制度
- 機(jī)磚廠生產(chǎn)安全制度
- 肥廠安全生產(chǎn)責(zé)任制度
- 安全生產(chǎn)三級(jí)預(yù)警制度
- 劃分安全生產(chǎn)責(zé)任制度
- 安全人員生產(chǎn)職責(zé)制度
- 副食品生產(chǎn)管理制度
- 產(chǎn)品生產(chǎn)質(zhì)量管理制度
- 統(tǒng)編版六年級(jí)語文第一學(xué)期期末練習(xí)卷
- 2026年社區(qū)活動(dòng)組織服務(wù)合同
- 兒童呼吸道感染用藥指導(dǎo)
- 防意外傷害安全班會(huì)課件
- 2025年國(guó)家基本公共衛(wèi)生服務(wù)考試試題(附答案)
- 2025年醫(yī)院社區(qū)衛(wèi)生服務(wù)中心工作總結(jié)及2026年工作計(jì)劃
- 2025-2026學(xué)年北師大版七年級(jí)生物上冊(cè)知識(shí)點(diǎn)清單
- 委托作品協(xié)議書
- 食品加工廠乳制品設(shè)備安裝方案
- 2025至2030中國(guó)芳綸纖維行業(yè)發(fā)展分析及市場(chǎng)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 尾牙宴活動(dòng)策劃方案(3篇)
評(píng)論
0/150
提交評(píng)論