版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《數(shù)據(jù)庫(kù)原理及應(yīng)用》復(fù)習(xí)重點(diǎn)
第一章數(shù)據(jù)庫(kù)系統(tǒng)基本概念一、數(shù)據(jù)管理技術(shù)的發(fā)展分為四個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫(kù)階段和高級(jí)數(shù)據(jù)庫(kù)階段。數(shù)據(jù)庫(kù)階段數(shù)據(jù)管理的特點(diǎn):1)采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。2)有較高的數(shù)據(jù)獨(dú)立性。3)數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供了方便的用戶接口。4)提供四方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫(kù)的恢復(fù)、數(shù)據(jù)庫(kù)的并發(fā)控制、數(shù)據(jù)的完整性、數(shù)據(jù)安全性。5)增加了系統(tǒng)的靈活性。數(shù)據(jù)庫(kù)(DB):是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問(wèn)DB的方法,包括DB的建立、查詢、更新及各種數(shù)據(jù)控制。數(shù)據(jù)庫(kù)系統(tǒng)(DBS):是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問(wèn)的計(jì)算機(jī)硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即它是采用數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)。二、數(shù)據(jù)描述分為三個(gè)階段:概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。概念設(shè)計(jì)中的術(shù)語(yǔ):1)實(shí)體:客觀存在,可以相互區(qū)別的事物稱為實(shí)體。2)實(shí)體集:性質(zhì)相同的同類(lèi)實(shí)體的集合。3)屬性:實(shí)體有很多特性,每一個(gè)特性稱為屬性。4)實(shí)體標(biāo)識(shí)符(關(guān)鍵碼或鍵):能惟一標(biāo)識(shí)實(shí)體的屬性或?qū)傩约?。以上概念均有?lèi)型和值之分。邏輯設(shè)計(jì)中的術(shù)語(yǔ):1)字段(數(shù)據(jù)項(xiàng)):標(biāo)記實(shí)體屬性的命名單位稱為字段或數(shù)據(jù)項(xiàng)。2)記錄:字段的有序集合。3)文件:同一類(lèi)記錄的集合。4)關(guān)鍵碼:能惟一標(biāo)識(shí)文件中每個(gè)記錄的字段或字段集。以上概念均有類(lèi)型和值之分。概念設(shè)計(jì)和邏輯設(shè)計(jì)中術(shù)語(yǔ)的對(duì)應(yīng)關(guān)系:概念設(shè)計(jì)邏輯設(shè)計(jì)實(shí)體一記錄屬性一字段(數(shù)據(jù)項(xiàng))實(shí)體集一文件實(shí)體標(biāo)識(shí)符一關(guān)鍵碼實(shí)體之間聯(lián)系的元數(shù):與一個(gè)聯(lián)系有關(guān)的實(shí)體集個(gè)數(shù)。常用二元聯(lián)系。二元聯(lián)系的類(lèi)型有三種:一對(duì)一聯(lián)系、一對(duì)多聯(lián)系、多對(duì)多聯(lián)系。一對(duì)一聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體至多和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,那么實(shí)體集E1和E2的聯(lián)系稱為“一對(duì)一聯(lián)系”,記為“1:1”。一對(duì)多聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體間有聯(lián)系,而E2中每個(gè)實(shí)體至多和E1中一個(gè)實(shí)體有聯(lián)系,那么稱E1對(duì)E2的聯(lián)系是“一對(duì)多聯(lián)系”,記為“1:N”。多對(duì)多聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體可以與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體間有聯(lián)系,反之亦然,那么稱E1和E2的聯(lián)系是“多對(duì)多聯(lián)系”,記為“M:N”。三、數(shù)據(jù)抽象的級(jí)別數(shù)據(jù)模型:描述數(shù)據(jù)庫(kù)的結(jié)構(gòu)和定義,對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)進(jìn)行抽象。從現(xiàn)實(shí)世界的信息到數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)以及用戶使用的數(shù)據(jù)是一個(gè)逐步抽象過(guò)程,根據(jù)數(shù)據(jù)抽象的級(jí)別定義了四種模型:概念模型、邏輯模型、外部模型和內(nèi)部模型。概念模型:表達(dá)用戶需求觀點(diǎn)的數(shù)據(jù)全局邏輯結(jié)構(gòu)的模型。邏輯模型:表達(dá)計(jì)算機(jī)實(shí)現(xiàn)觀點(diǎn)的DB全局邏輯結(jié)構(gòu)的模型。外部模型:表達(dá)用戶使用觀點(diǎn)的DB局部邏輯結(jié)構(gòu)的模型。內(nèi)部模型:表達(dá)DB物理結(jié)構(gòu)的模型。數(shù)據(jù)抽象的過(guò)程、即數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程具體步驟:1)根據(jù)用戶需求,設(shè)計(jì)數(shù)據(jù)庫(kù)的概念模型;2)根據(jù)轉(zhuǎn)換規(guī)則,把概念模型轉(zhuǎn)換成數(shù)據(jù)庫(kù)的邏輯模型;3)根據(jù)用戶的業(yè)務(wù)特點(diǎn),設(shè)計(jì)不同的外部模型,給程序員使用;4)數(shù)據(jù)庫(kù)實(shí)現(xiàn)時(shí),要根據(jù)邏輯模型設(shè)計(jì)其內(nèi)部模型。通常分為概念設(shè)計(jì)、邏輯設(shè)計(jì)(2和3步)和物理設(shè)計(jì)三個(gè)階段。常用的概念模型是實(shí)體聯(lián)系(ER)模型,ER模型主要用ER圖來(lái)表示。邏輯模型的分類(lèi):層次模型、網(wǎng)狀模型、關(guān)系模型等。層次模型:用樹(shù)型(層次)結(jié)構(gòu)表示實(shí)體及實(shí)體間聯(lián)系的數(shù)據(jù)模型。1969年,美國(guó)IBM公司的IMS系統(tǒng)是典型的層次模型系統(tǒng)。網(wǎng)狀模型:用有向圖結(jié)構(gòu)表示實(shí)體及實(shí)體間聯(lián)系的數(shù)據(jù)模型。1969年,CODASYL組織提出DBTG報(bào)告中的數(shù)據(jù)模型是網(wǎng)狀模型的主要代表。關(guān)系模型:是由若干個(gè)關(guān)系模式組成的集合。關(guān)系模式即記錄類(lèi)型,它的實(shí)例稱為關(guān)系,每個(gè)關(guān)系實(shí)際上是一張二維表格。1970年,美國(guó)IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫(kù)的理論基礎(chǔ)。關(guān)系數(shù)據(jù)庫(kù)是目前的主流數(shù)據(jù)庫(kù)。外部模型中的模式稱為視圖。三級(jí)模式:從用戶(或應(yīng)用程序)到數(shù)據(jù)庫(kù)之間,DB的數(shù)據(jù)結(jié)構(gòu)描述有三個(gè)層次:1)外模式:用戶與數(shù)據(jù)庫(kù)系統(tǒng)的接口,是用戶用到的那部分?jǐn)?shù)據(jù)的描述。外模式由若干個(gè)記錄類(lèi)型組成。2)邏輯模式:是數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述。3)內(nèi)模式:是數(shù)據(jù)庫(kù)在物理存儲(chǔ)方面的描述。注意:外模式是邏輯模式的子集。兩級(jí)映像:1)外模式/邏輯模式映像:存在于外模式和邏輯模式之間,用于定義外模式和邏輯模式之間的對(duì)應(yīng)性。2)邏輯模式/內(nèi)模式映像:存在于邏輯模式和內(nèi)模式之間,用于定義邏輯模式和內(nèi)模式之間的對(duì)應(yīng)性。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式、兩級(jí)映像結(jié)構(gòu)使數(shù)據(jù)庫(kù)系統(tǒng)達(dá)到了高度的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)獨(dú)立性:是指應(yīng)用程序與數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立,在修改數(shù)據(jù)結(jié)構(gòu)時(shí),盡可能不修改應(yīng)用程序。分為邏輯數(shù)據(jù)獨(dú)立性和物理數(shù)據(jù)獨(dú)立性。邏輯數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫(kù)的邏輯模式要修改,那么只要對(duì)外模式/邏輯模式映像作相應(yīng)的修改,可以使外模式和應(yīng)用程序盡可能保持不變。這樣就認(rèn)為數(shù)據(jù)庫(kù)達(dá)到了邏輯數(shù)據(jù)獨(dú)立性。物理數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫(kù)的內(nèi)模式要修改,即數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)有所變化,那么只要對(duì)邏輯模式/內(nèi)模式映像作相應(yīng)的修改,可以使邏輯模式盡可能保持不變。也就是對(duì)內(nèi)模式的修改盡量不影響邏輯模式,當(dāng)然對(duì)外模式和應(yīng)用程序的影響更小,這樣就認(rèn)為數(shù)據(jù)庫(kù)達(dá)到了物理數(shù)據(jù)獨(dú)立性。四、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)DBMS的主要功能:數(shù)據(jù)庫(kù)的定義功能(DBMS提供DDL定義數(shù)據(jù)庫(kù)的三級(jí)模式、兩級(jí)映像等)、數(shù)據(jù)庫(kù)的操縱功能(DBMS提供DML實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作,基本的數(shù)據(jù)操作有檢索和更新兩類(lèi))、數(shù)據(jù)庫(kù)的保護(hù)功能、數(shù)據(jù)庫(kù)的維護(hù)功能、數(shù)據(jù)字典。五、數(shù)據(jù)庫(kù)系統(tǒng)(DBS)DBS的組成:是數(shù)據(jù)庫(kù)、硬件、軟件和數(shù)據(jù)庫(kù)管理員的集合體。軟件包括DBMS、OS、各種主語(yǔ)言和應(yīng)用開(kāi)發(fā)支撐軟件等程序。其中,DBMS是DBS的核心軟件,要在OS支持下才能工作。數(shù)據(jù)庫(kù)管理員(DBA):是控制數(shù)據(jù)整體結(jié)構(gòu)的一組人員,負(fù)責(zé)DBS的正常運(yùn)行,承擔(dān)創(chuàng)建、監(jiān)控和維護(hù)數(shù)據(jù)庫(kù)結(jié)構(gòu)的責(zé)任。第二章數(shù)據(jù)庫(kù)設(shè)計(jì)和ER模型一、數(shù)據(jù)庫(kù)系統(tǒng)生存期.數(shù)據(jù)庫(kù)系統(tǒng)生存期:數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)從開(kāi)始規(guī)劃、設(shè)計(jì)、實(shí)現(xiàn)、維護(hù)到最后被新的系統(tǒng)取代而停止使用的整個(gè)期間。數(shù)據(jù)庫(kù)系統(tǒng)生存期分七個(gè)階段:規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、實(shí)現(xiàn)、運(yùn)行維護(hù)。規(guī)劃階段三個(gè)步驟:系統(tǒng)調(diào)查、可行性分析、確定數(shù)據(jù)庫(kù)系統(tǒng)總目標(biāo)。需求分析階段:主要任務(wù)是系統(tǒng)分析員和用戶雙方共同收集數(shù)據(jù)庫(kù)系統(tǒng)所需要的信息內(nèi)容和用戶對(duì)處理的需求,并以需求說(shuō)明書(shū)的形式確定下來(lái)。概念設(shè)計(jì)階段:產(chǎn)生反映用戶單位信息需求的概念模型。與硬件和DBMS無(wú)關(guān)。邏輯設(shè)計(jì)階段:將概念模型轉(zhuǎn)換成DBMS能處理的邏輯模型。外模型也將在此階段完成。物理設(shè)計(jì)階段:對(duì)于給定的基本數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過(guò)程。數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)主要指數(shù)據(jù)庫(kù)的存儲(chǔ)記錄格式、存儲(chǔ)記錄安排和存取方法。數(shù)據(jù)庫(kù)的實(shí)現(xiàn):包括定義數(shù)據(jù)庫(kù)結(jié)構(gòu)、數(shù)據(jù)裝載、編制與調(diào)試應(yīng)用程序、數(shù)據(jù)庫(kù)試運(yùn)行。二、ER模型的基本概念ER模型的基本元素是:實(shí)體、聯(lián)系和屬性。實(shí)體:是一個(gè)數(shù)據(jù)對(duì)象,指應(yīng)用中可以區(qū)別的客觀存在的事物。實(shí)體集:是指同一類(lèi)實(shí)體構(gòu)成的集合。實(shí)體類(lèi)型:是對(duì)實(shí)體集中實(shí)體的定義。一般將實(shí)體、實(shí)體集、實(shí)體類(lèi)型統(tǒng)稱為實(shí)體。聯(lián)系:表示一個(gè)或多個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系。聯(lián)系集:是指同一類(lèi)聯(lián)系構(gòu)成的集合。聯(lián)系類(lèi)型:是對(duì)聯(lián)系集中聯(lián)系的定義。一般將聯(lián)系、聯(lián)系集、聯(lián)系類(lèi)型統(tǒng)稱為聯(lián)系。同一個(gè)實(shí)體集內(nèi)部實(shí)體之間的聯(lián)系,稱為一元聯(lián)系;兩個(gè)不同實(shí)體集實(shí)體之間的聯(lián)系,稱為二元聯(lián)系,以此類(lèi)推。屬性:實(shí)體的某一特性稱為屬性。在一個(gè)實(shí)體中,能夠惟一標(biāo)識(shí)實(shí)體的屬性或?qū)傩约Q為實(shí)體標(biāo)識(shí)符。ER模型中,方框表示實(shí)體、菱形框表示聯(lián)系、橢圓形框表示屬性、實(shí)體與聯(lián)系、實(shí)體與其屬性、聯(lián)系與其屬性之間用直線連接。實(shí)體標(biāo)識(shí)符下畫(huà)橫線。聯(lián)系的類(lèi)型要在直線上標(biāo)注。注意:聯(lián)系也有可能存在屬性,但聯(lián)系本身沒(méi)有標(biāo)識(shí)符。例:假設(shè)一個(gè)學(xué)生可選多門(mén)課程,而一門(mén)課程又有多個(gè)學(xué)生選修,一個(gè)教師可講多門(mén)課程,一門(mén)課程至多只有一個(gè)教師講授。ER圖如下:概念設(shè)計(jì)三個(gè)步驟:設(shè)計(jì)局部ER模型、設(shè)計(jì)全局ER模型和全局ER模型的優(yōu)化。三、關(guān)系模型的基本概念.關(guān)系模型的定義:用二維表格表示實(shí)體集,用關(guān)鍵碼表示實(shí)體之間聯(lián)系的數(shù)據(jù)模型。在關(guān)系模型中,字段稱為屬性,字段值稱為屬性值,記錄類(lèi)型稱為關(guān)系模式。記錄稱為元組,元組的集合稱為關(guān)系或?qū)嵗?。有時(shí)習(xí)慣稱關(guān)系為表或表格,元組為行,屬性為列。關(guān)系中屬性個(gè)數(shù)稱為元數(shù),元組個(gè)數(shù)稱為基數(shù)。關(guān)鍵碼(簡(jiǎn)稱鍵):由一個(gè)或多個(gè)屬性組成。超鍵:在關(guān)系中能惟一標(biāo)識(shí)元組的屬性集稱為關(guān)系模式的超鍵。候選鍵:不含有多余屬性的超鍵。主鍵:用戶選作元組標(biāo)識(shí)的候選鍵。一般如不加說(shuō)明,鍵是指主鍵。外鍵:如果模式R中屬性集K是其他模式的主鍵,那么K在模式R中稱為外鍵。值域:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。每一個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同的屬性可對(duì)應(yīng)于同一值域。關(guān)系的定義:關(guān)系是一個(gè)屬性數(shù)目相同的元組的集合。關(guān)系的性質(zhì):關(guān)系是一種規(guī)范化了的二維表格。1)關(guān)系中每一個(gè)屬性值都是不可分解的;2)關(guān)系中不允許出現(xiàn)重復(fù)元組;3)關(guān)系沒(méi)有行序;4)元組中的屬性在理論上也是無(wú)序的,但使用時(shí)按習(xí)慣考慮列的順序。.關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)與更新操作必須遵循三類(lèi)完整性規(guī)則:實(shí)體完整性規(guī)則、參照完整性規(guī)則、用戶定義的完整性規(guī)則。12.實(shí)體完整性規(guī)則:要求關(guān)系中元組在組成主鍵的屬性上不能有空值。參照完整性規(guī)則:如果屬性集K是關(guān)系模式R1的主鍵,K也是關(guān)系模式R2的外鍵,那么在R2關(guān)系中,K的取值只允許兩種可能,或者為空值,或者等于R1關(guān)系中某個(gè)主鍵值。這條規(guī)則的實(shí)質(zhì)是“不允許引用不存在的實(shí)體”。其中,R1稱為參照關(guān)系;R2稱為依賴關(guān)系。注意:這條規(guī)則在具體使用時(shí),有三點(diǎn)變通:1)外鍵和相應(yīng)的主鍵可以不同名,只要定義在相同值域上即可;2)R1和R2可以是同一個(gè)關(guān)系模式,此時(shí)表示了同一個(gè)關(guān)系中不同元組之間的聯(lián)系;3)外鍵值是否允許空,應(yīng)視具體問(wèn)題而定。用戶定義的完整性規(guī)則:用戶針對(duì)具體的數(shù)據(jù)約束,設(shè)置的完整性規(guī)則,由系統(tǒng)來(lái)檢驗(yàn)實(shí)施。四、ER模型到關(guān)系模型的轉(zhuǎn)換ER圖轉(zhuǎn)換成關(guān)系模式集的算法:1)實(shí)體類(lèi)型的轉(zhuǎn)換:將每個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成一個(gè)關(guān)系模式,實(shí)體的屬性即為關(guān)系模式的屬性,實(shí)體標(biāo)識(shí)符即為關(guān)系模式的鍵。2)聯(lián)系類(lèi)型的轉(zhuǎn)換:主要掌握二元聯(lián)系類(lèi)型的轉(zhuǎn)換。a)若實(shí)體間聯(lián)系是1:1,可以在兩個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成的關(guān)系模式中任意一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的鍵(作為外鍵)和聯(lián)系類(lèi)型的屬性。b)若實(shí)體間聯(lián)系是1:N,則在N端實(shí)體類(lèi)型轉(zhuǎn)換成的關(guān)系模式中加入1端實(shí)體類(lèi)型的鍵(作為外鍵)和聯(lián)系類(lèi)型的屬性。c)若實(shí)體間聯(lián)系是M:N,則將聯(lián)系類(lèi)型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實(shí)體類(lèi)型的鍵(作為外鍵)加上聯(lián)系類(lèi)型的屬性,而鍵為兩端實(shí)體鍵的組合。例:下面是教學(xué)管理的一個(gè)可能的ER圖。圖中,有三個(gè)實(shí)體類(lèi)型:系、教師和課程;有四個(gè)聯(lián)系類(lèi)型:主管、聘用、開(kāi)設(shè)和任教。根據(jù)轉(zhuǎn)換算法,把該圖轉(zhuǎn)換成關(guān)系模式集的步驟如下:第一步:把三個(gè)實(shí)體類(lèi)型轉(zhuǎn)換成三個(gè)關(guān)系模式(注意關(guān)系模式的表示方法):系(系編號(hào),系名,電話)教師(教工號(hào),姓名,性別,職稱)課程(課程號(hào),課程名,學(xué)分)第二步:對(duì)于1:1聯(lián)系,可以在“系”模式中加入教工號(hào)(教工號(hào)為外鍵)。對(duì)于1:N聯(lián)系“聘用”,可以在“教師”模式中加入系編號(hào)和聘期兩個(gè)屬性(系編號(hào)為外鍵);對(duì)于1:N聯(lián)系“開(kāi)設(shè)”,可以在“課程”模式中加入系編號(hào)(系編號(hào)為外鍵)。這樣第一步得到的三個(gè)模式改變成如下形式(注意:外鍵通常使用波浪線表示):系(系編號(hào),系名,電話,主管人的教工號(hào))教師(教工號(hào),姓名,性別,職稱,系編號(hào),聘期)課程(課程號(hào),課程名,學(xué)分,,系編號(hào))第三步:對(duì)于M:N聯(lián)系“任教”,則生成一個(gè)新的關(guān)系模式:任教(教工號(hào),課程號(hào),教材)這樣,轉(zhuǎn)換成的四個(gè)關(guān)系模式如下:系(系編號(hào),系名,電話,主管人的教工號(hào))教師(教工號(hào),姓名,性別,職稱,系編號(hào),聘期)課程(課程號(hào),課程名,學(xué)分,■系編號(hào))任教(教工號(hào),課程號(hào),教材).采用ER模型的邏輯設(shè)計(jì)步驟1)導(dǎo)出初始關(guān)系模式集:把概念設(shè)計(jì)的結(jié)果(即全局ER模型)轉(zhuǎn)換成初始關(guān)系模式集。2)規(guī)范化處理3)模式評(píng)價(jià)4)模式修正5)設(shè)計(jì)外模式第三章關(guān)系模式設(shè)計(jì)理論一、關(guān)系模式的設(shè)計(jì)準(zhǔn)則數(shù)據(jù)冗余:同一個(gè)數(shù)據(jù)在系統(tǒng)中多次重復(fù)出現(xiàn)。關(guān)系模式設(shè)計(jì)不當(dāng)引起的異常問(wèn)題:數(shù)據(jù)冗余、操作異常(包括修改異常、插入異常和刪除異常).關(guān)系模式的非形式化設(shè)計(jì)準(zhǔn)則1)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能只包含有直接聯(lián)系的屬性,不要包含有間接聯(lián)系的屬性。也就是,每個(gè)關(guān)系模式應(yīng)只對(duì)應(yīng)于一個(gè)實(shí)體類(lèi)型或一個(gè)聯(lián)系類(lèi)型。2)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得相應(yīng)關(guān)系中不出現(xiàn)插入異常、刪除和修改等操作異?,F(xiàn)象。3)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得相應(yīng)關(guān)系中避免放置經(jīng)常為空值的屬性。4)關(guān)系模式的設(shè)計(jì)應(yīng)盡可能使得關(guān)系的等值連接在主鍵和外鍵的屬性上進(jìn)行,并且保證以后不會(huì)生成額外的元組。習(xí)慣使用的一些符號(hào):1)英文字母表首部的大寫(xiě)字母"A,B,C,...”表示單個(gè)的屬性。2)英文字母表尾部的大寫(xiě)字母"…,U,V,W,X,Y,Z”表示屬性集。3)大寫(xiě)字母R表示關(guān)系模式,小寫(xiě)字母r表示其關(guān)系。4)關(guān)系模式的簡(jiǎn)化表示方法:R(A,B,C,…)或R(ABC...)5)屬性集X和Y的并集簡(jiǎn)寫(xiě)為XY。二、函數(shù)依賴1.函數(shù)依賴(FD)的定義:設(shè)有關(guān)系模式R(U),X和Y是屬性集U的子集,函數(shù)依賴是形成X-Y的一個(gè)命題,只要r是R的當(dāng)前關(guān)系,對(duì)r中任意兩個(gè)元組t和s,都有t[X]=s[X]蘊(yùn)涵t[Y]=s[Y],那么稱FDX-Y在關(guān)系模式R(U)中成立。說(shuō)明:1)t[X]表示元組t在屬性集X上的值,其余類(lèi)同。2)X-Y讀作"X函數(shù)決定Y”或“Y函數(shù)依賴于X”。3)FD是對(duì)關(guān)系模式R的一切可能的關(guān)系r定義的。對(duì)于當(dāng)前關(guān)系r的任意兩個(gè)元組,如果X值相同,則要求Y值也相同,即有一個(gè)X值就有一個(gè)Y值與之對(duì)應(yīng),或者說(shuō)Y值由X值決定。FD的邏輯蘊(yùn)涵:設(shè)F是在關(guān)系模式R上成立的函數(shù)依賴的集合,X-Y是一個(gè)函數(shù)依賴。如果對(duì)于R的每個(gè)滿足F的關(guān)系r也滿足X-Y,那么稱F邏輯蘊(yùn)涵X-Y,記為F|=X-Y。設(shè)F是函數(shù)依賴集,被F邏輯蘊(yùn)涵的函數(shù)依賴全體構(gòu)成的集合,稱為函數(shù)依賴集F的閉包,記為F+。即F+={X-Y|F|=X-Y}FD的推理規(guī)則(Armstrong公理)設(shè)U是關(guān)系模式R的屬性集,F(xiàn)是R上成立的只涉及到U中屬性的函數(shù)依賴集。7.對(duì)于FDX-Y,如果YqX,那么稱X-Y是一個(gè)“平凡的FD”,否則稱為“非平凡的FD”。通常研究非平凡FD。例:X-X,X-9,q—q,XY-X都是平凡函數(shù)依賴;X-XY則是非平凡函數(shù)依賴。屬性集的閉包設(shè)F是屬性集U上的FD集,X上U的子集,那么(相對(duì)于)屬性集X的閉包用X+表示,它是一個(gè)從F集使用FD推理規(guī)則推出的所有滿足X-A的屬性A的集合:X+={屬性A|F|=X-A}X-Y能用FD推理規(guī)則推出的充分必要條件是YcX+,從而避開(kāi)求F+,使問(wèn)題得到簡(jiǎn)化。如果關(guān)系模式R(U)上的兩個(gè)函數(shù)依賴集F和G,有F+=G+,則稱F和G是等價(jià)的函數(shù)依賴集。三、關(guān)系模式的分解特性示。四、范式.范式:衡量關(guān)系模式好壞的標(biāo)準(zhǔn)。.數(shù)據(jù)庫(kù)設(shè)計(jì)中最常用的是3NF和BCNF。第一范式(1NF):如果關(guān)系模式R的每個(gè)關(guān)系r的屬性值都是不可分的原子值,那么稱R是第一范式的模式。滿足1NF的關(guān)系稱為規(guī)范化的關(guān)系,否則稱為非規(guī)范化的關(guān)系。1NF是關(guān)系模式應(yīng)具備的最起碼的條件。局部依賴和完全依賴:對(duì)于FDW-A,如果存在XuW有X-A成立,那么稱W-A是局部依賴(A局部依賴于W);否則稱W-A是完全依賴。主屬性和非主屬性:如果A是關(guān)系模式R的候選鍵中的屬性,那么稱A是R的主屬性;否則稱A是R的非主屬性。第二范式(2NF):如果關(guān)系模式是1NF,且每個(gè)非主屬性完全函數(shù)依賴于候選鍵,那么稱R是第二范式(2NF)的模式。分解成2NF模式集的算法:設(shè)關(guān)系模式R(U),主鍵是W,R上還存在FDX-Z,并且Z是非主屬性和XuW,那么W-Z就是一個(gè)局部依賴。此時(shí)應(yīng)把R分解成兩個(gè)模式:R1(XZ),主鍵是X;R2(Y),其中Y=U-Z,主鍵仍是W,外鍵是X(參照R1)。如果R1和R2還不是2NF,則重復(fù)上述過(guò)程,一直到數(shù)據(jù)庫(kù)模式中的每一個(gè)關(guān)系模式都是2NF為止。8.如果X-Y,Y-A,且Y-X和AqY,/那么稱X—/'A是傳遞依賴(A傳遞依賴于X)。第三范式(3NF):如果關(guān)系模式R是2NF,且每個(gè)非主屬性都不傳遞依賴于R的候選鍵,那么稱R是第三范式(3NF)的模式。10.分解成3NF模式集的算法:設(shè)關(guān)系模式R(U),主鍵是W,R上還存在FDX-
Z。并且Z是非主屬性,ZX,X不是候選鍵,這樣就是一個(gè)傳遞依賴。此時(shí)應(yīng)把R分解成兩個(gè)模式:R1(XZ),主鍵是X;R2(Y),其中Y=U-Z,主鍵仍是W,外鍵是X(參照R1)。如果R1和R2還不是3NF,則重復(fù)上述過(guò)程,一直到數(shù)據(jù)庫(kù)模式中的每一個(gè)關(guān)系模式都是3NF為止。.如果R是3NF模式,那么R也是2NF模式。如果R是2NF模式,那么R也是1NF模式。BC范式(BCNF):如果關(guān)系模式R是1NF,且每個(gè)屬性都不傳遞依賴于R的候選鍵,那么稱R是BCNF的模式。如果R是BCNF模式,那么R也是3NF模式。分解成BCNF模式集的算法能保持無(wú)損分解,但不一定能保持FD集。而分解成3NF模式集的算法既能保持無(wú)損分解,又能保持FD集。關(guān)系模式由1NF分解為2NF,消除了非主屬性對(duì)鍵的局部函數(shù)依賴;由2NF分解為3NF,消除了非主屬性對(duì)鍵的傳遞函數(shù)依賴;而B(niǎo)CNF則消除了每一屬性對(duì)鍵的傳遞函數(shù)依賴。16.關(guān)系模式設(shè)計(jì)理論主要用于數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)過(guò)程中。第四章關(guān)系運(yùn)算要求、目標(biāo):一、簡(jiǎn)介1.關(guān)系模型的三個(gè)組成部分:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操縱和數(shù)據(jù)完整性規(guī)則。數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)庫(kù)中全部數(shù)據(jù)及其相互聯(lián)系都被組織成“關(guān)系”(二維表格)的形式。關(guān)系模型基本的數(shù)據(jù)結(jié)構(gòu)是關(guān)系。.數(shù)據(jù)操縱:關(guān)系模型提供一組完備的高級(jí)關(guān)系運(yùn)算,以支持對(duì)數(shù)據(jù)庫(kù)的各種操作。關(guān)系運(yùn)算分成關(guān)系代數(shù)和關(guān)系演算兩類(lèi)。數(shù)據(jù)完整性規(guī)則:數(shù)據(jù)庫(kù)中數(shù)據(jù)必須滿足實(shí)體完整性、參照完整性和用戶定義的完整性等三類(lèi)完整性規(guī)則。關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)操縱語(yǔ)言(DML)的語(yǔ)句分成查詢語(yǔ)句和更新語(yǔ)句兩大類(lèi)。查詢語(yǔ)句用于描述用戶的各種檢索要求;更新語(yǔ)句用于描述插入、刪除、修改等操作。前者是基礎(chǔ)。6.關(guān)系查詢語(yǔ)言分兩類(lèi):關(guān)系代數(shù)語(yǔ)言(查詢操作以集合操作為基礎(chǔ))和關(guān)系演算語(yǔ)言(查詢操作以謂詞演算為基礎(chǔ))S答案:R8S2=1自然連接:公共屬性只出現(xiàn)一次的等值(公共屬性值全部相等)連接。記為:R8S一般自然連接使用在R和S有公共屬性的情況中。如果兩個(gè)關(guān)系沒(méi)有公共屬性,那么其自然連接就轉(zhuǎn)化為笛卡兒積操作。關(guān)系代數(shù)表達(dá)式:由五個(gè)基本操作經(jīng)過(guò)有限次復(fù)合的式子稱為代數(shù)表達(dá)式。這種表達(dá)式的運(yùn)算結(jié)果仍是一個(gè)關(guān)系。可以用關(guān)系代數(shù)表達(dá)式表示各種數(shù)據(jù)查詢操作。例:教學(xué)數(shù)據(jù)庫(kù)中的四個(gè)關(guān)系如下:教師關(guān)系T(T#,TNAME,TITLE)課程關(guān)系C(C#,CNAME,T#)學(xué)生關(guān)系S(S#,SNAME,AGE,SEX)選課關(guān)系SC(S#,C#,SCORE)使用關(guān)系代數(shù)表達(dá)式表達(dá)下列每個(gè)查詢語(yǔ)句。1)檢索學(xué)習(xí)課程號(hào)為C2課程的學(xué)生學(xué)號(hào)與成績(jī)。氣#,SCORE(°C#=‘C2‘(SC))或氣,3("c2(SC))‘2)檢索學(xué)習(xí)課程號(hào)為C2課程的學(xué)生學(xué)號(hào)和姓名。氣#,SNAME(%=@,(S8SC))3)檢索至少選修LIU老師所授課程中一門(mén)課程的學(xué)生學(xué)號(hào)與姓名。兀S#,SNAME(°TN—IU,C^ggT))4)檢索選修課程號(hào)為C2或C4課程的學(xué)生學(xué)號(hào)。氣#'"c#=,C2,VC#=,C4,(SC))5)檢索至少選修課程號(hào)為C2氣#'"c#=,C2,VC#=,C4,(SC))兀19=4A=…5=,C4,(SCXSC))6)檢索不學(xué)C2課程的學(xué)生姓名與年齡。氣NAME,AGE⑸FnAME,AGE(氣#=,C2,(S^SC))7)檢索學(xué)習(xí)全部課程的學(xué)生姓名。氣NAME(S8(兀S#C#(SC):兀C#(C)))8)檢索所學(xué)課程包含學(xué)號(hào)為S3學(xué)生所學(xué)課程的學(xué)生學(xué)號(hào)。氣#C#(SC):nc#(。此,S3,(SC))總結(jié):查詢語(yǔ)句的關(guān)系代數(shù)表達(dá)式的一般形式是:兀...(。...(RXS))或兀...(。...(R8S))即首先把查詢涉及到的關(guān)系取來(lái),執(zhí)行笛卡兒積或自然連接操作得到一張大的表格,然后對(duì)大表格執(zhí)行水平分割(選擇操作)和垂直分割(投影操作)。但這種形式不適用于否定或全部值的查詢。這時(shí)要用差或除法操作。外連接:如果R和,做自然連接時(shí),把原該舍棄的元組也保留在新關(guān)系中,同時(shí)在這些元組新增加的屬性上填上空值(Null),這種操作稱為“外連接”操作。左外連接:如果R和,做自然連接時(shí),只把R中原該舍棄的元組放到新關(guān)系中,那么這種操作稱為“左外連接”操作。右外連接:如果R和,做自然連接時(shí),只把S中原該舍棄的元組放到新關(guān)系中,那么這種操作稱為“右外連接”操作。外部并:兩個(gè)關(guān)系R和S做并操作時(shí),如果它們的關(guān)系模式不同,構(gòu)成的新關(guān)系的屬性由R和S的所有屬性組成(公共屬性只取一次),新關(guān)系的元組由屬于R或?qū)儆赟的元組構(gòu)成,同時(shí)元組在新增加的屬性上填上空值,那么這種操作稱為“外部并”操作。三、關(guān)系演算關(guān)系演算又可分為元組關(guān)系演算和域關(guān)系演算,前者以元組為變量,后者以屬性(域)為變量。四、關(guān)系代數(shù)表達(dá)式的優(yōu)化目的:提高系統(tǒng)效率。2.三條啟發(fā)式規(guī)則:1)盡可能早地執(zhí)行選擇操作;2)盡可能早地執(zhí)行投影操作;3)避免直接做笛卡兒積,把笛卡兒積操作之前和之后的一連串選擇和投影合并起來(lái)一起做。第五章SQL語(yǔ)言一、SQL簡(jiǎn)介SQL:結(jié)構(gòu)化查詢語(yǔ)言,關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言。SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)基本上也是三級(jí)結(jié)構(gòu),但術(shù)語(yǔ)與傳統(tǒng)的關(guān)系模型術(shù)語(yǔ)不同。在SQL中,關(guān)系模式稱為“基本表”,存儲(chǔ)模式稱為“存儲(chǔ)文件”,子模式稱為“視圖”,元組稱為“行”,屬性稱為“列”。SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)要點(diǎn):1)一個(gè)SQL模式是表和約束的集合。2)一個(gè)表由行集構(gòu)成,一行是列的序列,每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。3)表有三種類(lèi)型:基本表、視圖和導(dǎo)出表?;颈恚簩?shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表。視圖:由若干基本表或其他視圖構(gòu)成的表的定義。導(dǎo)出表:執(zhí)行了查詢時(shí)產(chǎn)生的表。4)一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可以存放一個(gè)或多個(gè)基本表。每個(gè)存儲(chǔ)文件與外部存儲(chǔ)器上一個(gè)物理文件對(duì)應(yīng)。5)用戶可以用SQL語(yǔ)句對(duì)基本表和視圖進(jìn)行查詢等操作。在用戶看來(lái),兩者一樣,都是表。6)SQL語(yǔ)句可嵌在C、FORTRAN等主語(yǔ)言的程序中使用,也可在交互環(huán)境下供終端用戶使用。SQL的組成核心SQL主要有四個(gè)部分:1)數(shù)據(jù)定義語(yǔ)言,即DDL,用于定義SQL模式、基本表、視圖、索引等結(jié)構(gòu)。2)數(shù)據(jù)操縱語(yǔ)言,即SQLDML。數(shù)據(jù)操縱分成數(shù)據(jù)查詢和數(shù)據(jù)更新兩類(lèi)。而數(shù)據(jù)更新又分成插入、刪除和修改三種操作。3)嵌入式SQL語(yǔ)言的使用規(guī)定4)數(shù)據(jù)控制語(yǔ)言,即SQLDCL,這一部分包括對(duì)基本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制等內(nèi)容。SQL的特點(diǎn)1)SQL具有十分靈活和強(qiáng)大的查詢功能。2)SQL不是一個(gè)應(yīng)用開(kāi)發(fā)語(yǔ)言,它只提供對(duì)數(shù)據(jù)庫(kù)的操作功能。但SQL既可作為交互式語(yǔ)言獨(dú)立使用,也可作為子語(yǔ)言嵌入在主語(yǔ)言中使用,成為應(yīng)用開(kāi)發(fā)語(yǔ)言的一部分。3)SQL是國(guó)際標(biāo)準(zhǔn)語(yǔ)言,有利于各種數(shù)據(jù)庫(kù)之間交換數(shù)據(jù),有利于程序的移植,有利于實(shí)現(xiàn)高度的數(shù)據(jù)獨(dú)立性,有利于實(shí)現(xiàn)標(biāo)準(zhǔn)化。4)SQL完成核心功能只用9個(gè)英語(yǔ)動(dòng)詞,語(yǔ)法結(jié)構(gòu)接近英語(yǔ),容易學(xué)習(xí)和使用。二、SQL的數(shù)據(jù)定義SQL模式的創(chuàng)建在SQL中,一個(gè)SQL模式定義為基本表的集合。一個(gè)SQL模式由模式名和模式擁有者的用戶名或賬號(hào)來(lái)確定,并包含模式中每一個(gè)元素(基本表、視圖、索引等)的定義。創(chuàng)建SQL模式,就是定義了一個(gè)存儲(chǔ)空間。創(chuàng)建模式語(yǔ)法:CREATESCHEMA<模式名>AUTHORIZATION〈用戶名>SQL模式的撤銷(xiāo)語(yǔ)法:DROPSCHEMA〈模式名>[CASCADE|RESTRICT]說(shuō)明:CASCADE(級(jí)聯(lián)式)方式:執(zhí)行DROP語(yǔ)句時(shí),把SQL模式及其下屬的基本表、視圖、索引等所有元素全部撤銷(xiāo)。RESTRICT(約束式)方式:只有當(dāng)SQL模式中沒(méi)有任何下屬元素時(shí),才能撤銷(xiāo)SQL模式,否則拒絕執(zhí)行DROP語(yǔ)句。SQL的基本數(shù)據(jù)類(lèi)型、秒,形為HH:MM:SS基本表結(jié)構(gòu)的創(chuàng)建語(yǔ)法:CREATETABLE〈基本表名>(〈列名類(lèi)型>,<完整性約束>,......)說(shuō)明:完整性約束常用以下幾種子句:主鍵子句(PRIMARYKEY)、外鍵子句(FOREIGNKEY)等NOTNULL:表示不允許某一列的值為空值例:對(duì)于教學(xué)數(shù)據(jù)庫(kù)中的四個(gè)關(guān)系:教師關(guān)系T(T#,TNAME,TITLE)課程關(guān)系C(C#,CNAME,T#)學(xué)生關(guān)系S(S#,SNAME,AGE,SEX)選課關(guān)系SC(S#,C#,SCORE)創(chuàng)建基本表。CREATETABLET(T#CHAR(4)NOTNULL,TNAMECHAR(8)NOTNULL,TITLECHAR(10),PRIMARYKEY(T#))CREATETABLEC(C#CHAR(4)NOTNULL,CNAMECHAR(10)NOTNULL,T#CHAR(4),PRIMARYKEY(C#),F(xiàn)OREIGNKEY(T#)REFERENCEST(T#))CREATETABLES(S#CHAR(4)NOTNULL,SNAMECHAR(8)NOTNULL,AGESMALLINT,SEXCHAR(2),PRIMARYKEY(S#))CREATETABLESC(S#CHAR(4),C#CHAR(4),SCORESMALLINT,PRIMARYKEY(S#,C#),F(xiàn)OREIGNKEY(S#)REFERENCESS(S#),F(xiàn)OREIGNKEY(C#)REFERENCESC(C#)).基本表結(jié)構(gòu)的修改增加新的列語(yǔ)法:ALTERTABLE<基本表名>ADD<列名><類(lèi)型>刪除原有的列語(yǔ)法:ALTERTABLE<基本表名>DROP<列名>[CASCADE|RESTRICT]說(shuō)明:CASCADE方式表示在基本表中刪除某列時(shí),所有引用到該列的視圖和約束也要一起自動(dòng)地被刪除;RESTRICT方式表示在沒(méi)有視圖或約束引用該屬性時(shí),才能在基本表中刪除該列,否則拒絕刪除。修改原有列的類(lèi)型、寬度語(yǔ)法:ALTERTABLE<基本表名>MODIFY<列名><類(lèi)型>.基本表的撤銷(xiāo)語(yǔ)法:DROPTABLE〈基本表名>[CASCADE|RESTRICT]7.索引的創(chuàng)建語(yǔ)法:CREATE[UNIQUE]INDEX<索引名>ON〈基本表名>(〈列名序列>)說(shuō)明:UNIQUE表示每個(gè)索引值對(duì)應(yīng)惟一的數(shù)據(jù)記錄。索引在用戶查詢時(shí)會(huì)自動(dòng)起作用。一個(gè)索引鍵可以對(duì)應(yīng)多個(gè)列。索引排列時(shí)可以升序,也可以降序,升序排列用ASC表示,降序排列用DESC表示,默認(rèn)時(shí)表示升序。索引的撤銷(xiāo)語(yǔ)法:DROPINDEX〈索引名>三、SQL的數(shù)據(jù)查詢SELECT查詢語(yǔ)句句型在關(guān)系代數(shù)中最常用的式子是下列表達(dá)式:nAi心(氣(R1X...XRm))這里,R1、…、Rm為關(guān)系,F(xiàn)是公式,A1、…、An為屬性。與該表達(dá)式對(duì)應(yīng),SQL設(shè)計(jì)了SELECT—FROM—WHERE句型:SELECTA1,…,AnFROMR1,...,RmWHEREF注意:1)在學(xué)習(xí)時(shí),應(yīng)把SELECT語(yǔ)句和關(guān)系代數(shù)表達(dá)式聯(lián)系起來(lái)考慮問(wèn)題。2)在WHERE子句的條件表達(dá)式F中可使用下列運(yùn)算符:比較運(yùn)算符:〈、〈=、〉、〉=、=、?;?!=邏輯運(yùn)算符:AND、OR、NOT集合成員資格運(yùn)算符:IN、NOTIN謂詞:EXISTS、ALL、SOME聚合函數(shù):AVG、MIN、MAX、SUM、COUNTF中運(yùn)算對(duì)象還可以是另一個(gè)SELECT語(yǔ)句,即SELECT語(yǔ)句可以嵌套。SELECT語(yǔ)句的使用技術(shù)SELECT使用時(shí)有三種寫(xiě)法:連接查詢、嵌套查詢和帶存在量詞的嵌套查詢。例:針對(duì)前面使用的教學(xué)數(shù)據(jù)庫(kù),檢索學(xué)習(xí)課程號(hào)為C2課程的學(xué)生學(xué)號(hào)與姓名。第一種寫(xiě)法(連接查詢):SELECTS.S#,SNAMEFROMS,SCWHERES.S#=SC.S#ANDC#='C2'第二種寫(xiě)法(嵌套查詢):SELECTS#,SNAMEFROMSWHERES#IN(SELECTS#FROMSCWHEREC#='C2')第三種寫(xiě)法(使用存在量詞的嵌套查詢):SELECTS#,SNAMEFROMSWHEREEXISTS(SELECT*FROMSCWHERESC.S#=S.S#ANDC#='C2')例:對(duì)于教學(xué)數(shù)據(jù)庫(kù)中四個(gè)基本表T、C、S、SC,用SELECT語(yǔ)句表示下面查詢。4)檢索學(xué)習(xí)課程號(hào)為C2課程的學(xué)生學(xué)號(hào)與成績(jī)。SELECTS#,SCOREFROMSCWHEREC#='C2'2)檢索學(xué)習(xí)課程號(hào)為C2課程的學(xué)生學(xué)號(hào)和姓名。見(jiàn)上例3)檢索至少選修LIU老師所授課程中一門(mén)課程的學(xué)生學(xué)號(hào)與姓名。SELECTS.S#,SNAMEFROMS,SC,C,TWHERES.S#=SC.S#ANDSC.C#=C.C#ANDC.T#=T.T#ANDTNAME='LIU'4)檢索選修課程號(hào)為C2或C4課程的學(xué)生學(xué)號(hào)。SELECTS#FROMSCWHEREC#='C2'ORC#='C4'5)檢索至少選修課程號(hào)為C2和C4課程的學(xué)生學(xué)號(hào)。SELECTX.S#FROMSCASX,SCASYWHEREX.S#=Y.S#ANDX.C#='C2'ANDY.C#='C4'6)檢索不學(xué)C2課程的學(xué)生姓名與年齡。SELECTSNAME,AGEFROMSWHERES#NOTIN(SELECTS#FROMSCWHEREC#=’C2’)7)檢索學(xué)習(xí)全部課程的學(xué)生姓名。(在表S中找學(xué)生,在C中不存在一門(mén)課程,這個(gè)學(xué)生沒(méi)有學(xué)。)
SELECTSNAMEFROMSWHERENOTEXISTS(SELECT*FROMCWHERENOTEXISTS(SELECT*FROMWHERENOTEXISTSWHERENOTEXISTSSC.S#=S.S#ANDSC.C#=C.C#))8)檢索所學(xué)課程包含學(xué)號(hào)為S3學(xué)生所學(xué)課程的學(xué)生學(xué)號(hào)。(在SC表中找一個(gè)學(xué)生,不存在S3學(xué)的一門(mén)課,該學(xué)生沒(méi)有學(xué)。)SC.S#=S.S#ANDSC.C#=C.C#))SELECTDISTINCTS#FROMSCASXWHERENOTEXISTS(SELECT*FROMSCASYWHEREY.S#=’S3’ANDNOTEXISTS(SELECT*FROMSCASZWHEREZ.S#=X.S#ANDZ.C#=Y.C#))注:DISTINCT表示去掉重復(fù)值。聚合函數(shù)COUNT(〈列名〉)SUM(〈列名〉)數(shù)值型)AVG(〈列名〉)為數(shù)值型)MAX(〈列名〉)MIN(<列名〉)COUNT(*):COUNT(〈列名〉)SUM(〈列名〉)數(shù)值型)AVG(〈列名〉)為數(shù)值型)MAX(〈列名〉)MIN(<列名〉)例1:求男生的總?cè)藬?shù)和平均年齡。SELECTCOUNT(*),AVG(AGE)FROMSWHERESEX='男'例2:統(tǒng)計(jì)選修了課程的學(xué)生人數(shù)。SELECTCOUNT(DISTINCTS#)FROMSCSELECT語(yǔ)句完整的句法SELECT〈目標(biāo)表的列名或列表達(dá)式序列〉FROM〈基本表名和(或)視圖序列〉[WHERE〈行條件表達(dá)式〉][GROUPBY〈列名序列〉[HAVING〈組條件表達(dá)式〉]][ORDERBY〈列名[ASC|DESC]〉,…]說(shuō)明:□表示其中的內(nèi)容根據(jù)需要可以省略。|表示二選一。各子句的作用:SELECT子句用于指定輸出的內(nèi)容;FROM子句用于指定要檢索的數(shù)據(jù)的來(lái)源表;WHERE子句稱為“行條件子句”,用于指定對(duì)元組的選取條件;GROUPBY子句稱為“分組子句”,作用是指定對(duì)元組進(jìn)行分類(lèi)后再檢索;HAVING子句稱為“組條件子句”,用于指定對(duì)分類(lèi)后的元組的選取條件;ORDERBY子句稱為“排序子句”,作用是對(duì)檢索到的元組進(jìn)行排序。整個(gè)語(yǔ)句的執(zhí)行過(guò)程為:1)讀取FROM子句中基本表、視圖的數(shù)據(jù),執(zhí)行笛卡兒積操作。2)選取滿足WHERE子句中給出的條件表達(dá)式的元組。3)按GROUP子句中指定列的值分組,同時(shí)提取滿足HAVING子句中組條件表達(dá)式的那些組。4)按SELECT子句中給出的列名或列表達(dá)式求值輸出。5)ORDER子句對(duì)輸出的目標(biāo)表進(jìn)行排序,按附加說(shuō)明ASC升序排列,或按DESC降序排列。例1:統(tǒng)計(jì)每門(mén)課程的學(xué)生選修人數(shù)。SELECTCOUNT(S#)FROMSCGROUPBYC#例2:統(tǒng)計(jì)每門(mén)課程的學(xué)生選修人數(shù),要求只查詢出選修人數(shù)超過(guò)50人的結(jié)果。SELECTCOUNT(S#)FROMSCGROUPBYC#HAVINGCOUNT(S#)〉50例3:檢索每名學(xué)生的學(xué)號(hào)和年齡,查詢結(jié)果按年齡降序排列,年齡相同按學(xué)號(hào)升序排列。SELECTS#,AGE〉FROMSORDERBYAGEDESC,S#ASC5.SELECT子句的具體規(guī)定SELECT[ALL|DISTINCT]〈列名或列表達(dá)式序列〉|*說(shuō)明:1)DISTINCT選項(xiàng)保證重復(fù)的行將從結(jié)構(gòu)中去除;而ALL選項(xiàng)是默認(rèn)的,將保證重復(fù)的行留在結(jié)果中,一般可不必寫(xiě)出。2)*是對(duì)于在FROM子句中命名表的所有列的簡(jiǎn)寫(xiě)。3)列表達(dá)式中允許出現(xiàn)+、-、*、/等運(yùn)算符以及列名和常數(shù)、聚合函數(shù)等。例1:檢索男同學(xué)選修的課程的課程號(hào)。SELECTDISTINCTC#FROMS,SCWHERES.S#=SC.S#ANDSEX=’男’例2:檢索所有的學(xué)生信息。SELECT*FROMS例3:檢索每個(gè)學(xué)生的學(xué)號(hào)和出生年份。SELECTS#,2008-AGEFROMS6.列和基本表的改名操作有時(shí),一個(gè)基本表在SELECT語(yǔ)句中多次出現(xiàn),即這個(gè)表被多次調(diào)用,為區(qū)別不同的引用,應(yīng)給每次的引用加上不同的名字。當(dāng)然,除此情況之外,也可以給任何一個(gè)表起別名。但要注意:一旦給表起了別名,在該語(yǔ)句中,凡是引用該表名時(shí),必須用別名而不能用原表名。有時(shí),用戶也可以要求輸出的列名與基本表中列名不一致,可在SELECT子句用“舊名AS新名”形式改名。其中AS可以省略。例:檢索每個(gè)學(xué)生的姓名和出生年份,輸出的列名分別為STUDENT_NAME和BIRTH_YEAR。SELECTS#ASSTUDENT_NAME,2008-AGEASBIRTH_YEARFROMS.條件表達(dá)式中的比較操作1)算術(shù)比較操作:常用運(yùn)算符有〈、〈=、〉、〉=、=、?或!=[NOT]BETWEEN_AND用來(lái)查找(不)在給定范圍內(nèi)的數(shù)據(jù),下限在前,上限在后,包括上、下限。例:檢索18-20歲的學(xué)生姓名。SELECTSNAMEFROMSWHEREAGE〉=18ANDAGE〈=20或:SELECTSNAMEFROMSWHEREAGEBETWEEN18AND202)字符串的匹配操作語(yǔ)法:〈字符串>[NOT]LIKE〈匹配模式>說(shuō)明:匹配模式中常使用兩個(gè)通配符:%:與零個(gè)或多個(gè)字符組成的字符串匹配。_:與單個(gè)字符匹配。例:檢索姓名以字符D打頭的學(xué)生姓名。SELECTSNAMEFROMSWHERESNAMELIKE'D%'轉(zhuǎn)義字符:為使字符串中包含特殊字符(即%和_),允許定義轉(zhuǎn)義字符。轉(zhuǎn)義字符緊靠特殊字符并放在它前面,表示該特殊字符被當(dāng)成普通字符。使用ESCAPE定義轉(zhuǎn)義字符。例:LIKE'ab\%cd%’ESCAPE‘\’匹配所有以ab%cd開(kāi)頭的字符串。LIKE'ab\\cd%’ESCAPE‘\’匹配所有以ab\cd開(kāi)頭的字符串。3)空值的比較操作使用IS[NOT]NULL來(lái)比較。例:檢索年齡為空值的學(xué)生姓名。SELECTSNAMEFROMSWHEREAGEISNULL4)集合成員資格的比較語(yǔ)法:[NOT]IN(〈集合>)例1:檢索年齡分別是18、20、21歲的學(xué)生姓名。SELECTSNAMEFROMSWHEREAGEIN(18,20,21)例2:檢索男同學(xué)選修課程的課程號(hào)。SELECTDISTINCTC#FROMSCWHERES#IN(SELECTS#FROMSWHERESEX='男’)5)集合成員的算術(shù)比較語(yǔ)法:元組eALL|SOME|ANY(〈集合〉)說(shuō)明:ALL表示左邊那個(gè)元組與右邊集合中每一個(gè)元組滿足e運(yùn)算;ANY和SOME含義相同,表示左邊那個(gè)元組與右邊集合中至少一個(gè)元組滿足e運(yùn)算。例1:檢索學(xué)習(xí)C2課程的學(xué)生學(xué)號(hào)和姓名。SELECTS#,SNAMEFROMSWHERES#=SOME(SELECTS#FROMSCWHEREC#='C2')例2:檢索不學(xué)C2課程的學(xué)生姓名與年齡。SELECTSNAME,AGEFROMSWHERES#〈〉A(chǔ)LL(SELECTS#FROMSCWHEREC#=‘C2’)6)集合空否的測(cè)試使用[NOT]EXISTS。見(jiàn)前面例子。四、數(shù)據(jù)更新.數(shù)據(jù)插入語(yǔ)法:1)單元組的插入:INSERTINTO〈基本表名>[(<列名序列>)]VALUES(〈元組值>)2)多元組的插入INSERTINTO〈基本表名>(<列名序列>)]VALUES(〈元組值>),(〈元組值>),..,(〈元組值>)3)查詢結(jié)果的插入INSERTINTO〈基本表名>(<列名序列>)]<SELECCT查詢語(yǔ)句>4)表的插入INSERTINTO<基本表名1>[(〈列名序列>)]TABLE〈基本表名2>說(shuō)明:在上述各種插入語(yǔ)句中,如果插入的值在屬性個(gè)數(shù)、順序與基本表的結(jié)構(gòu)完全一致,那么基本表后的(〈列名序列>)可省略,否則必須詳細(xì)列出。.數(shù)據(jù)刪除語(yǔ)法:DELETEFROM〈基本表名>[WHERE〈條件表達(dá)式>]說(shuō)明:如果省略WHERE子句,表示刪除基本表中所有元組。例:把課程名為MATHS的成績(jī)從基本表SC中刪除。DELETEFROMSCWHEREC#IN(SELECTC#FROMCWHERECNAME='MATHS').數(shù)據(jù)修改語(yǔ)法:UPDATE〈基本表名>SET〈列名>=〈值表達(dá)式>[,<列名>=〈值表達(dá)式>...]|ROW=(<元組>)[WHERE<條件表達(dá)式>]例1:把C5課程的課程名改為DB。UPDATECSETCNAME='DB'WHEREC#='C5'例2:把課程號(hào)為C5的元組修改為(C5,DB,T3)UPDATECSETROW=('C5','DB','T3')WHEREC#='C5'五、視圖在SQL中,外模式一級(jí)數(shù)據(jù)結(jié)構(gòu)的基本單位是視圖。視圖的定義:視圖是從若干基本表和(或)其他視圖構(gòu)造出來(lái)的表。這種構(gòu)造方法采用SELECT語(yǔ)句實(shí)現(xiàn)。在我們創(chuàng)建一個(gè)視圖時(shí),只是把其視圖的定義存放在數(shù)據(jù)字典中,而不存儲(chǔ)視圖對(duì)應(yīng)的數(shù)據(jù),在用戶使用視圖時(shí)才去求對(duì)應(yīng)的數(shù)據(jù)。因此,視圖被稱為“虛表”。視圖的創(chuàng)建語(yǔ)法:CREATEVIEW〈視圖名>(〈列表序列>)AS<SELECT查詢語(yǔ)句>視圖的撤銷(xiāo)語(yǔ)法:DROPVIEW〈視圖名>5.對(duì)視圖的操作1)視圖的查詢操作,與基本表一樣。2)視圖的更新操作,一般僅限于“行列子集視圖”。行列子集視圖:如果視圖是從單個(gè)基本表中只使用選擇、投影操作導(dǎo)出的,并且包含了基本表的主鍵,那么這樣的視圖稱為“行列子集視圖”。六、嵌入式SQLSQL語(yǔ)言有兩種使用方式:一種是在終端交互方式下使用,稱為交互式SQL;另一種是在主語(yǔ)言的程序中使用,稱為嵌入式SQL。嵌入式SQL的實(shí)現(xiàn),有兩種處理方式:一種是擴(kuò)充主語(yǔ)言的編譯程序,使之能處理SQL語(yǔ)句;另一種是采用預(yù)處理方式。目前多數(shù)系統(tǒng)采用后一種方式。預(yù)處理方式是先用預(yù)處理程序?qū)υ闯绦蜻M(jìn)行掃描,識(shí)別出SQL語(yǔ)句,并處理成主語(yǔ)言的函數(shù)調(diào)用形式;然后再用主語(yǔ)言的編譯程序編譯成目標(biāo)程序。3.嵌入式SQL的使用規(guī)定:1)在程序中要區(qū)分SQL語(yǔ)句與主語(yǔ)言語(yǔ)句。2)允許嵌入的SQL語(yǔ)句引用主語(yǔ)言的程序變量(成為共享變量)。3)通過(guò)游標(biāo)協(xié)調(diào)SQL的集合處理方式和主語(yǔ)言的單記錄處理方式七、存儲(chǔ)過(guò)程.存儲(chǔ)過(guò)程是使用SQL語(yǔ)句和流程控制語(yǔ)句編寫(xiě)的模塊,存儲(chǔ)過(guò)程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器端的數(shù)據(jù)庫(kù)中,使用時(shí)調(diào)用即可。.使用存儲(chǔ)過(guò)程的優(yōu)點(diǎn):1)提高運(yùn)行速度;2)增強(qiáng)了SQL的功能和靈活性。3)可以降低網(wǎng)絡(luò)的通信量;4)減輕了程序編寫(xiě)的工作量;5)間接實(shí)現(xiàn)安全控制功能。第六章數(shù)據(jù)庫(kù)管理一、事務(wù)DBMS對(duì)DB的監(jiān)控,稱為數(shù)據(jù)庫(kù)的管理,也稱為數(shù)據(jù)庫(kù)的保護(hù)。它分為四個(gè)方面:數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制、完整性控制和安全性控制。事務(wù):是構(gòu)成單一邏輯工作單元的操作集合,要么完整地執(zhí)行,要么完全不執(zhí)行。DBS運(yùn)行的最小邏輯工作單位是“事務(wù)”,所有對(duì)數(shù)據(jù)庫(kù)的操作,都要以事務(wù)作為一個(gè)整體單位來(lái)執(zhí)行或撤銷(xiāo)。一個(gè)事務(wù)由應(yīng)用程序中的一組操作序列組成,在程序中,事務(wù)以BEGINTRANSACTION開(kāi)始,以COMMIT語(yǔ)句或ROLLBACK語(yǔ)句結(jié)束。COMMIT語(yǔ)句表示事務(wù)執(zhí)行成功地結(jié)束(提交);ROLLBACK語(yǔ)句表示事務(wù)執(zhí)行不成功地結(jié)束(應(yīng)該“回退)。事務(wù)的ACID性質(zhì):1)原子性(Atomicity):一個(gè)事務(wù)對(duì)數(shù)據(jù)庫(kù)的所有操作,是一個(gè)不可分割的工作單元。這些操作要么全部執(zhí)行,要么什么也不做。2)一致性(Consistency):一個(gè)事務(wù)獨(dú)立執(zhí)行的結(jié)果,應(yīng)保持?jǐn)?shù)據(jù)庫(kù)的一致性,即數(shù)據(jù)不會(huì)因事務(wù)的執(zhí)行而遭受破壞。3)隔離性(Isolation):在多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),系統(tǒng)應(yīng)保證與這些事務(wù)先后單獨(dú)執(zhí)行時(shí)的結(jié)果一樣。4)持久性(Durability):一個(gè)事務(wù)一旦完成全部操作后,它對(duì)數(shù)據(jù)庫(kù)的所有更新應(yīng)永久地反映在數(shù)據(jù)庫(kù)中,不會(huì)丟失。二、數(shù)據(jù)庫(kù)的恢復(fù)1.數(shù)據(jù)庫(kù)的可恢復(fù)性:系統(tǒng)能把數(shù)據(jù)庫(kù)從被破壞、不正確的狀態(tài),恢復(fù)到最近一個(gè)正確的狀態(tài),DBMS的這種能力稱為可恢復(fù)性。為保證可恢復(fù)性,平時(shí)應(yīng)做好轉(zhuǎn)儲(chǔ)和建立日志。日志庫(kù)記錄事務(wù)的開(kāi)始、結(jié)束標(biāo)志,記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的每一次插入、刪除和修改前后的值。常見(jiàn)故障分三類(lèi):事務(wù)故障、系統(tǒng)故障(硬件故障、軟件(DBMS、OS或應(yīng)用程序)錯(cuò)誤、掉電等,不破壞數(shù)據(jù)庫(kù))、介質(zhì)故障。事務(wù)故障和系統(tǒng)故障的恢復(fù)由系統(tǒng)自動(dòng)進(jìn)行,而介質(zhì)故障的恢復(fù)需要DBA配合執(zhí)行。系統(tǒng)故障通常稱為軟故障,介質(zhì)故障通常稱為硬故障。三、數(shù)據(jù)庫(kù)的并發(fā)控制1.并發(fā)操作帶來(lái)的三個(gè)問(wèn)題:丟失更新、讀臟數(shù)據(jù)(把未提交的隨后被撤銷(xiāo)的數(shù)據(jù)稱為“臟數(shù)據(jù)”)、不可重復(fù)讀。采用“封鎖”技術(shù)解決這些問(wèn)題。鎖:是一個(gè)與數(shù)據(jù)項(xiàng)相關(guān)的變量,對(duì)可能應(yīng)用于該數(shù)據(jù)項(xiàng)上的操作而言,鎖描述了該數(shù)據(jù)項(xiàng)的狀態(tài)。通常在數(shù)據(jù)庫(kù)中每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)鎖。3?鎖的主要類(lèi)型:1)排他鎖(X鎖、寫(xiě)鎖):如果事務(wù)T對(duì)某個(gè)數(shù)據(jù)R(可以是數(shù)據(jù)項(xiàng)、記錄、數(shù)據(jù)集乃至整個(gè)數(shù)據(jù)庫(kù))實(shí)現(xiàn)了X鎖,那么在T對(duì)數(shù)據(jù)R解除封鎖之前,不允許其他事務(wù)再對(duì)該數(shù)據(jù)加任何類(lèi)型的鎖,這種鎖稱為“X鎖”。2)共享鎖(S鎖、讀鎖):如果事務(wù)T對(duì)某數(shù)據(jù)加上S鎖后,仍允許其他事務(wù)再對(duì)該數(shù)據(jù)加S鎖,但在對(duì)該數(shù)據(jù)的所有S鎖都解除之前決不允許任何事務(wù)對(duì)該數(shù)據(jù)加X(jué)鎖。封鎖的粒度:封鎖對(duì)象的大小。封鎖粒度與系統(tǒng)的并發(fā)度成反比。調(diào)度:事務(wù)的執(zhí)行次序。如果多個(gè)事務(wù)依次執(zhí)行,稱為事務(wù)的串行調(diào)度;如果利用分時(shí)的方法,同時(shí)處理多個(gè)事務(wù),則稱為事務(wù)的并發(fā)調(diào)度??纱谢{(diào)度:每個(gè)事務(wù)中,語(yǔ)句的先后順序在各種調(diào)度中始終保持一致。在這個(gè)前提下,如果一個(gè)并發(fā)調(diào)度的執(zhí)行結(jié)果與某一串行調(diào)度的執(zhí)行結(jié)果等價(jià),那么,這個(gè)并發(fā)調(diào)度稱為“可串行化的調(diào)度”,否則是“不可串行化的調(diào)度?!彼摹?shù)據(jù)庫(kù)的完整性1.數(shù)據(jù)庫(kù)的完整性:是指數(shù)據(jù)的正確性、有效性和相容性,防止錯(cuò)誤的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)。1)正確性:是指數(shù)據(jù)的合法性。2)有效性:是指數(shù)據(jù)是否屬于所定義的有效范圍。3)相容性:是指表示同一事實(shí)的兩個(gè)數(shù)據(jù)應(yīng)相同,不一致就是不相容。2、SQL中的完整性約束1)域約束例:CREATEDOMAINCOLORCHAR(6)DEFAULT‘???’CONSTRAINTVALID_COLORSCHECK(VALUEIN(‘Red’,‘Yellow’,‘Blue’,‘Green’,‘???’))定義完后,該域便可作為一種數(shù)據(jù)類(lèi)型使用,如用在CREATETABLE中。2)基本表約束主要有三種形式:候選鍵定義、外鍵定義和檢查約束定義。這些定義都可在前面加CONSTRAINT〈約束名>,也可以省略。候選鍵的定義:UNIQUE(〈列名序列>)或PRIMARYKEY(〈列名序列>)UNIQUE方式:表示值惟一;PRIMARYKEY:值惟一,并且自動(dòng)設(shè)為非空。一個(gè)基本表只能指定一個(gè)主鍵。檢查約束的定義:例:CHECK(AGE>=18ANDAGE<=20)3)斷言:如果完整性約束牽涉面較廣,與多個(gè)關(guān)系有關(guān),或者與聚合操作有關(guān),應(yīng)使用斷言。觸發(fā)器:是一個(gè)能由系統(tǒng)自動(dòng)執(zhí)行對(duì)數(shù)據(jù)庫(kù)修改的語(yǔ)句。有時(shí)也稱為主動(dòng)規(guī)則(相對(duì)于前面的各種被動(dòng)約束機(jī)制)。五、數(shù)據(jù)庫(kù)的安全性1.數(shù)據(jù)庫(kù)的安全性:是指保護(hù)數(shù)據(jù)庫(kù),防止不合法的使用,以免數(shù)據(jù)的泄密、更改或破壞。SQL中的安全性機(jī)制:提供四個(gè):視圖、權(quán)限、角色和審計(jì)1)視圖:使系統(tǒng)具有三個(gè)優(yōu)點(diǎn):數(shù)據(jù)安全性(用來(lái)對(duì)無(wú)權(quán)用戶屏蔽數(shù)據(jù))、邏輯數(shù)據(jù)獨(dú)立性和操作簡(jiǎn)便性。視圖不占存儲(chǔ)空間。2)權(quán)限:授權(quán)語(yǔ)句GRANT、回收語(yǔ)句REVOKE3)角色:在SQL中,用戶是實(shí)際的人或是訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用程序。而角色是一組具有相同權(quán)限的用戶,實(shí)際上角色是屬于目錄一級(jí)的概念。用戶和角色
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 環(huán)境管理體系基礎(chǔ)摸底考試一答案及解析 - 詳解版(65題)
- 福建省泉州市2026屆高中畢業(yè)班質(zhì)量監(jiān)測(cè) (二)生物學(xué)試題(含答案)
- 養(yǎng)老院入住老人福利待遇保障制度
- 企業(yè)員工培訓(xùn)與職業(yè)發(fā)展目標(biāo)路徑素質(zhì)制度
- 老年終末期患者疼痛爆發(fā)痛的護(hù)理干預(yù)策略
- 老年終末期患者家庭會(huì)議的護(hù)士溝通適配策略
- 激勵(lì)技術(shù)人員創(chuàng)新獎(jiǎng)勵(lì)制度實(shí)施細(xì)則
- 2025年昭平縣職業(yè)教育中心招聘考試真題
- 天然砂石骨料生產(chǎn)工安全知識(shí)競(jìng)賽水平考核試卷含答案
- 我國(guó)上市公司獨(dú)立董事與監(jiān)事會(huì)關(guān)系的深度剖析
- 互聯(lián)網(wǎng)護(hù)理慢病管理制度
- 2025年戰(zhàn)傷自救互救題庫(kù)及答案
- GB/T 24786-2025一次性使用聚氯乙烯醫(yī)用檢查手套
- 介入導(dǎo)管室知識(shí)培訓(xùn)課件
- 2025年高考高三物理一輪復(fù)習(xí)實(shí)驗(yàn)十四 測(cè)量玻璃的折射率課件
- 中考英語(yǔ)高頻短語(yǔ)500條(速記口訣)
- 貿(mào)易公司年度工作總結(jié)
- 2025年廣西農(nóng)村城鎮(zhèn)化建設(shè)行業(yè)研究報(bào)告及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)
- 2025國(guó)家公務(wù)員考試真題(附答案)
- 2025年同等學(xué)力申碩-同等學(xué)力(動(dòng)力工程及工程熱物理)歷年參考題庫(kù)含答案解析(5套典型題)
- 黃岡中學(xué)優(yōu)錄數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論