自考數(shù)據(jù)庫系統(tǒng)原理完整版_第1頁
自考數(shù)據(jù)庫系統(tǒng)原理完整版_第2頁
自考數(shù)據(jù)庫系統(tǒng)原理完整版_第3頁
自考數(shù)據(jù)庫系統(tǒng)原理完整版_第4頁
自考數(shù)據(jù)庫系統(tǒng)原理完整版_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、自考數(shù)據(jù)庫系統(tǒng)原理串講筆記第一章數(shù)據(jù)庫基礎(chǔ)知識學(xué)習(xí)目的與要求:本章屬于基礎(chǔ)知識,主要是對一些概念的理解和記憶。沒有難點(diǎn),相對的重點(diǎn)是數(shù)據(jù)模型的四個層次,數(shù)據(jù)庫管理系統(tǒng)的功能,數(shù)據(jù)庫系統(tǒng)的全局結(jié)構(gòu)??己酥R點(diǎn)與考核要求1.1數(shù)據(jù)管理技術(shù)的發(fā)展階段(識記)1.2數(shù)據(jù)描述的術(shù)語(領(lǐng)會)1.3數(shù)據(jù)抽象的級別(領(lǐng)會)1.4數(shù)據(jù)庫管理系統(tǒng)(DBMS) (領(lǐng)會)1.5數(shù)據(jù)庫系統(tǒng)(DBS)(領(lǐng)會)1.1數(shù)據(jù)管理技術(shù)的發(fā)展幾個數(shù)據(jù)庫的基本術(shù)語:數(shù)據(jù): 描述事物的符號記錄數(shù)據(jù)處理:是指從某些已知的數(shù)據(jù)出發(fā),推導(dǎo)加工出一些新的數(shù)據(jù),這些新的數(shù)據(jù)又表示了新的信息。 數(shù)據(jù)管理:是指數(shù)據(jù)的收集、整理、組織、存儲、維護(hù)、檢

2、索、傳送等操作,這部分操作是數(shù)據(jù)處理業(yè)務(wù)的基本環(huán)節(jié),而且是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有部分。 數(shù)據(jù)管理技術(shù):對數(shù)據(jù)的收集、整理、組織、存儲、維護(hù)、檢索、傳送等操作,基本目的就是從大量的,雜亂無章的,難以理解的數(shù)據(jù)中篩選出有意義的數(shù)據(jù)。數(shù)據(jù)處理是與數(shù)據(jù)管理相聯(lián)系的,數(shù)據(jù)管理技術(shù)的優(yōu)劣,將直接影響數(shù)據(jù)處理的效率。1.人工管理階段(20世紀(jì)50年代中期以前)數(shù)據(jù)不保存在機(jī)器中;)沒有專用軟件對數(shù)據(jù)進(jìn)行管理;)只有程序的概念,沒有文件的概念;)數(shù)據(jù)面向程序。2. 文件系統(tǒng)階段特點(diǎn)與缺陷(20世紀(jì)50年代后期至60年代中期)數(shù)據(jù)可長期保存在磁盤上; )數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別;)文件組織呈現(xiàn)

3、多樣化;)數(shù)據(jù)不再屬于某個特定程序,可以重復(fù)使用;)對數(shù)據(jù)的操作以記錄為單位。文件系統(tǒng)三個缺陷:)數(shù)據(jù)冗余性)數(shù)據(jù)不一致性)數(shù)據(jù)聯(lián)系弱3.數(shù)據(jù)庫階段(20世紀(jì)60年代后至今)數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫階段的標(biāo)志是20世紀(jì)60年代末三件大事:)1968年美國IBM公司推出層次模型的IMS系統(tǒng);)1969年美國CODASYL組織發(fā)布了DBTG報告??偨Y(jié)了當(dāng)時各式各樣的數(shù)據(jù)庫,提出網(wǎng)狀模型,爾后于1971年4月正式通過。)1970年美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。數(shù)據(jù)庫管理階段特點(diǎn):1)采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);2)有較高的數(shù)據(jù)獨(dú)立性;3)數(shù)

4、據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口。4)數(shù)據(jù)庫系統(tǒng)提供以下四個方面的數(shù)據(jù)控制功能: 數(shù)據(jù)庫的恢復(fù); 數(shù)據(jù)庫的并發(fā)控制; 數(shù)據(jù)庫的完整性; 數(shù)據(jù)庫的安全性;5)增加了系統(tǒng)的靈活性。增加了系統(tǒng)的靈活性對數(shù)據(jù)的操作不一定以記錄為單位,可以以數(shù)據(jù)項為單位。數(shù)據(jù)庫技術(shù)中的四個名詞:DB、DBMS、DBS、數(shù)據(jù)庫技術(shù)。其概念是不同的,要分清。DB:數(shù)據(jù)庫(Database)長期存儲在計算機(jī)內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DBMS:數(shù)據(jù)庫管理系統(tǒng)(Database Management System),DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法,包括DB的

5、建立、查詢、更新及各種數(shù)據(jù)控制。DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮虳BMS。DBS:數(shù)據(jù)庫系統(tǒng)(Database System),DBS是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機(jī)系統(tǒng)。數(shù)據(jù)庫技術(shù):是一門研究數(shù)據(jù)庫結(jié)構(gòu)、存儲、管理和使用的一門軟件學(xué)科。4.高級數(shù)據(jù)庫階段:)面向?qū)ο蟮母拍罱#╅_放數(shù)據(jù)庫互連技術(shù)1.2數(shù)據(jù)描述在數(shù)據(jù)處理中,數(shù)據(jù)描述將涉及不同的范疇。從事物的特性到計算機(jī)中的具體表示,數(shù)據(jù)描述經(jīng)歷了三個階段概念設(shè)計、邏輯設(shè)計和物理設(shè)計。1.概念設(shè)計中的的數(shù)據(jù)描述)實體)

6、實體集)屬性)實體標(biāo)識符2.邏輯設(shè)計中的數(shù)據(jù)描述)字段)記錄)文件)關(guān)鍵碼3.物理設(shè)計中的數(shù)據(jù)描述物理存儲介質(zhì)層次)高速緩沖存儲器)主存儲器)快擦寫存儲器)磁盤存儲器)光盤存儲器)磁帶物理存儲中的數(shù)據(jù)描述位、字節(jié)、字、塊、桶和卷4.數(shù)據(jù)聯(lián)系的描述聯(lián)系及元數(shù)定義:二元聯(lián)系有以下三種類型:1:1聯(lián)系 :如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯(lián)系,反之亦然,好么實體集E1對E2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。1:N聯(lián)系 :如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系,那么E1對E2的聯(lián)系是“一對多聯(lián)

7、系”,記為“1:N”。M:N聯(lián)系 :如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么E1對E2的聯(lián)系是“多對多聯(lián)系”,記為“M:N”。1.3數(shù)據(jù)抽象的級別1.數(shù)據(jù)抽象的過程根據(jù)抽象的級別定義了四種模型:)概念數(shù)據(jù)模型)邏輯數(shù)據(jù)模型)外部數(shù)據(jù)模型)內(nèi)部數(shù)據(jù)模型2.概念模型)四種模型中,概念模型的抽象級別最高。)概念模型的特點(diǎn):(p12)3.邏輯模型邏輯模型的特點(diǎn):(p13)(1)(4)邏輯模型的分類:)層次模型)網(wǎng)狀模型)關(guān)系模型三種邏輯數(shù)據(jù)模型的比較?如P17圖4.外部模型外部模型的特點(diǎn):(p17)從整個系統(tǒng)考察,外部模型的優(yōu)點(diǎn)。5.內(nèi)部模型是數(shù)據(jù)庫最底的抽

8、象,它描述數(shù)據(jù)在磁盤或磁帶上的存儲方式、存取設(shè)備和存取方法。6.三層模式和兩級映象三層模式體系結(jié)構(gòu))外模式:是用戶與數(shù)據(jù)庫系統(tǒng)的接口,是用戶用到的那部分?jǐn)?shù)據(jù)的描述。)邏輯模式:是數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。)內(nèi)模式:是數(shù)據(jù)庫在物理存儲方面的描述,定義所有內(nèi)部記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細(xì)節(jié)。兩級映象外模式/邏輯模式映象:用于定義概念模式和內(nèi)模式之間的對應(yīng)性。一般在內(nèi)模式中描述。 邏輯模式/內(nèi)模式映象:用于定義外模式和概念模式間的對應(yīng)性。一般在外模式中描述。 7.高度的數(shù)據(jù)獨(dú)立性什么叫數(shù)據(jù)獨(dú)立性? 是指應(yīng)用程序和數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,不受影響。在修改數(shù)據(jù)結(jié)

9、構(gòu)時,盡可能不修改應(yīng)用程序,則稱系統(tǒng)達(dá)到了數(shù)據(jù)獨(dú)立性目標(biāo)。數(shù)據(jù)獨(dú)立性分為物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性:物理數(shù)據(jù)獨(dú)立性:修改內(nèi)模式時盡量不影響概念模式及外模式,則達(dá)到物理數(shù)據(jù)獨(dú)立性。邏輯數(shù)據(jù)獨(dú)立性:修改概念模式時盡量不影響外模式和應(yīng)用程序。1.4數(shù)據(jù)庫管理系統(tǒng)(DBMS)1.DBMS的目標(biāo)與任務(wù):數(shù)據(jù)庫管理系統(tǒng)的主要任務(wù)是完成用戶對數(shù)據(jù)庫的存取請求,即檢索、插入、更新或刪除等操作。DBMS的目標(biāo):用戶界面友好、功能完善、結(jié)構(gòu)清晰、高效率、開放性 2.DBMS的工作模式(p20圖)3.DBMS的主要功能:)數(shù)據(jù)庫的定義功能)數(shù)據(jù)庫的操縱功能)數(shù)據(jù)庫的保護(hù)功能(數(shù)據(jù)庫恢復(fù)、數(shù)據(jù)庫并發(fā)控制、數(shù)據(jù)庫完

10、整性和數(shù)據(jù)庫安全性)數(shù)據(jù)庫的維護(hù)功能)數(shù)據(jù)字典1.5數(shù)據(jù)庫系統(tǒng)(DBS)1.DBS由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。2.數(shù)據(jù)庫管理員定義及職責(zé)。(素質(zhì)+職責(zé))3.DBS的全局結(jié)構(gòu)及DBS的效益。(數(shù)據(jù)庫用戶+界面+DBMS+磁盤+DBS的效益)第二章數(shù)據(jù)庫設(shè)計和ER模型學(xué)習(xí)目的與要求:本章總的目的要求是了解和掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的全過程。首先掌握ER模型和關(guān)系模型的基本概念,然后掌握概念設(shè)計中ER模型的設(shè)計方法,邏輯設(shè)計中ER模型向關(guān)系模型轉(zhuǎn)換方法??己酥R點(diǎn)與考核要求2.1數(shù)據(jù)庫系統(tǒng)生存期(領(lǐng)會)2.2ER模型的基本概念(綜合應(yīng)用)2.3關(guān)系模型的基本概念(綜合應(yīng)用)2.4E

11、R模型到關(guān)系模型的轉(zhuǎn)換規(guī)則(綜合應(yīng)用)2.5ER模型實例分析(簡單應(yīng)用)2.6增強(qiáng)ER模型(簡單應(yīng)用)從軟件生存期談起軟件生存期:是指從軟件的規(guī)劃、研制、實現(xiàn)、投入運(yùn)行后的維護(hù)、直到它被新的軟件所取代而停止使用的整個期間。它包括六個階段:( 規(guī)需設(shè)編試運(yùn)維 ) (1)規(guī)劃階段 (2)需求分析階段 (3)設(shè)計階段 (4)程序編制階段 (5)調(diào)試階段 (6)運(yùn)行維護(hù)階段 2.1數(shù)據(jù)系統(tǒng)生存期1.什么叫數(shù)據(jù)庫系統(tǒng)生存期?我們把數(shù)據(jù)庫應(yīng)用系統(tǒng)從開始規(guī)劃、設(shè)計、實現(xiàn)、維護(hù)到最后被新的系統(tǒng)取代而停止使用的整個期間,稱為數(shù)據(jù)庫系統(tǒng)生存期。2.這個生存期一般可劃分成以下七個階段:規(guī)劃、需求分析、概念設(shè)計、邏輯

12、設(shè)計、物理設(shè)計、實現(xiàn)、運(yùn)行維護(hù)。.2ER模型的基本概念1.ER模型的基本元素實體、聯(lián)系和屬性2.屬性的分類(簡單屬性和復(fù)合屬性、單值屬性和多值屬性、存儲屬性和派生屬性)3.聯(lián)系的設(shè)計4.ER模型的操作(分裂、合并和增刪)5.采用ER模型的數(shù)據(jù)庫概念設(shè)計步驟采用ER方法進(jìn)行數(shù)據(jù)庫概念設(shè)計分成三步進(jìn)行: 首先設(shè)計局部ER模式 然后把各局部ER模式綜合成全局ER模式 最后對全局ER模式進(jìn)行優(yōu)化 2.3關(guān)系模型的基本概念.關(guān)系模型定義:用二維表格結(jié)構(gòu)表示實體集、外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。2.基本術(shù)語有:字段(屬性)、字段值(屬性值)、記錄(元組)、二維表格(元組集合、關(guān)系或?qū)嵗?。在這

13、里,括號中的表述為關(guān)系模型中的術(shù)語。它與表格中術(shù)語可以一一對應(yīng)。還有,關(guān)系中屬性個數(shù)稱為元數(shù),元組個數(shù)為基數(shù)。3.鍵:由一個或幾個屬性組成。(注意鍵不一定是唯一的一個屬性)。1)超鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。(注意,超鍵也是一個屬性集,不一定只是一個屬性)2)候選鍵:不含有多余屬性的超鍵稱為候選鍵。3)主鍵:用戶選作元組標(biāo)識的一個候選鍵為主鍵。4)外鍵:某個關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時該主鍵在就是另一關(guān)系的外鍵,如有兩個關(guān)系S和SC,其中S#是關(guān)系S的主鍵,相應(yīng)的屬性S#在關(guān)系SC中也出現(xiàn),此時S#就是關(guān)系SC的外鍵。.關(guān)系的定義和性質(zhì))關(guān)系定義:關(guān)系是

14、一個屬性數(shù)目相同的元組的集合。)關(guān)系性質(zhì)(p53)5.三類完整性規(guī)則)實體完整性規(guī)則:要求關(guān)系中組成主鍵的屬性上不能有空值。 )參照完整性規(guī)則:要求不引用不存在的實體。 )用戶定義完整性規(guī)則:由具體應(yīng)用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機(jī)制。 2.4E-R模型向關(guān)系模型的轉(zhuǎn)換E-R模型可以向現(xiàn)有的各種數(shù)據(jù)庫模型轉(zhuǎn)換,對不同的數(shù)據(jù)庫模型有不同的轉(zhuǎn)換規(guī)則。這里只討論E-R模型向關(guān)系模型的轉(zhuǎn)換方法。1.E-R模型向關(guān)系模型的轉(zhuǎn)換規(guī)則:(1)實體類型的轉(zhuǎn)換將每個實體類型轉(zhuǎn)換成一個關(guān)系模式,實體的屬性即為關(guān)系的屬性,實體標(biāo)識符即為關(guān)系的鍵。(2)聯(lián)系類型的轉(zhuǎn)換1)實體間的聯(lián)系是1:1可以在兩個實體

15、類型轉(zhuǎn)換成兩個關(guān)系模式中的任意一個關(guān)系模式的屬性中加入另一個關(guān)系模式的鍵和聯(lián)系類型的屬性。2)如實體間的聯(lián)系是1:N則在N端實體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實體類型轉(zhuǎn)換成的關(guān)系模式的鍵和聯(lián)系類型的屬性。3)如實體間的聯(lián)系是M:N則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。以上各轉(zhuǎn)換規(guī)則,給出了一般情況下E-R模型向關(guān)系模型的轉(zhuǎn)換方法。但在實際應(yīng)用中往往還需要根具實際情況進(jìn)行具體處理。下面以圖書借閱系統(tǒng)的E-R模型轉(zhuǎn)換為關(guān)系模型為例。該例中,由于允許同一本書在不同的時間借給多個讀者,特別是一個讀者在不同的時間可以借同一本書。因而,在多對多聯(lián)

16、系“借閱”轉(zhuǎn)換為關(guān)系模式時,僅有讀者的編號和圖書的編號是不能構(gòu)成碼的。例如:(0406010,F(xiàn)33.33,2006-10-10:10:10,2007-02-20:3:00)(0406010,F33.33,2007-5-26:4:00,NULL)說明,按照上述介紹的轉(zhuǎn)換方法得到的關(guān)系模型不一定是最好的。實際應(yīng)用中,往往還要對得到的關(guān)系模型進(jìn)行規(guī)范化。2.5和2.6實例分析,同學(xué)們多看書!1.庫存管理系統(tǒng)的ER模型及轉(zhuǎn)換2.人事管理信息系統(tǒng)的ER模型3.住院管理信息系統(tǒng)的ER模型4.公司車隊信息系統(tǒng)的ER模型更多優(yōu)質(zhì)自考資料盡在百度貼吧自考樂園俱樂部(/club/5346389)歡迎加入.歡迎交

17、流.止不住的驚喜等著你第三章關(guān)系模式設(shè)計理論學(xué)習(xí)目的與要求:本章特點(diǎn)是理論性較強(qiáng),學(xué)習(xí)者應(yīng)從概念著手,搞清概念間的聯(lián)系和作用。本章總的要求是:了解關(guān)系數(shù)據(jù)庫規(guī)范化理論及其在數(shù)據(jù)庫設(shè)計中的作用。本章的重點(diǎn)是函數(shù)依賴、無損分解、保持依賴和范式。掌握這些概念并能運(yùn)用它們分析模式分解的特點(diǎn)??己酥R點(diǎn)與考核要求3.1關(guān)系模式的設(shè)計準(zhǔn)則(簡單應(yīng)用)3.2函數(shù)依賴(FD)(簡單應(yīng)用)3.3關(guān)系模式的分解特性(簡單應(yīng)用)3.4范式1NF、2NF、3NF(簡單應(yīng)用)BCNF(領(lǐng)會) 分解成BCNF模式集的“分解算法”(識記)分解成3NF模式集的“合成算法”(綜合應(yīng)用)模式設(shè)計方法小結(jié)(領(lǐng)會)3.5多值依賴和第

18、四范式(識記)3.1關(guān)系模式的設(shè)計準(zhǔn)則1.關(guān)系模式的冗余和異常問題)數(shù)據(jù)冗余)操作異常(修改異常、插入異常和刪除異常) 2.關(guān)系模式的非形式化設(shè)計準(zhǔn)則)關(guān)系模式的設(shè)計應(yīng)盡可能只包含有直接聯(lián)系的屬性,不包括有間接聯(lián)系的屬性)關(guān)系模式的設(shè)計應(yīng)盡可能使得相應(yīng)關(guān)系中不出現(xiàn)插入、刪除和修改異常。)關(guān)系模式的設(shè)計應(yīng)盡可能使得相應(yīng)關(guān)系中避免放置經(jīng)常為空值的屬性。)關(guān)系模式的設(shè)計應(yīng)盡可能使得關(guān)系的等值連接在主鍵和外鍵的屬性上進(jìn)行,并且保證連接以后不會生成額外的元組。3.2函數(shù)依賴1.函數(shù)依賴的定義設(shè)有關(guān)系模式R(A1,A2,.An)或簡記為R(U),X,Y是U的子集,r是R的任一具體關(guān)系,如果對r的任意兩個元

19、組t1,t2,由t1X=t2X導(dǎo)致t1Y=t2Y,則稱X函數(shù)決定Y,或Y函數(shù)依賴于X,記為XY。XY為模式R的一個函數(shù)依賴。這個定義可以這樣理解:有一張設(shè)計好的二維表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,這就是說Y函數(shù)依賴于X。2.函數(shù)依賴的邏輯蘊(yùn)涵設(shè)F是關(guān)系模式R的一個函數(shù)依賴集,X,Y是R的屬性子集,如果從F中的函數(shù)依賴能夠推出XY,則稱F邏輯蘊(yùn)涵XY,記為F|=XY。而函數(shù)依賴的閉包F + 是指被F邏輯蘊(yùn)涵的函數(shù)依賴的全體構(gòu)成的集合。3.鍵和FD的關(guān)系鍵是唯一標(biāo)識實體的屬性集。對于鍵和函數(shù)依賴的

20、關(guān)系:有兩個條件:設(shè)關(guān)系模式R(A1,A2.An),F(xiàn)是R上的函數(shù)依賴集,X是R的一個子集:1aXA1A2.AnF +(它的意思是X能夠決定唯一的一個元組)2a不存在X的真子集Y,使得Y也能決定唯一的一個元組,則X就是R的一個候選鍵。(它的意思是X能決定唯一的一個元組但又沒有多余的屬性集)包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何鍵中的屬性為非主屬性(非鍵屬性),(注意) 主屬性應(yīng)當(dāng)包含在候選鍵中。4.函數(shù)依賴(FD)的推理規(guī)則前面我們舉的例子中是以實際經(jīng)驗來確定一個函數(shù)依賴的邏輯蘊(yùn)涵,但是我們需要一個推理規(guī)則才能完全確定F或F+的所有函數(shù)依賴。設(shè)有關(guān)系模式R(U),X,Y,Z,W均

21、是U的子集,F(xiàn)是R上只涉及到U中屬性的函數(shù)依賴集,推理規(guī)則如下:A1a自反性:如果Y X U,則XY在R上成立。A2a增廣性:如果XY為F所蘊(yùn)涵,Z U,則XZYZ在R上成立。(XZ表示XZ,下同)A3a傳遞性:如果XY和YZ在R上成立,則XZ在R上成立。A4a合并性:如果XY和XZ成立,那么XYZ成立。A6a分解性:如果XY和Z Y成立,那么XZ成立。A5a偽傳性:如果XY和WYZ成立,那么WXZ成立。A7a復(fù)合性:XY, WZ |=XW YZ。A8a通用一致性定理:XY, WZ |=x (X-Y) YZ。5.函數(shù)依賴推理規(guī)則的完備性函數(shù)依賴推理規(guī)則系統(tǒng)(自反性、增廣性和傳遞性)是完備的。由

22、推理規(guī)則的完備性可得到兩個重要結(jié)論:1a屬性集X + 中的每個屬性A,都有XA被F邏輯蘊(yùn)涵,即X + 是所有由F邏輯蘊(yùn)含XA的屬性A的集合。 2aF+ 是所有利用Amstrong推理規(guī)則從F導(dǎo)出的函數(shù)依賴的集合。6.函數(shù)依賴集的等價和覆蓋在關(guān)系模式R(U)上的兩個函數(shù)依賴集F和G,如果 滿足F + =G + ,則稱F和G是 等價 的,稱F和G等價也稱F 覆蓋 G或G覆蓋F。每個函數(shù)依賴集F都可以被一個 右部只有單屬性的函數(shù)依賴集 G所覆蓋。如果函數(shù)依賴集合F滿足:(1)F中每一個函數(shù)依賴的右部都是單屬性;(2)F中的任一函數(shù)依賴XA,其F-XA是不等價的;(3)F中的任一函數(shù)依賴XA,Z為X的

23、子集。(F-XA)ZA與F不等價。則稱F為最小函數(shù)依賴集合。如果函數(shù)依賴集F和G等價,并且G是最小集,那么稱G是F的一個 最小覆蓋 。這一段并不要求掌握最小集的求法,但是應(yīng)當(dāng)通過其求法理解最小集的概念。3.3關(guān)系模式分解特性1.模式分解中存在的問題模式分解就是將一個泛關(guān)系模式 R分解成 數(shù)據(jù)庫模式 ,以代替R的過程。它不僅僅是屬性集合的分解,它是對關(guān)系模式上的函數(shù)依賴集、以及關(guān)系模式的當(dāng)前值分解的具體表現(xiàn)。分解一個模式有很多方法,但是有的分解會出現(xiàn)失去函數(shù)依賴、或出現(xiàn)插入、刪除異常等情況,而有的分解則不出現(xiàn)相關(guān)問題。衡量一個分解的標(biāo)準(zhǔn)有三種:分解具有無損聯(lián)接 ;分解要保持函數(shù)依賴;分解既要保持

24、依賴,又要具有無損聯(lián)接。那么什么是無損聯(lián)接呢?什么又是保持依賴? 2.無損聯(lián)接的定義和性質(zhì)設(shè)R是一關(guān)系模式,分解成=R1,R2,.,Rk,F(xiàn)是R上的一個函數(shù)依賴集。無損聯(lián)接就是指R中每一個滿足F的關(guān)系r(也就是一個關(guān)系實例)都有r= R1 (r)|X| R2 (r).|X| R3 (r),即r為它在Ri上的投影的自然聯(lián)接。最簡單的理解,也就是說,分解后的關(guān)系 自然連接后完全等于 分解前的關(guān)系,則這個分解相對于F是無損聯(lián)接分解。 設(shè)R的分解為=R1,R2,F為R所滿足的函數(shù)依賴集,則分解具有無損聯(lián)接性的充分必要條件是:R1R2(R1-R2) R1R2(R2-R1) 也就是說,分解后的兩個模式的交

25、能決定這兩個模式的差集,即R1、R2的公共屬性能夠函數(shù)決定R1或R2中的其他屬性,這樣的分解就必定是無損聯(lián)接分解。3.保持函數(shù)依賴的分解在分解過程中,要求模式分解的無損聯(lián)接是必要的,只有無損聯(lián)接分解才能保證任何一個關(guān)系能由它的那些投影進(jìn)行自然聯(lián)接得到恢復(fù)。 同時,分解關(guān)系模式時還應(yīng)保證關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫模式中保持不變,這就是保持函數(shù)依賴的問題。也就是所有分解出的模式所滿足的函數(shù)依賴的全體應(yīng)當(dāng)?shù)葍r于原模式的函數(shù)依賴集。只有這樣才能確保整個數(shù)據(jù)庫中數(shù)據(jù)的語義完整性不受破壞。 3.4范式1.1NF、2NF、3NF、BCNF的定義: 1NF:第一范式即關(guān)系模式中的屬性的值域中每一個

26、值都是不可再分解的值。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫模式是屬于第一范式的數(shù)據(jù)庫模式。 2NF:第二范式如果關(guān)系模式R為第一范式,并且R中每一個非主屬性完全函數(shù)依賴于R的某個候選鍵,則稱為第二范式模式。非主屬性、完全函數(shù)依賴、候選鍵三個名詞的含義。候選鍵就是指可以唯一決定關(guān)系模式R中某元組值且不含有多余屬性的屬性集。非主屬性也就是非鍵屬性,指關(guān)系模式R中不包含在任何建中的屬性。設(shè)有函數(shù)依賴WA,若存在XW,有XA成立,那么稱WA是局部依賴,否則就稱WA是 完全函數(shù)依賴 。 在分析是否為第2范式時,應(yīng)首先確定候選鍵,然后把關(guān)系模式中的非主屬性與鍵的依賴關(guān)系進(jìn)行考察,是否都為完全函數(shù)

27、依賴,如是,則此關(guān)系模式為2NF。如果數(shù)據(jù)庫模式中每個關(guān)系模式都是2NF的,則此數(shù)據(jù)庫模式屬于2NF的數(shù)據(jù)庫模式。 3NF:第三范式如果關(guān)系模式R是第二范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式的模式。這里首先要了解傳遞依賴的含義:在關(guān)系模式中,如果YX,XA,且X不決定Y和A不屬于X,那么YA是傳遞依賴。注意的是,這里要求非主屬性都不傳遞依賴于候選鍵。BCNF:這個范式和第三范式有聯(lián)系,它是3NF的改進(jìn)形式。若關(guān)系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵。這種關(guān)系模式就是BCNF模式。 縱觀四種范式,可以發(fā)現(xiàn)它們之間存在如下關(guān)系: 5.分解成BCNF模式集的算

28、法對于任一關(guān)系模式,可找到一個分解達(dá)到3NF,且具有無損聯(lián)接和保持函數(shù)依賴性。而對于BCNF分解,則可以保證無損聯(lián)接但不一定能保證保持函數(shù)依賴集。 無損聯(lián)接分解成BCNF模式集的算法: (1)置初值=R; (2)如果中所有關(guān)系模式都是BCNF,則轉(zhuǎn)(4); (3)如果中有一個關(guān)系模式S不是BCNF,則S中必能找到一個函數(shù)依賴集XA有X不是S的鍵,且A不屬于X,設(shè)S1 =XA,S2 =S-A,用分解S1 ,S2 代替S,轉(zhuǎn)(2); (4)分解結(jié)束。輸出。 在這個過程中,重點(diǎn)在于(3)步,判斷哪個關(guān)系不是BCNF,并找到X和A。這里,S的判斷用BCNF的定義,而X不是S的鍵則依靠分析。 6.分解成

29、3NF模式集算法: (1)如果R中的某些屬性在F的所有依賴的左邊和右邊都不出現(xiàn),那么這些屬性可以從R中分出去,單獨(dú)構(gòu)成一個關(guān)系模式。 (2)如果F中有一個依賴XA有XAR,則=R,轉(zhuǎn)(4) (3)對于F中每一個XA,構(gòu)成一個關(guān)系模式XA,如果F有有XA 1 ,XA 2 .XA n ,則可以用模式XA 1 A 2 .A n 代替n個模式XA 1 ,XA 2 .XA n ; (4)w分解結(jié)束,輸入。 這個過程的重點(diǎn)是這一句 “對于F中每一個XA,構(gòu)成一個關(guān)系模式XA”,這使我們的分解十分容易,然后依據(jù)合并律(合并律:如果XY和XZ成立,那么XYZ成立)將有關(guān)模式合并即得到所需3NF模式。 7.模式

30、設(shè)計方法的原則關(guān)系模式R相對于函數(shù)依賴集F分解成數(shù)據(jù)庫模式=R 1 ,R 2 .R k ,一般具有下面四項特性 : 中每個關(guān)系模式R i上應(yīng)具有某種范式性質(zhì)(3NF或BCNF) 無損聯(lián)接性。 保持函數(shù)依賴集。 最小性,即中模式個數(shù)應(yīng)最少且模式中屬性總數(shù)應(yīng)最少。 一個好的模式設(shè)計方法應(yīng)符合下列三條原則: 表達(dá)性 分離性 最小冗余性 8.多值依賴與第四范式(4NF)例: 學(xué)校中某一門課程由多個教師講授,他們使用相同的一套參考書。關(guān)系模式Teaching(C, T, B)課程C、教師T 和 參考書B多值依賴與第四范式TeachingBCNF:Teach具有唯一候選碼(C,T,B), 即全碼Teach

31、ing模式中存在的問題(1)數(shù)據(jù)冗余度大:有多少名任課教師,參考書就要存儲多少次。(2)插入操作復(fù)雜:當(dāng)某一課程增加一名任課教師時,該課程有多少本參照書,就必須插入多少個元組。例如物理課增加一名教師劉關(guān),需要插入兩個元組: (物理,劉關(guān),普通物理學(xué)) (物理,劉關(guān),光學(xué)原理)(3) 刪除操作復(fù)雜:某一門課要去掉一本參考書,該課程有多少名教師,就必須刪除多少個元組。(4) 修改操作復(fù)雜:某一門課要修改一本參考書,該課程有多少名教師,就必須修改多少個元組。 產(chǎn)生原因存在多值依賴。1)多值依賴設(shè)R(U)是一個屬性集U上的一個關(guān)系模式, X、 Y和Z是U的子集,并且ZUXY,多值依賴 XY成立當(dāng)且僅當(dāng)

32、對R的任一關(guān)系r,r在(X,Z)上的每個值對應(yīng)一組Y的值,這組值僅僅決定于X值而與Z值無關(guān)。例 Teaching(C, T, B)對于C的每一個值,T有一組值與之對應(yīng),而不論B取何值。2)第四范式(4NF)關(guān)系模式R1NF,如果對于R的每個非平凡多值依賴XY(Y X),X都含有候選碼,則R4NF。如果R 4NF, 則R BCNF不允許有非平凡且非函數(shù)依賴的多值依賴允許的是函數(shù)依賴(是非平凡多值依賴)第四章關(guān)系運(yùn)算學(xué)習(xí)目的與要求:本章總的要求是:深刻理解關(guān)系模型的運(yùn)算理論,了解查詢優(yōu)化的意義和啟發(fā)式優(yōu)化算法。本章的重點(diǎn)是關(guān)系代數(shù)運(yùn)算,應(yīng)熟練掌握。關(guān)系演算是本章的難點(diǎn)??己酥R點(diǎn)和考核要求4.1關(guān)

33、系代數(shù)4.1.1關(guān)系代數(shù)的五個基本操作(并、差、笛卡兒積、投影、選 擇)(綜合運(yùn)用)4.1.2關(guān)系代數(shù)的四個組合操作(交、連接、自然連接、除法) (綜合運(yùn)用)4.1.3關(guān)系代數(shù)表達(dá)式的應(yīng)用(綜合運(yùn)用)4.1.4關(guān)系代數(shù)的兩個擴(kuò)充操作(外連接、外部并)(領(lǐng)會)4.2關(guān)系演算4.2.1元組關(guān)系演算的定義及表達(dá)式的含義(簡單應(yīng)用)4.2.2域關(guān)系演算的定義及表達(dá)式的含義(領(lǐng)會)4.2.3關(guān)系運(yùn)算的安全約束和等價性(領(lǐng)會)4.3關(guān)系代數(shù)表達(dá)式的優(yōu)化(領(lǐng)會) 關(guān)系模型有三個重要組成部分:)數(shù)據(jù)結(jié)構(gòu))數(shù)據(jù)操縱)數(shù)據(jù)完整性規(guī)則關(guān)系查詢語言根據(jù)其理論基礎(chǔ)的不同分成兩類:)關(guān)系代數(shù)語言)關(guān)系演算語言4.1關(guān)系代

34、數(shù)1.關(guān)系代數(shù)的五個基本操作:并、差、笛卡爾積、投影和選擇。并 ():兩個關(guān)系需有相同的關(guān)系模式,并的對象是元組,由兩個關(guān)系所有元組構(gòu)成。差 (-):同樣,兩個關(guān)系有相同的模式,R和S的差是由屬于R但不屬于S的元組構(gòu)成的集合。 笛卡兒積(): 對于兩個關(guān)系作運(yùn)算,列:(n+m)列的元組的集合 ,元組的前n列是關(guān)系R的一個元組后m列是關(guān)系S的一個元組,行:k1k2個元組。投影( ):對關(guān)系進(jìn)行垂直分割,消去某些列,并重新安排列的順序。選擇 ():根據(jù)某些條件關(guān)系作水平分割,即選擇符合條件的元組。2.關(guān)系代數(shù)的四個組合操作:交、聯(lián)接、自然聯(lián)接和除法交():R和S的交是由既屬于R又屬于S的元組構(gòu)成的

35、集合。 聯(lián)接包括聯(lián)接和F聯(lián)接,是選擇RS中滿足i(r+j)或F條件的元組構(gòu)成的集合,特別注意等值聯(lián)接 (為等號“=”)。自然聯(lián)接(R|X|S):在RS中,選擇R和S公共屬性值均相等的元組,并去掉RS中重復(fù)的公共屬性列。如果兩個關(guān)系沒有公共屬性,則自然聯(lián)接就轉(zhuǎn)化為笛卡爾積。除法():首先除法的結(jié)果中元數(shù)為兩個元數(shù)的差,可以直接用觀察法來得到結(jié)果,把S看作一個塊,拿到R中去和相同屬性集中的元組作比較,如果有相同的塊,且除去此塊后留下的相應(yīng)元組均相同,那么可以得到一條元組,所有這些元組的集合就是除法的結(jié)果。對于上述的五個基本操作和組合操作,應(yīng)當(dāng)從實際運(yùn)算方面進(jìn)行理解和運(yùn)用,對其形式定義可不必深究。注

36、意課本上的例子。關(guān)系代數(shù)運(yùn)算的三個要素:運(yùn)算對象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類集合運(yùn)算符將關(guān)系看成元組的集合運(yùn)算是從關(guān)系的“水平”方向即行的角度來進(jìn)行專門的關(guān)系運(yùn)算符不僅涉及行而且涉及列算術(shù)比較符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作廣義笛卡爾積(Extended Cartesian Product)Rn目關(guān)系,k1個元組Sm目關(guān)系,k2個元組RS 列:(n+m)列的元組的集合元組的前n列是關(guān)系R的一個元組后m列是關(guān)系S的一個元組行:k1k2個元組RS = tr ts |tr R tsS 選擇(Selection) 1)選擇又稱為限制(Restriction)2)

37、選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組 F(R) = t|tRF(t)= 真F:選擇條件,是一個邏輯表達(dá)式,基本形式為:( X1Y1 ) ( X2Y2 ):比較運(yùn)算符(,或)X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來代替;:邏輯運(yùn)算符(或) :表示任選項:表示上述格式可以重復(fù)下去3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算 4)舉例設(shè)有一個學(xué)生-課程數(shù)據(jù)庫,包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。例1 查詢信息系(IS系)全體學(xué)生Sdept = IS (Student)或5 =IS (Student)結(jié)果:例2 查詢年齡小于20歲的學(xué)生Sage 2

38、0(Student) 或4 800找出工資在800元以上的老師的姓名 t | $sPROF ( tPNAME = sPNAME sSAL 800 )給出計算機(jī)系老師的姓名t | $uDEPT ( uDNAME = “計算機(jī)系” $sPROF ( sDNO = uDNO tPNAME = sPNAME )求選修了全部課程的學(xué)生號t | uC ( $sSC ( sCNO = uCNO tSNO = sSNO )求選修了張軍同學(xué)所選修的全部課程的學(xué)生姓名課程,張軍選之 所求同學(xué)選之t | uC ( $sSC $wS ( sCNO = uCNO wSNO = sSNO wSNAME = “張軍” )元

39、組關(guān)系演算與關(guān)系代數(shù)的等價性投影A( R ) = t | $sR ( sA = tA ) 選擇 sF(A)(R) = t | tR F(tA) 廣義笛卡兒積R(A) S(B) = t | $uR$sS( tA = uA tB = sB)并 RS= t | tR tS交 R-S= t | tR tS域關(guān)系演算形式化定義 | P( x1 , x2 , , xn )xi代表域變量,P為由原子構(gòu)成的公式原子公式 Rxi是域變量或域常量x q y域變量x與y之間滿足比較關(guān)系q x q c域變量x與常量c之間滿足比較關(guān)系q 示例:找出工資在800元以上的老師 | PROF e 800找出工資在800元以上

40、的老師的姓名 | $ a , c , d , e ( PROF e 800 )4.3關(guān)系代數(shù)表達(dá)式的優(yōu)化問題目的在關(guān)系代數(shù)中找一種好的操作步驟,既省空間,查詢效率又比較高。在關(guān)系代數(shù)中,笛卡兒積和聯(lián)結(jié)運(yùn)算是最費(fèi)時間和空間的,在關(guān)系很大的時候,必須要考慮怎樣做才能合理的安排,做到省時省力。一個例子設(shè)關(guān)系R和S都是二元關(guān)系,屬性名分別是A、B和C、D。那么如下查詢:E1=A(B=C D=99(R S)也可以是 E2=A(B=C( R D=99( S)或E3=A(R D=99( S)這三個代數(shù)表達(dá)式的等價的,但是執(zhí)行的效率不一樣。第一種:先做笛卡兒積。假設(shè)每個物理塊可以存儲R的B1個元組,或者S的B

41、2個元組,R關(guān)系中有n1個元組,S關(guān)系中有n2個元組,內(nèi)存每次只能裝載m塊數(shù)據(jù)。在做聯(lián)接的時候先把R的第一個m-1塊數(shù)據(jù)裝入內(nèi)存,然后逐個調(diào)入S中的數(shù)據(jù)塊;R中的每個數(shù)據(jù)塊只要進(jìn)入內(nèi)存一次,總共需要裝入的塊數(shù)示n1/B1;S中的每個數(shù)據(jù)塊需要進(jìn)入內(nèi)存(n1/B1)/(m-1)次,總共需要裝入的塊數(shù)是:(n1/B1)(1/(m-1)(n2/B2)這三個代數(shù)表達(dá)式的等價的,但是執(zhí)行的效率不一樣。執(zhí)行R X S的總裝入塊數(shù)是(n1/B1)(1+n2/(m-1)/B2)若n1=n2=10000,B1=B2=5,m=100,那么總的裝入塊數(shù)是42400,若每秒裝入20塊,需要35分鐘。耗費(fèi)時間長,在實際

42、使用中不采用。這三個代數(shù)表達(dá)式的等價的,但是執(zhí)行的效率不一樣。第二種和第三種:先做了選擇,裝入的塊數(shù)為n1/B1+n2/B2,大約需要裝入4000塊,耗費(fèi)時間3分多鐘。對于S來說,元組并不是全部進(jìn)入內(nèi)存,而且只是進(jìn)入一次,所以速度快。1.優(yōu)化的一般策略我們所說的優(yōu)化和存儲沒有關(guān)系,主要是如何來安排操作的順序,節(jié)省時間和空間的消費(fèi)優(yōu)化的一般技術(shù):在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作。把笛卡兒積和其后的選擇操作合并成F聯(lián)接運(yùn)算。同時計算一連串的選擇和投影操作,避免分開運(yùn)算造成多次掃描文件。2.關(guān)系代數(shù)表達(dá)式的優(yōu)化算法對一個關(guān)系代數(shù)表達(dá)式進(jìn)行語法分析可以得到一棵語法樹,葉子式關(guān)系,非葉子結(jié)點(diǎn)式關(guān)

43、系代數(shù)操作。算法2.1 關(guān)系代數(shù)表達(dá)式的優(yōu)化。輸入:一個關(guān)系代數(shù)表達(dá)式的語法樹。輸出:計算表達(dá)式的一個優(yōu)化程序。方法:依次執(zhí)行下面的每一步。(1)使用等價變換規(guī)則4將每個形為F1Fn(E)的子表達(dá)式轉(zhuǎn)換成串接形式:F1(Fn(E)(2)對每個選擇操作,盡可能把選擇操作移近樹的葉端(盡可能早的實行選擇操作)。(3)對每個投影操作,盡可能把投影操作移近樹的葉端。 (4)把選擇和投影合并成單個選擇、單個投影或一個選擇后跟一個投影。(5)將上述步驟得到的語法樹的內(nèi)結(jié)點(diǎn)分組。 (6)生成一個序列,每一組結(jié)點(diǎn)的計算是序列中的一步。見課本例子。第五章 SQL語言學(xué)習(xí)目的與要求:SQL語言是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語

44、言,是本課程的一個重點(diǎn)。本章總的要求是:全面掌握,深刻理解。熟練應(yīng)用。要求掌握的技能是:SQL 定義語句、嵌入式SQL語句的應(yīng)用。要求熟練掌握的技能是:SQL查詢語句、視圖、SQL更新語句的應(yīng)用。方法:多做題,多上機(jī)實踐??己酥R點(diǎn)與考試要求5.1SQL簡介(識記)5.2SQL的數(shù)據(jù)定義(綜合應(yīng)用)5.3SQL的數(shù)據(jù)查詢5 .3.1SELECT查詢語句的基本結(jié)構(gòu),連接、嵌套、存在量詞 的三種查詢方式(綜合應(yīng)用)5.3.2SELECT語句完整的結(jié)構(gòu),分組子句、排序子句的用法(綜合應(yīng)用)5.3.3數(shù)據(jù)查詢中的限制和規(guī)定(簡單應(yīng)用)5.3.4條件表達(dá)式中的比較操作(簡單應(yīng)用)5.3.5嵌套查詢的改進(jìn)

45、寫法(領(lǐng)會)5.3.6基本表的連接操作(綜合應(yīng)用)5.4SQL的數(shù)據(jù)更新(綜合應(yīng)用)5.5 視圖(簡單應(yīng)用)5.6嵌入式SQL(領(lǐng)會)5.7存儲過程SQL/PSM(識記)更多優(yōu)質(zhì)自考資料盡在百度貼吧自考樂園俱樂部(/club/5346389)歡迎加入.歡迎交流.止不住的驚喜等著你5.1SQL簡介1.SQL發(fā)展歷程SQL從1970年美國IBM研究中心的E.F.Codd發(fā)表論文到1974年Boyce和Chamberlin把SQUARE語言改為SEQUEL語言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL(結(jié)構(gòu)式查詢語言)雖然名為查詢,但實際上具有定義、查詢、更新和控制等多種功能。 2.SQL數(shù)據(jù)庫的體系結(jié)

46、構(gòu)SQL數(shù)據(jù)庫的體系結(jié)構(gòu)也是三級結(jié)構(gòu) ,但術(shù)語與傳統(tǒng)關(guān)系模型術(shù)語不同,在SQL中,關(guān)系模式稱為 基本表 ,存儲模式稱為 存儲文件 ,子模式稱為 視圖 ,元組稱 行 ,屬性稱 列 。SQL數(shù)據(jù)庫體系的結(jié)構(gòu)要點(diǎn)如下: 更多優(yōu)質(zhì)自考資料盡在百度貼吧自考樂園俱樂部(/club/5346389)歡迎加入.歡迎交流.止不住的驚喜等著你(1)一個SQL數(shù)據(jù)庫是表的匯集。 (2)一個SQL表由行集構(gòu)成,行是列的序列,每列對應(yīng)一個數(shù)據(jù)項。 (3)表或者是基本表,或者是視圖?;颈硎菍嶋H存儲在數(shù)據(jù)庫中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。 (4)一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存

47、放一個或多個基本表。存儲文件與物理文件對應(yīng)。 (5)用戶可以用SQL語句對表進(jìn)行操作,包括視圖和基本表。 (6)SQL的用戶可以是應(yīng)用程序,也可以是終端用戶。 3.SQL的組成SQL由四部分組成: (1)數(shù)據(jù)定義:SQL DDL。定義SQL模式,基本表、視圖和索引。 (2)數(shù)據(jù)操縱:SQL DML。包括數(shù)據(jù)查詢和數(shù)據(jù)更新(增、刪、改)。 (3)數(shù)據(jù)控制:包括對基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。 (4)嵌入式SQL的使用規(guī)定。 4.SQL的特點(diǎn)(1)SQL具有十分靈活和強(qiáng)大的查詢功能。(2)SQL不是一個應(yīng)用開發(fā)語言,它只提供對數(shù)據(jù)庫的操作功能,不能完成屏幕控制、菜單管理、報表生

48、成等功能。(3)SQL是國際性標(biāo)準(zhǔn)語言,有利于各種數(shù)據(jù)庫之間交換數(shù)據(jù),有利于程序的移植,有利于實現(xiàn)高度的數(shù)據(jù)獨(dú)立性,有利于實現(xiàn)標(biāo)準(zhǔn)化。(4)SQL的詞匯不多,完成核心功能只用了9個英語動詞,它的語法結(jié)構(gòu)接近英語,因此容易學(xué)習(xí)和使用。5.2SQL的數(shù)據(jù)定義1.SQL模式的創(chuàng)建和撤消: SQL模式的創(chuàng)建可簡單理解為建立一個數(shù)據(jù)庫,定義一個存儲空間,其句法是: CREATE SCHEMA AUTHORIZATION 撤消SQL模式的句法為: DROP SCHEMA CASCADE | RESTRICT 方括號中的選項參數(shù)CASCADE表示連鎖方式,執(zhí)行時將模式下所有基本表、視圖、索引等元素全部撤消。

49、RESTRICT表示約束式,執(zhí)行時必須在SQL模式中沒有任何下屬元素時方可撤消模式。 2.SQL提供的基本數(shù)據(jù)類型數(shù)值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)字符串型:char(n)、varchar(n),前者是定長,后者為變長串 位串型:bit(n),bit varying(n),同上。 時間型:date、time。 3.基本表的創(chuàng)建、修改和撤消基本表的創(chuàng)建:(可理解為建立表結(jié)構(gòu)) CREAT TABLE SQL 模式名.基本表名(列名,類型, 完整性約束.) 完整性約束包括主鍵子句(PRIMARY

50、KEY)、檢查子句(CHECK)和外鍵子句(FOREIGN KEY)。 基本表結(jié)構(gòu)的修改ALTER TABLE 基本表名 ADD/ DROP (增加/刪除) 列名 類型名(增加時寫出) 刪除時有子句 CASCADE|RESTRICT,前者為連鎖刪除,后者為約束刪除,即沒有對本列的任何引用時才能刪除?;颈淼某废鸇ROP TABLE 基本表名 CASCADE|RESTRICT 4.索引的創(chuàng)建和撤消創(chuàng)建: CREATE UNIQUE INDEX 索引名 ON 基本表名(列名表 ASC|DESC) 撤消: DROP INDEX 索引名 總結(jié):凡創(chuàng)建都用 CREATE ,刪除都用 DROP ,改變用

51、ALTER ,再跟類型和名字,附加子句很容易了。5.3SQL的數(shù)據(jù)查詢1.SELECT -FROM- WHERE 句型 SELECT 列名表(逗號隔開) FROM 基本表或視圖序列 WHERE 條件表達(dá)式 在這里,重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用,如=,,等算術(shù)比較運(yùn)算符、邏輯運(yùn)算符 AND、OR、NOT 、集合成員資格運(yùn)算符: IN,NOT IN ,以及嵌套的 SELECT 語句的用法要特別注意理解。 針對課本的例題和課后習(xí)題進(jìn)行掌握。 在查詢時, SELECT 語句可以有多種寫法,如聯(lián)接查詢、嵌套查詢和使用存在量詞的嵌套查詢等。最好都掌握,但是起碼應(yīng)能寫出一種正確的查詢語句。 2.S

52、ELECT 語句完整的句法:SELECT 列名表(逗號隔開) FROM 基本表或視圖序列 WHERE 條件表達(dá)式 (此為和條件子句) GROUP BY 列名序列 (分組子句) HAVING 組條件表達(dá)式 (組條件子句) ORDER BY列名ASC|DESC. (排序子句) 這段關(guān)于完整句法的內(nèi)容能夠理解也就問題不大了。3.SELECT 語句中的限定這一段內(nèi)容主要是對 SELECT 語句進(jìn)一步使用進(jìn)行的深入學(xué)習(xí),領(lǐng)會下列各種限定的使用目的和方法。 要求輸出表格中不出現(xiàn)重復(fù)元組,則在 SELECT 后加一DISTINCT SELECT 子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達(dá)式 WHERE 子

53、句中可以用BETWEEN.AND.來限定一個值的范圍 同一個基本表在 SELECT 語句中多次引用時可用AS來增加別名 WHERE 子句中字符串匹配用LIKE和兩個通配符,%和下劃線_. 查詢結(jié)果的結(jié)構(gòu)完全一致時可將兩個查詢進(jìn)行并(UNION)交(INTERSECT)差(EXCPT)操作 查詢空值操作不是用=null,而是用 IS NULL來測試。 集合成員資格比較用 IN/NOT IN ,集合成員算術(shù)比較用元組SOME/ALL 可以用子查詢結(jié)果取名(表名(列名序列)來作為導(dǎo)出表使用 基本表的自然聯(lián)接操作是用 NATURAL INNER JOIN來實現(xiàn)的。 5.4SQL的數(shù)據(jù)更新1.數(shù)據(jù)插入:

54、 INSERT INTO 基本表名(列名表) VALUES(元組值) 或 INSERT INTO 基本表名(列名表) SELECT 查詢語句 其中元組值可以連續(xù)插入。用查詢語句可以按要求插入所需數(shù)據(jù)。 2.數(shù)據(jù)刪除:DELETE FROM 基本表名 WHERE 條件表達(dá)式 3.數(shù)據(jù)修改:UPDATE 基本表名 SET 列名=值表達(dá)式,列名=值表達(dá)式. WHERE 條件表達(dá)式 5.5視圖1.視圖的創(chuàng)建和撤消 創(chuàng)建: CREATE VIEW 視圖名(列名表) AS SELECT 查詢語句 撤消: DROP VIEW 視圖名2.視圖的操作查詢與關(guān)系中一致更新與關(guān)系不同如果視圖是從多個使用聯(lián)接操作導(dǎo)出

55、的,不允許對此視圖更新如果在導(dǎo)出視圖的過程中,使用了分組和聚合函數(shù),不允許對此視圖更新。如果視圖是從單個關(guān)系使用選擇、投影操作導(dǎo)出的,并且包含了關(guān)系的主健或某個候選健,稱此視圖為“行列子集視圖”,允許對此視圖更新。CREATE VIEW S_MAIL AS SELECT S#, SNAME, AGE FROM S WHERE SEX=MINSERT INTO S_MALEVALUES(S28, WU, 18)與INSERT INTO SVALUES(S28, WU, 18, M)相同3.視圖的優(yōu)點(diǎn)使用視圖的優(yōu)點(diǎn):視圖提供了邏輯數(shù)據(jù)的獨(dú)立性簡化了用戶觀點(diǎn)用戶只需關(guān)心視圖的內(nèi)容,而不必關(guān)心構(gòu)成視圖

56、的若干關(guān)系的聯(lián)結(jié)、投影操作。能夠?qū)?shù)據(jù)庫的訪問限制在一定范圍內(nèi),有利于數(shù)據(jù)安全保護(hù)功能。可針對不同的用戶定義不同的視圖,在視圖種只出現(xiàn)用戶需要的數(shù)據(jù),系統(tǒng)提供視圖讓用戶使用。5.6嵌入式SQL1.SQL語言提供了兩種不同的使用方式:交互式嵌入式為什么要引入嵌入式SQLSQL語言是非過程性語言事務(wù)處理應(yīng)用需要高級語言這兩種方式細(xì)節(jié)上有差別,在程序設(shè)計的環(huán)境下,SQL語句要做某些必要的擴(kuò)充。2.嵌入式SQL的一般形式為了區(qū)分SQL語句與主語言語句,需要: 前綴:EXEC SQL結(jié)束標(biāo)志:隨主語言的不同而不同以C為主語言的嵌入式SQL語句的一般形式 EXEC SQL ;例:EXEC SQL DRO

57、P TABLE Student;以COBOL作為主語言的嵌入式SQL語句的一般形式 EXEC SQL END-EXEC例: EXEC SQL DROP TABLE Student END-EXEC3.DBMS處理宿主型數(shù)據(jù)庫語言SQL的方法預(yù)編譯修改和擴(kuò)充主語言使之能處理SQL語句。4.嵌入式SQL語句與主語言之間的通信將SQL嵌入到高級語言中混合編程,程序中會含有兩種不同計算模型的語句SQL語句描述性的面向集合的語句負(fù)責(zé)操縱數(shù)據(jù)庫高級語言語句過程性的面向記錄的語句負(fù)責(zé)控制程序流程5.工作單元之間的通信方式) SQL通信區(qū)向主語言傳遞SQL語句的執(zhí)行狀態(tài)信息主語言能夠據(jù)此控制程序流程) 共享變

58、量主語言向SQL語句提供參數(shù)將SQL語句查詢數(shù)據(jù)庫的結(jié)果交主語言進(jìn)一步處理) 游標(biāo)解決集合性操作語言與過程性操作語言的不匹配6.共享變量什么是共享變量嵌入式SQL語句中可以使用主語言的程序變量來輸入或輸出數(shù)據(jù)在SQL語句中使用的主語言程序變量簡稱為共享變量(Host Variable)在SQL語句中使用共享變量和指示變量的方法1)說明共享變量和指示變量BEGIN DECLARE SECTION (說明共享變量和指示變量)END DECLARE SECTION7.游標(biāo)(cursor)為什么要使用游標(biāo)SQL語言與主語言具有不同數(shù)據(jù)處理方式SQL語言是面向集合的,一條SQL語句原則上可以產(chǎn)生或處理多

59、條記錄。什么是游標(biāo)游標(biāo)是系統(tǒng)為用戶開設(shè)的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。每個游標(biāo)區(qū)都有一個名字。用戶可以用SQL語句逐一從游標(biāo)中獲取記錄,并賦給共享變量,交由主語言進(jìn)一步處理。1)說明游標(biāo)使用DECLARE語句語句格式EXEC SQL DECLARE CURSOR FOR ;功能是一條說明性語句,這時DBMS并不執(zhí)行SELECT指定的查詢操作。2)打開游標(biāo)使用OPEN語句語句格式EXEC SQL OPEN ;功能打開游標(biāo)實際上是執(zhí)行相應(yīng)的SELECT語句,把所有滿足查詢條件的記錄從指定表取到緩沖區(qū)中。這時游標(biāo)處于活動狀態(tài),指針指向查詢結(jié)果集中第一條記錄之前。3)移動游標(biāo)指針,然后取當(dāng)

60、前記錄使用FETCH語句語句格式EXEC SQL FETCH NEXT|PRIOR| FIRST|LAST FROM INTO ,.;功能指定方向推動游標(biāo)指針,然后將緩沖區(qū)中的當(dāng)前記錄取出來送至共享變量供主語言進(jìn)一步處理。NEXT|PRIOR|FIRST|LAST:指定推動游標(biāo)指針的方式。NEXT:向前推進(jìn)一條記錄PRIOR:向回退一條記錄FIRST:推向第一條記錄LAST:推向最后一條記錄缺省值為NEXT說明:(1)共享變量必須與SELECT語句中的目標(biāo)列表達(dá)式具有一一對應(yīng)關(guān)系。(2)FETCH語句通常用在一個循環(huán)結(jié)構(gòu)中,通過循環(huán)執(zhí)行FETCH語句逐條取出結(jié)果集中的行進(jìn)行處理。為進(jìn)一步方便用

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論