版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
15級(jí)《數(shù)據(jù)庫系統(tǒng)》復(fù)習(xí)資料第2頁一、考試說明(一)考試要求:本考試共分六種題型,即單項(xiàng)選擇題、名詞解釋、簡(jiǎn)答題、設(shè)計(jì)題、綜合題,共120分鐘,總分100分,閉卷考試。(二)考試題型:1.單項(xiàng)選擇題(30分,2分×15)只要是了解考生對(duì)容易混淆的概念、理論和實(shí)踐問題掌握的準(zhǔn)確度,題目涉及數(shù)據(jù)庫系統(tǒng)各個(gè)章節(jié)的概念及實(shí)際應(yīng)用。2.名詞解釋(10分,2分×5)主要考察學(xué)生對(duì)基本概念掌握的熟練程度和準(zhǔn)確性,一般是本門課程中較為重要的概念,要求學(xué)生以教材給出的概念或自己的理解復(fù)述出來。3.簡(jiǎn)答題(24分,4分×6)主要考察學(xué)生對(duì)基本實(shí)踐和基本理論問題及相互關(guān)系掌握的系統(tǒng)性、全面性、和準(zhǔn)確性,題目涉及理論與實(shí)踐問題。4.設(shè)計(jì)題(26分左右,8~10小題)(1)關(guān)系代數(shù)表達(dá)式(2)SQL語句(查詢語句和視圖)5.綜合題(10分左右,2~3小題)(1)構(gòu)建E/R圖并轉(zhuǎn)換成關(guān)系模型(2)范式的判斷與分解(3)SQL語句查詢(子查詢和聚集查詢)(三)時(shí)間分配:本考試為非標(biāo)準(zhǔn)化考試,用鋼筆或簽字筆按順序(注明題號(hào))答在答題紙上。試卷分?jǐn)?shù)和時(shí)間分配如下:題號(hào)題目名稱題數(shù)分值建議時(shí)間(單位:分鐘)1選擇題1530152名詞解釋510153簡(jiǎn)答題624304設(shè)計(jì)題8~1026左右305綜合題210左右30合計(jì)36~38100120
二、復(fù)習(xí)重點(diǎn)(一)chap01數(shù)據(jù)庫系統(tǒng)世界1.主要概念(1)數(shù)據(jù)庫系統(tǒng)(DBS):就是在系統(tǒng)中引入數(shù)據(jù)庫的系統(tǒng),包括硬件(計(jì)算機(jī)和網(wǎng)絡(luò))、軟件(操作系統(tǒng)和應(yīng)用程序開發(fā)工具)、數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用程序(Application)、用戶(User普通用戶,專業(yè)用戶,應(yīng)用程序員)、數(shù)據(jù)庫管理員(DBA)(2)數(shù)據(jù)庫管理系統(tǒng)(DBMS):能夠有效管理數(shù)據(jù)和維護(hù)數(shù)據(jù)庫并為用戶應(yīng)用程序提供訪問數(shù)據(jù)庫方法的一套大型軟件。(3)數(shù)據(jù)獨(dú)立性:內(nèi)模式改變,對(duì)模式?jīng)]有影響,保持?jǐn)?shù)據(jù)的物理獨(dú)立性;模式改變,對(duì)外模式影響不大,保持?jǐn)?shù)據(jù)的邏輯獨(dú)立性。(4)模式:數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。一個(gè)數(shù)據(jù)庫只有一個(gè)模式,不僅描述數(shù)據(jù)的邏輯結(jié)構(gòu),還描述數(shù)據(jù)之間的聯(lián)系、數(shù)據(jù)的完整性、安全性。外模式:數(shù)據(jù)庫用戶可以看見和使用的部分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,與某一應(yīng)用相關(guān)。內(nèi)模式:數(shù)據(jù)庫物理結(jié)構(gòu)和存儲(chǔ)方式的描述,說明數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部如何表示。內(nèi)模式并不涉及物理記錄,也不涉及硬件設(shè)備。2.主要內(nèi)容(1)數(shù)據(jù)庫的特點(diǎn)數(shù)據(jù)庫是按一定方式對(duì)所有的數(shù)據(jù)實(shí)行統(tǒng)一、集中管理;大容量且高效;實(shí)現(xiàn)數(shù)據(jù)共享,允許多用戶并發(fā)訪問;使數(shù)據(jù)存儲(chǔ)獨(dú)立于應(yīng)用程序;由一組軟件(DBMS)對(duì)數(shù)據(jù)進(jìn)行集中統(tǒng)一的管理。(2)數(shù)據(jù)庫管理系統(tǒng)的組成及主要功能基本組成:查詢處理程序(處理三種SQL命令,模式更新、查詢、數(shù)據(jù)更新);存儲(chǔ)管理程序(包括文件系統(tǒng)管理和緩沖區(qū)管理);事務(wù)管理程序(事務(wù)特性,原子性、一致性、隔離性、持久性;包括調(diào)度器與日志和恢復(fù)管理器)。主要功能:數(shù)據(jù)定義(建立數(shù)據(jù)庫及其對(duì)象)、數(shù)據(jù)存?。▽?duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、添加、修改和刪除操作)、數(shù)據(jù)控制(保證數(shù)據(jù)的完整性和安全性;提供多用戶的并發(fā)控制,避免意外損壞數(shù)據(jù),以保證共享數(shù)據(jù))、數(shù)據(jù)維護(hù)(當(dāng)數(shù)據(jù)庫出現(xiàn)故障時(shí)對(duì)系統(tǒng)進(jìn)行恢復(fù))、數(shù)據(jù)通信(與操作系統(tǒng)的聯(lián)機(jī)處理,與網(wǎng)絡(luò)軟件通訊)。(3)數(shù)據(jù)庫的模式(schema)結(jié)構(gòu):數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲(chǔ)在硬盤上。模式介于它們之間,既不外部訪問,也不涉及內(nèi)部存儲(chǔ),起到隔離作用,有利于保持?jǐn)?shù)據(jù)獨(dú)立性。外模式是模式的子集,所以外模式又叫子模式??梢酝ㄟ^視圖來實(shí)現(xiàn)外模式,不同用戶可以顯示表中部分的信息,從而保護(hù)數(shù)據(jù)庫數(shù)據(jù)的安全。(二)chap04數(shù)據(jù)庫建模1.主要概念(1)數(shù)據(jù)模型:數(shù)據(jù)庫系統(tǒng)中,用來抽象、表示和處理現(xiàn)實(shí)世界信息的工具;包含數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束。數(shù)據(jù)模型主要包括概念模型和邏輯模型,其中概念模型主要通過定義一組明確直觀的概念對(duì)數(shù)據(jù)庫應(yīng)用中的信息需求進(jìn)行描述,變成易于用戶理解的數(shù)據(jù)庫結(jié)構(gòu);邏輯模型主要將概念模型描述的數(shù)據(jù)庫結(jié)構(gòu)轉(zhuǎn)換成適合具體DBMS實(shí)現(xiàn)的邏輯結(jié)構(gòu)。(2)實(shí)體/聯(lián)系模型:作為一種概念模型,用實(shí)體、聯(lián)系和屬性等幾個(gè)基本概念明確描述用戶的信息需求。E/R圖,其實(shí)就是用直觀的幾何圖形簡(jiǎn)單明了地表示E/R模型。(3)鍵碼約束:能惟一標(biāo)識(shí)實(shí)體集中不同實(shí)體的屬性或?qū)傩约?,不能重?fù),也不能為空。引用完整性約束:兩個(gè)實(shí)體集的實(shí)體之間或?qū)嶓w集內(nèi)部的實(shí)體之間形成引用關(guān)系,要求被引用實(shí)體存在且唯一。(4)弱實(shí)體集:部分或全部依賴于其他一個(gè)或多個(gè)實(shí)體集鍵碼存在的實(shí)體集。2.主要內(nèi)容(1)數(shù)據(jù)模型的分類①概念模型:實(shí)體-聯(lián)系(E/R)模型和統(tǒng)一建模語言(UML)等。②邏輯模型:層次模型,網(wǎng)狀模型,關(guān)系模型等。(2)實(shí)體/聯(lián)系圖的基本表示①實(shí)體集:矩形表示;②聯(lián)系:菱形表示;③屬性:橢圓表示。注意:實(shí)體集可以連接屬性,聯(lián)系也可以連接屬性;實(shí)體集之間通過聯(lián)系連接。(3)聯(lián)系的多重性的表示:有箭頭所指的實(shí)體集為1;無箭頭所連接的實(shí)體集為多。(4)多向聯(lián)系轉(zhuǎn)換為二元聯(lián)系①什么是多元聯(lián)系:一個(gè)聯(lián)系涉及兩個(gè)以上的實(shí)體集,該聯(lián)系就是多元聯(lián)系。②如何確定三元聯(lián)系中的多重性?實(shí)體集A和B先分別確定一個(gè)實(shí)體,判斷聯(lián)系的C的實(shí)體是一個(gè)還是多個(gè)。③多向聯(lián)系轉(zhuǎn)換為二元聯(lián)系?把多元聯(lián)系表示為一個(gè)實(shí)體集,稱為連接實(shí)體集;確定連接實(shí)體集的屬性;分別建立該實(shí)體集到多個(gè)原實(shí)體集的多對(duì)1的二元聯(lián)系?!咀⒁狻亢螘r(shí)需要聯(lián)系轉(zhuǎn)換成連接實(shí)體集?多元聯(lián)系;多對(duì)多聯(lián)系;有屬性的聯(lián)系(5)各種約束的表示:①鍵碼約束:在鍵碼屬性下方加下劃線;②參照完整性約束:圓箭頭指向“必須有一個(gè)”的一方。③域約束:限定屬性取值范圍或限定聯(lián)系實(shí)體的數(shù)量(6)弱實(shí)體集的表示:弱實(shí)體集用雙邊矩形表示;多對(duì)1的聯(lián)系用雙邊菱形表示。【注意】弱實(shí)體集與依賴其鍵碼存在的實(shí)體集之間的聯(lián)系是弱聯(lián)系;弱實(shí)體集與不依賴其存在的實(shí)體集之間的聯(lián)系是普通聯(lián)系。(7)設(shè)計(jì)原則①真實(shí)性原則;②避免冗余原則;③簡(jiǎn)單性原則;④合適性原則(如果事物只描述名稱,就用屬性表示;如果描述更多特性,就用實(shí)體集表示)。(8)E/R圖的構(gòu)建:①確定實(shí)體集和弱實(shí)體集及其屬下;②確定聯(lián)系(聯(lián)系的種類、角色和多重性)及其屬性;③使用設(shè)計(jì)原則進(jìn)行核查;④確定鍵碼(若沒有合適屬性,可考慮增加人工屬性)、參照完整性約束和域約束。(三)chap02關(guān)系數(shù)據(jù)庫和chap03關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論1.主要概念(1)關(guān)系模型:以集合論中的關(guān)系來表示實(shí)體集及實(shí)體集之間的聯(lián)系。(2)關(guān)系:在關(guān)系模型中,不管是實(shí)體,還是實(shí)體之間的聯(lián)系都以規(guī)范化的二維表結(jié)構(gòu)存儲(chǔ)表示。關(guān)系包括表頭(heading)和主體(body),表頭是一系列屬性(包括屬性名和數(shù)據(jù)類型)的集合,而主體是一系列元組的集合。(3)關(guān)系模式=關(guān)系名+表頭(屬性列表)。(4)函數(shù)依賴:函數(shù)依賴其實(shí)對(duì)同一關(guān)系中屬性之間的語義進(jìn)行約束。具體定義如下:如果關(guān)系中的任意兩個(gè)元組在屬性A上一致,在屬性B上也一致,則屬性A函數(shù)決定屬性B,即A→B。(5)關(guān)系的鍵碼:對(duì)于關(guān)系R,屬性全集為U,屬性集合A={A1,A2,…An},任意真子集A’。若滿足A→U(惟一性)且A’≯U(最小化)(6)關(guān)系的超鍵碼:關(guān)系中包含鍵碼的屬性集合。(7)函數(shù)依賴規(guī)則:在一個(gè)給定關(guān)系上,已知一組函數(shù)依賴作為前提條件。根據(jù)一組函數(shù)依賴規(guī)則,推斷另一些函數(shù)依賴。包括分解合并規(guī)則、平凡依賴規(guī)則和傳遞規(guī)則。①分解合并規(guī)則:A1A2…An→B1B2…Bm等價(jià)于A1A2…An→B1,。。。,A1A2…An→Bm。②平凡依賴和平凡依賴規(guī)則:對(duì)于函數(shù)依賴A1A2…An→B1B2…Bm而言,?Bi∈{A1,A2,…,An},則為平凡依賴;平凡依賴規(guī)則:已知A1A2…An→B1B2…Bm,且?Ci∈{B1,B2,…,Bm}∧Ci?{A1,A2,…,An},則A1A2…An→C1C2…Ck。③傳遞規(guī)則:如果A1A2…An→B1B2…Bm,而且B1B2…Bm→C1C2…Ck,則A1A2…An→C1C2…Ck成立(蘊(yùn)含于前兩個(gè)依賴中)。(8)屬性的閉包:對(duì)于關(guān)系R上的一組函數(shù)依賴S,屬性集{A1,A2,…An}可函數(shù)決定的最大屬性集合。(9)函數(shù)依賴的閉包:對(duì)于給定的關(guān)系模式R和函數(shù)依賴集合F,所有能由F導(dǎo)出的函數(shù)依賴的全體稱作函數(shù)依賴集合F的閉包,記作F+。(10)范式:關(guān)系模式按照一定要求和條件進(jìn)行分解后所滿足的規(guī)范形式。①BC范式(BCNF):關(guān)系模式R中每一個(gè)非平凡函數(shù)依賴FD左邊包含某個(gè)鍵碼,即滿足。②第三范式(3NF):關(guān)系模式R中每一個(gè)非平凡函數(shù)依賴FD要么左邊包含某個(gè)鍵碼要么右邊是鍵屬性,即滿足。③第二范式(2NF):在1NF的基礎(chǔ)上,要求每個(gè)非鍵屬性依賴于鍵的整體(直接或間接),而不是鍵的部分屬性,即不存在部分依賴。(11)多值依賴、多值依賴規(guī)則、非平凡多值依賴、第四范式(4NF)①多值依賴:若關(guān)系R(A,B,Z)中的元組在屬性A上取某一特定值,則其在屬性B上的值(集)與R中不屬于A和B的其它屬性Z無關(guān),這種條件即為多值依賴。記作:A→→B②多值依賴規(guī)則包括平凡依賴規(guī)則、傳遞規(guī)則、復(fù)制規(guī)則和互補(bǔ)規(guī)則。平凡依賴規(guī)則:若多值依賴A→→B在關(guān)系R上成立,則A→→C成立,其中C是B屬性加上A的一個(gè)或幾個(gè)屬性;同時(shí)A→→D成立,其中D是B屬性中不屬于A的屬性。傳遞規(guī)則:若多值依賴A→→B和B→→C在關(guān)系R上成立,則A→→C也成立。復(fù)制規(guī)則:每個(gè)函數(shù)依賴都是多值依賴的特例:若A→B,則A→→B。反之不然?;パa(bǔ)規(guī)則:若A→→B是R的多值依賴,則A→→C成立,其中C是R中不屬于A和B的所有其它屬性。③非平凡多值依賴:關(guān)系R(A,B,Z)中A→→B是非平凡多值依賴,當(dāng)且僅當(dāng)(1)A∩B=空;(2)A∪B≠全集。④第四范式(4NF):關(guān)系模式R中每一個(gè)非平凡多值依賴MVD左邊包含某個(gè)鍵碼,即滿足。2.主要內(nèi)容(1)E/R圖轉(zhuǎn)換成關(guān)系①實(shí)體集轉(zhuǎn)換成關(guān)系;關(guān)系名=實(shí)體集名;關(guān)系屬性=實(shí)體集屬性;關(guān)系鍵碼=實(shí)體集鍵碼②聯(lián)系轉(zhuǎn)換成關(guān)系多對(duì)多聯(lián)系(m:n):關(guān)系名=聯(lián)系名;關(guān)系屬性=m端實(shí)體集鍵碼+n端實(shí)體集鍵碼+聯(lián)系自身屬性;關(guān)系鍵碼=m端實(shí)體集鍵碼+n端實(shí)體集鍵碼多對(duì)一聯(lián)系(n:1):聯(lián)系不需要單獨(dú)轉(zhuǎn)換成關(guān)系;但要在n端實(shí)體集對(duì)應(yīng)關(guān)系模式中加上1端實(shí)體集鍵碼一對(duì)一聯(lián)系(1:1):聯(lián)系不需要單獨(dú)轉(zhuǎn)換成關(guān)系;但要在其中1端實(shí)體集對(duì)應(yīng)關(guān)系模式中加上另外1端實(shí)體集鍵碼③弱實(shí)體集轉(zhuǎn)換成關(guān)系關(guān)系名=弱實(shí)體集名;關(guān)系屬性=被依賴實(shí)體集鍵碼+弱實(shí)體集自身屬性關(guān)系鍵碼=被依賴實(shí)體集鍵碼+弱實(shí)體集鍵碼;弱聯(lián)系不需要單獨(dú)轉(zhuǎn)換成關(guān)系。(2)如何判斷關(guān)系中的函數(shù)依賴①若關(guān)系中任意兩元組在屬性A上一致,在B上也一致,則有A→B成立。②若關(guān)系中存在兩元組在屬性A上一致,在B上不一致,則A→B不成立。③若關(guān)系中任意兩元組在屬性A上不可能一致,則不管在B上是否一致,有A→B成立。(3)屬性閉包的計(jì)算①設(shè)閉包是X,把X初始化為{A1,A2,…,An},為閉包的最小屬性集合。②重復(fù)搜索和判斷函數(shù)依賴B1B2…Bm→C。如果左邊所有的屬性B1,B2,…,Bm都在屬性集X中,但是屬性C不在X中,則將C添加到屬性集X中。③重復(fù)第二步,直到?jīng)]有新屬性可以添加到屬性集X中為止。④最后得到的不能再添加的屬性集合X就是{A1,A2,…,An}+。(4)屬性閉包的作用①利用計(jì)算任意屬性的閉包檢驗(yàn)給定的任意屬性函數(shù)依賴A1A2…An→B是否蘊(yùn)含于函數(shù)依賴集合S;②利用屬性集的閉包計(jì)算關(guān)系的鍵碼和超鍵碼。確定過程:對(duì)于關(guān)系R,屬性全集為U,屬性集合,任意真子集A’。若滿足{A}+=U(惟一性)且{A’}+≠U(最小化)(5)如何求最小函數(shù)依賴集合?①據(jù)分解規(guī)則,可得到與F等價(jià)的函數(shù)依賴集G,G中每個(gè)函數(shù)依賴右邊均為單屬性。②在G中消除冗余的函數(shù)依賴。③在G中的每個(gè)函數(shù)依賴中消除左邊冗余的屬性。(6)如何求函數(shù)依賴的投影?對(duì)于S的屬性集U中的每個(gè)屬性子集X,計(jì)算X+,于是對(duì)于滿足下列條件的每個(gè)屬性B,函數(shù)X→B在S中成立:①B是S的一個(gè)屬性,②B屬于X+,而且③B不屬于X。(7)BC范式的判定:①找出所有的Key;②檢查所有非平凡函數(shù)依賴;③左面是否超鍵?(8)分解為BC范式(BCNF):找一個(gè)違背BCNF的非平凡函數(shù)依賴A1A2…An→B1B2…Bm;把關(guān)系R分解成兩個(gè)關(guān)系:R1(A1,A2,…,An,B1,B2,…,Bm),R2(A1,A2,…,An,所有其它屬性),若不滿足BC范式,則再分解。(9)分解為第三范式(3NF):①對(duì)于關(guān)系模式R和R上的函數(shù)依賴集合F,先求出F的最小依賴集合,然后再把最小依賴集合中左部相同的函數(shù)依賴用合并規(guī)則合并起來;②對(duì)最小依賴集合中的每個(gè)函數(shù)依賴X→Y去構(gòu)成一個(gè)模式XY;③構(gòu)成模式集合中,若每個(gè)模式都不包含R候選鍵,則把候選鍵作為一個(gè)模式放入其中。(10)分解為第四范式(4NF):找一個(gè)違背4NF的非平凡多值依賴A→→B,A不是超鍵;把關(guān)系R分解兩個(gè)關(guān)系:R1(A,B);R2(A,所有其它屬性),若不滿足4NF,則再分解。(11)范式間的聯(lián)系:滿足高級(jí)別范式,肯定滿足低級(jí)別范式;違背低級(jí)別范式,肯定違背高級(jí)別范式。對(duì)于一個(gè)特定關(guān)系,應(yīng)關(guān)注其滿足的最高范式,或違背的最低范式。(四)chap05關(guān)系代數(shù)1.主要概念(1)關(guān)系代數(shù):在關(guān)系模型上定義了一組標(biāo)準(zhǔn)運(yùn)算,從已知的關(guān)系計(jì)算得到新的關(guān)系。(2)基本運(yùn)算:并、差、投影、選擇、笛卡爾積和改名;導(dǎo)出運(yùn)算:交、自然連接、θ連接和除法運(yùn)算。(3)包及包的運(yùn)算:包允許出現(xiàn)重復(fù)元素;在包上進(jìn)行集合運(yùn)算(并、交、差)、投影、選擇、乘積和連接都允許運(yùn)算之前和之后元組重復(fù)。2.主要內(nèi)容(1)關(guān)系集合運(yùn)算(并、交、差):兩個(gè)關(guān)系R和S,R∪S={t|t∈RORt∈S};R∩S={t|t∈RANDt∈S};R-S={t|t∈RANDNOTt∈S}。要求R和S模式具有相同屬性集。(2)投影運(yùn)算ПA(R):產(chǎn)生對(duì)應(yīng)關(guān)系R中部分屬性集合{A1,A2,…,An}的新關(guān)系。結(jié)果關(guān)系的元組由R中元組在屬性{A1,A2,…,An}上的分量構(gòu)成,且元組不重復(fù)。(3)選擇運(yùn)算σc(R):從關(guān)系R中選擇只包含滿足特定條件c的元組集合。結(jié)果關(guān)系保持關(guān)系的R屬性集且屬性次序也相同。(4)笛卡爾積:關(guān)系R和S中的每個(gè)元組自由組合成一個(gè)新關(guān)系。R×S屬性數(shù)量=R屬性數(shù)量+S屬性數(shù)量;R×S元組數(shù)量=R元組數(shù)量×S元組數(shù)量(5)自然連接:關(guān)系R和S的公共屬性取值相同;結(jié)果關(guān)系中除去重復(fù)其中一個(gè)公共屬性。(6)θ連接:從關(guān)系R和S的笛卡爾積中選擇只包含滿足特定條件c的元組集合,保留所有屬性名重復(fù)的公共屬性。(7)改名運(yùn)算ρS(A1,A2,…,An)(S)表示關(guān)系名不變,僅改屬性名;ρS(A1,A2,…,An)(R)表示關(guān)系名和屬性名同時(shí)改變;ρS(R)表示僅關(guān)系改名而屬性不改名。(8)用復(fù)合運(yùn)算表示各類復(fù)雜查詢把兩種以上運(yùn)算組合起來構(gòu)成任意復(fù)雜的關(guān)系代數(shù)表達(dá)式,完成較復(fù)雜的計(jì)算和功能強(qiáng)大的查詢,關(guān)系表達(dá)式可以用括號(hào)表明運(yùn)算后前后次序。為了表達(dá)復(fù)合運(yùn)算的先后順序,可畫出關(guān)系代數(shù)表達(dá)式的語法樹,從而比較性能優(yōu)劣。(9)用關(guān)系代數(shù)表示約束R=φ表示R中沒有元組;RS表示R中的每個(gè)元組都在S中。R=φ等價(jià)于Rφ;RS等價(jià)于R-S=φ。參照完整性約束:∏A(R)∏B(S)。(10)外連接①自然外連接:考慮兩個(gè)關(guān)系R和S的自然連接,然后再把來自R或S的懸浮元組加入其中,用null的表示符號(hào)補(bǔ)齊結(jié)果元組中那些不具有值的屬性。②左外連接:只是將左變量R的懸浮元組補(bǔ)齊加入到結(jié)果中。③右外連接:只是將右變量S的懸浮元組補(bǔ)齊加入到結(jié)果中。④θ外連接:先進(jìn)行θ連接,然后將那些不能匹配其他關(guān)系的元組,也用補(bǔ)齊。(五)chap06數(shù)據(jù)庫語言SQL1.主要概念(1)約束:①鍵碼約束:要求每個(gè)表都必須確定自己的鍵。一個(gè)表只能確定一個(gè)主鍵(PrimaryKey)。②外鍵約束:參照完整性要求具有一對(duì)多關(guān)系兩個(gè)表之間的數(shù)據(jù)保證一致和對(duì)應(yīng)關(guān)系,必須要在這兩個(gè)表之間創(chuàng)建關(guān)系。兩個(gè)表創(chuàng)建關(guān)系基于主表的主鍵或候選鍵與子表的外鍵之間建立參照關(guān)系,即將子表中某個(gè)字段聲明為外鍵(foreignkey),那么外鍵取值要參照主表中的主鍵取值,就是外鍵的取值必須包含在主鍵的取值范圍中。③非空約束:規(guī)定某個(gè)字段不允許為空值,即NOTNULL。④基于屬性的Check約束:定義關(guān)系模式時(shí),限制某屬性的值在特定范圍。⑤基于元組的Check約束:對(duì)某個(gè)表中元組的約束而不是對(duì)某個(gè)屬性的約束,限制表中某幾個(gè)字段滿足的約束條件。(2)視圖:可以把需要重復(fù)執(zhí)行的一條SELECT語句或組合SELECT語句包裝成一個(gè)命名的“虛擬關(guān)系”,這個(gè)就是視圖。(3)空值:SQL允許屬性有一個(gè)特殊的值NULL稱做空值。未知的值,知道它是一個(gè)值但不知道是什么;不適用的值,任何值在這里沒有意義;保留的值,屬于某對(duì)象但無權(quán)知道的值。(4)外部連接:兩個(gè)關(guān)系進(jìn)行連接,參與連接的一方(左方或右方),即使不滿足條件,也要出現(xiàn)在結(jié)果中。不滿足條件的元組的另一方屬性置空值NULL。2.主要內(nèi)容(1)用SQL定義關(guān)系模式使用CREATETABLE關(guān)系名(屬性列表)定義關(guān)系模式;使用ALTERTABLE語句修改關(guān)系;使用DropTable語句刪除關(guān)系。1)說明鍵碼①方式1:CreateTable語句中,某屬性說明之后加PrimaryKey;②方式2:屬性表之后,加PrimaryKey(屬性1,屬性2,…)。若主鍵有多個(gè)屬性,則只能用方式2。2)說明外鍵①方式1:某屬性之后加references<被參照表>(被參照屬性);②方式2:屬性表之后加foreignkey<參照屬性>references<被參照表>(被參照屬性)。3)說明其它約束①非空約束:createtable語句中,屬性說明之后加NOTNULL;若不顯式說明,該屬性隱含為允許空值。②基于屬性的Check約束:屬性說明之后,增加check(條件),屬性的值應(yīng)使條件為真。③基于元組的Check約束:對(duì)某個(gè)關(guān)系中元組約束而不是對(duì)某個(gè)屬性約束。4)維護(hù)引用完整性約束的策略:Restrict限制(缺省);Cascade級(jí)聯(lián);SetNull置空。具體語法:references<被參照表>(屬性表)[Action],其中Action:ON{Update|Delete}{Restrict|Cascade|SetNull}。(2)數(shù)據(jù)更新①添加數(shù)據(jù)記錄:INSERTINTOR(A1,A2,…,An)VALUES(V1,V2,…,Vn);②修改數(shù)據(jù)記錄:UPDATERSETA1=V1,A2=V2,…,An=VnWHEREcond;③刪除數(shù)據(jù)記錄:DELETEFROMRWHEREcond;注意,條件省略將刪除所有記錄。(3)SQL簡(jiǎn)單查詢:對(duì)單個(gè)關(guān)系的查詢都屬于比較簡(jiǎn)單的查詢。在SQL語言中,查詢語句使用Select語句來執(zhí)行。簡(jiǎn)單查詢語句最常用的關(guān)鍵字分別是Select、From、Where、還有orderby。在這四個(gè)子句中,只有Select和From子句必須出現(xiàn),而其他子句則是可選的。(4)多關(guān)系查詢多關(guān)系查詢就是兩個(gè)以上的關(guān)系在From子句中連接起來進(jìn)行查詢。SQL用簡(jiǎn)單的方式在一個(gè)查詢中處理多個(gè)關(guān)系:在From子句中列出每個(gè)關(guān)系,然后在SELECT子句和WHERE子句中引用任何出現(xiàn)在FROM子句中關(guān)系的屬性。結(jié)果是一個(gè)包,而不是集合。多個(gè)關(guān)系中出現(xiàn)同名屬性,使用關(guān)系名.屬性名,限定關(guān)系和屬性。如果對(duì)關(guān)系內(nèi)部不同元組進(jìn)行連接,要使用元組變量對(duì)關(guān)系改名(別名)。(5)集合運(yùn)算:查詢中并(Union)、交(Intersect)、差(Except)運(yùn)算的結(jié)果是集合。但如果在其運(yùn)算符后加上ALL后,則運(yùn)算的結(jié)果則為包。(6)子查詢子查詢就是在其他查詢語句中嵌入Select語句。實(shí)質(zhì)上,子查詢就是一個(gè)對(duì)關(guān)系求值的表達(dá)式;子查詢可以作為一個(gè)標(biāo)量值來使用,也可以用在條件子句中進(jìn)行判斷。注意,子查詢必須使用括號(hào)括起來。通常在Where子句中增強(qiáng)條件。先處理內(nèi)層的子查詢,再處理外層的查詢。相關(guān)子查詢是子查詢語句中有對(duì)外層關(guān)系的引用,從而,對(duì)外層關(guān)系的每一個(gè)元組,子查詢都進(jìn)行一次相應(yīng)計(jì)算。(7)聚合運(yùn)算:把關(guān)系中所有元組作為整體,對(duì)其中某些列多行進(jìn)行計(jì)算,形成單行結(jié)果值。可按某條件先對(duì)元組分組,再對(duì)每一組作聚合運(yùn)算,每一組的計(jì)算結(jié)果形成結(jié)果集中的一行。主要有五種聚集運(yùn)算符:Sum(C)求某數(shù)值列匯總值;Avg(C)求某數(shù)值列平均值;Min(C)求某數(shù)值列最小值;Max(C)求某數(shù)值列最大值;Count(*|C)對(duì)元組計(jì)數(shù),或?qū)δ沉兄涤?jì)數(shù)。(8)關(guān)于視圖的更新對(duì)視圖可進(jìn)行數(shù)據(jù)更新,對(duì)視圖進(jìn)行insert/delete/update操作,該視圖必須滿足基于單表;所有非空屬性都在視圖中;不能有GroupBy子句;不能有聚合計(jì)算;不能有UNION;不含DISTINCT;不含相關(guān)子查詢。對(duì)視圖的數(shù)據(jù)更新亦將轉(zhuǎn)換為對(duì)基本關(guān)系的更新。(9)連接表達(dá)式在Select查詢的From子句中,連接表達(dá)式可產(chǎn)生新的關(guān)系。join-type:CROSSJOIN//交叉連接,即笛卡爾積;R1JOINR2ONcond表示θ連接;R1KEYJOINR2表示鍵連接;R1NATURALJOINR2表示自然連接;InnerJoin表示內(nèi)連接。(10)外部連接外連接OuterJoin是參與連接的一方(左方或右方),即使不滿足條件,也要出現(xiàn)在結(jié)果中。不滿足條件的元組的另一方屬性置空值NULL。左外連接LeftOuterJoin表示左面關(guān)系的所有元組將出現(xiàn)在結(jié)果中;右外連接RightOuterJoin表示右面關(guān)系的所有元組將出現(xiàn)在結(jié)果中;全外連接FullOuterJoin表示兩面關(guān)系的所有元組將出現(xiàn)在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 烤漆作業(yè)標(biāo)準(zhǔn)指南
- 2026年泉州輕工職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫及參考答案詳解一套
- 《正常人體功能》課件-體溫
- 勞務(wù)派遣人員工資支付擔(dān)保協(xié)議
- 中藥材行業(yè)中藥提取技術(shù)員崗位招聘考試試卷及答案
- 2026年小學(xué)生心理健康教育工作計(jì)劃
- 2025年固體分散載體材料項(xiàng)目合作計(jì)劃書
- 2025年放射性污染防治合作協(xié)議書
- 術(shù)后虛弱的飲食調(diào)養(yǎng)
- 遼寧省2025秋九年級(jí)英語全冊(cè)Unit3Couldyoupleasetellmewheretherestroomsare課時(shí)3SectionA(GrammarFocus-4c)課件新版人教新目標(biāo)版
- 酒店行業(yè)的信息安全培訓(xùn)方法
- 塑料制品行業(yè)財(cái)務(wù)工作年度績效報(bào)告
- 皮膚科護(hù)理中的振動(dòng)按摩在皮膚病管理中的應(yīng)用
- 20以內(nèi)進(jìn)位加法100題(精心整理6套-可打印A4)
- 腸內(nèi)營養(yǎng)考評(píng)標(biāo)準(zhǔn)終
- 2023屆高考專題復(fù)習(xí):小說專題訓(xùn)練群體形象與個(gè)體形象(含答案)
- 項(xiàng)目全周期現(xiàn)金流管理培訓(xùn)
- 生物化學(xué)實(shí)驗(yàn)智慧樹知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- 等腰三角形復(fù)習(xí)課教案
- GB/T 39741.1-2021滑動(dòng)軸承公差第1部分:配合
- GB/T 19228.3-2012不銹鋼卡壓式管件組件第3部分:O形橡膠密封圈
評(píng)論
0/150
提交評(píng)論