數(shù)據(jù)庫基礎(chǔ)與應(yīng)用綜合_第1頁
數(shù)據(jù)庫基礎(chǔ)與應(yīng)用綜合_第2頁
數(shù)據(jù)庫基礎(chǔ)與應(yīng)用綜合_第3頁
數(shù)據(jù)庫基礎(chǔ)與應(yīng)用綜合_第4頁
數(shù)據(jù)庫基礎(chǔ)與應(yīng)用綜合_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

第一章數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫處理技術(shù)經(jīng)歷了(人工管理)、(文件管理)、(數(shù)據(jù)庫管理)、以及分布式數(shù)據(jù)庫管理等四個(gè)發(fā)展階段。在人工管理和文件管理階段,程序設(shè)計(jì)(依賴于)數(shù)據(jù)表示。在文件管理階段,文件之間是相互(獨(dú)立)的,在數(shù)據(jù)庫管理階段,文件之間是相互(聯(lián)系)的。使用數(shù)據(jù)庫設(shè)計(jì)程序時(shí),只需要告訴數(shù)據(jù)庫管理系統(tǒng)(做什么),不需要告訴它(怎么做)。在(文件)系統(tǒng)中,數(shù)據(jù)沒有獨(dú)立的操作界面,在(數(shù)據(jù)庫)系統(tǒng)中,數(shù)據(jù)具有獨(dú)立的操作界面。DBMS具有(安全性)、(一致性)、(并發(fā)性)和(數(shù)據(jù)庫恢復(fù))等管理控制功能。分布式數(shù)據(jù)庫系統(tǒng)除了具有一般數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)之外,還具有(可靠性高)、(地域范圍廣)、(數(shù)據(jù)量大)、(客戶數(shù)多)等優(yōu)點(diǎn)。在實(shí)體中能作為碼的屬性稱為(主屬性),否則稱為(非主屬性)。實(shí)體之間的聯(lián)系類型有三種,分別為(1對1)、(1對多)和(多對多)。若實(shí)體A和B是1對多的聯(lián)系,實(shí)體B和C是1對多的聯(lián)系,則實(shí)體A和C是(1)對(多)的聯(lián)系。若實(shí)體A和B是1對多的聯(lián)系,實(shí)體B和C是1對1的聯(lián)系,則實(shí)體A和C是(1)對(多)的聯(lián)系。在非關(guān)系模型中,每個(gè)結(jié)點(diǎn)代表著一個(gè)(記錄型),每個(gè)父子聯(lián)系代表著(1對多)聯(lián)系。在非關(guān)系模型中操作記錄的方式是(過程)式的,在關(guān)系模型中,操作記錄的方式是(集合)式的。關(guān)系中的每一行稱為一個(gè)(元組),每一列稱為一個(gè)(屬性)。假定一個(gè)關(guān)系中有n個(gè)元組,則某個(gè)列的當(dāng)前全部取值的個(gè)數(shù)最少為(1)個(gè),最多為(n)個(gè)。關(guān)系數(shù)據(jù)庫系統(tǒng)具有(數(shù)據(jù)結(jié)構(gòu))單一、采用(集合運(yùn)算)、數(shù)據(jù)完全(獨(dú)立)、(數(shù)學(xué))理論支持等優(yōu)點(diǎn)。在對象數(shù)據(jù)模型中,對象具有(封裝)性、(繼承)性和(多態(tài))性。數(shù)據(jù)庫管理系統(tǒng)的下層支持軟件是(操作系統(tǒng)),上層軟件是數(shù)據(jù)庫應(yīng)用(開發(fā)工具)。數(shù)據(jù)庫體系結(jié)構(gòu)中包含的三級模式為(全局模式)、(外模式)和(內(nèi)模式)三種。在數(shù)據(jù)庫體系結(jié)構(gòu)中,兩級數(shù)據(jù)映象分別是指(外模式和模式)之間的數(shù)據(jù)映象與(模式和內(nèi)模式)之間的數(shù)據(jù)映象。DBMS提供數(shù)據(jù)(定義(描述))語句和數(shù)據(jù)(操縱)語句供用戶使用。在存取數(shù)據(jù)庫的數(shù)據(jù)的過程中,使用了兩個(gè)數(shù)據(jù)緩沖區(qū),分別為(系統(tǒng))緩沖區(qū)和(用戶)緩沖區(qū)。在文件管理階段程序和數(shù)據(jù)在存儲(chǔ)位置上是(分開)存放的。數(shù)據(jù)庫系統(tǒng)具有(數(shù)據(jù)結(jié)構(gòu)化)、(數(shù)據(jù)共享)、(數(shù)據(jù)獨(dú)立性)、數(shù)據(jù)粒度小、獨(dú)立的數(shù)據(jù)操作界面、由DBMS統(tǒng)一管理等優(yōu)點(diǎn)。在(文件)系統(tǒng)中,不容易做到數(shù)據(jù)共享;在(數(shù)據(jù)庫)系統(tǒng)中,容易做到數(shù)據(jù)共享。在文件系統(tǒng)中,存取數(shù)據(jù)的基本單位為(記錄);在數(shù)據(jù)庫系統(tǒng)中,存取數(shù)據(jù)的基本單位為(數(shù)據(jù)項(xiàng))。在數(shù)據(jù)庫系統(tǒng)中訪問數(shù)據(jù),既可以采用(程序)方式,也可以采用(視屏交互)方式。分布式數(shù)據(jù)庫系統(tǒng)既支持客戶的(局部)應(yīng)用,又支持客戶的(全局)應(yīng)用。域是實(shí)體中相應(yīng)屬性的(取值范圍),性別屬性的域包含有(2)個(gè)值。若實(shí)體A和B是多對多的聯(lián)系,實(shí)體B和C是1對1的聯(lián)系,則實(shí)體A和C是(多)對(多)的聯(lián)系。若實(shí)體A和B是1對多的聯(lián)系,實(shí)體B和C是多對1的聯(lián)系,則實(shí)體A和C是(多)對(多)的聯(lián)系。數(shù)據(jù)庫的邏輯數(shù)據(jù)模型有(層次)、(網(wǎng)狀)、(關(guān)系)和(對象)等四種。任何一種數(shù)據(jù)模型都有(型)和(值)的區(qū)別。層次模型是一棵(樹)結(jié)構(gòu),關(guān)系模型是一個(gè)(二維表)結(jié)構(gòu)。把保存(關(guān)系定義)的關(guān)系稱為對應(yīng)數(shù)據(jù)庫的元關(guān)系,一個(gè)數(shù)據(jù)庫的元關(guān)系由(DBMS)自動(dòng)建立。在對象數(shù)據(jù)模型中,每個(gè)對象不僅要包含描述實(shí)體的(狀態(tài))特征,而且要包含描述實(shí)體的(行為)特征。在(對象)數(shù)據(jù)模型中,(對象)不但能夠繼承,而且能夠嵌套。數(shù)據(jù)庫系統(tǒng)中的四類用戶分別為(數(shù)據(jù)庫管理員)、(數(shù)據(jù)庫設(shè)計(jì)員)、(應(yīng)用程序員)和(終端用戶)。在數(shù)據(jù)庫體系結(jié)構(gòu)的三級模式中,全局模式處于(中間)層,外模式處于(最上)層,內(nèi)模式處于(最下)層。數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)和兩級數(shù)據(jù)映像確保了數(shù)據(jù)的(邏輯)獨(dú)立性和(物理)獨(dú)立性。41.SQL具有數(shù)據(jù)(定義)、(查詢)、(更新)和(控制)四種主要功能。第二章關(guān)系運(yùn)算關(guān)系數(shù)據(jù)模型包括(關(guān)系數(shù)據(jù)結(jié)構(gòu))、(關(guān)系完整性規(guī)則)和(關(guān)系運(yùn)算)三個(gè)方面。在一個(gè)關(guān)系中,不同的列可以對應(yīng)同一個(gè)(域),但必須具有不同的(列名)。顧客購物的訂單和訂單明細(xì)之間是(1)對(多)的聯(lián)系。主碼是一種(候選)碼,主碼中的(屬性)個(gè)數(shù)沒有限制。若一個(gè)關(guān)系為R(學(xué)生號(hào),姓名,性別,年齡),則(學(xué)生號(hào))可以作為該關(guān)系的主碼,姓名、性別和年齡為該關(guān)系的(非主)屬性。關(guān)系完整性包括(實(shí)體)完整性、(參照)完整性和(用戶定義)的完整性三個(gè)方面。在參照和被參照的關(guān)系中,每個(gè)外碼值或者為(空值),或者等于某個(gè)(主碼)值。傳統(tǒng)的集合運(yùn)算包括(并)、(交)、(差)和(笛卡爾積)四種。設(shè)一個(gè)關(guān)系A(chǔ)具有a1個(gè)屬性和a2個(gè)元組,關(guān)系B具有b1個(gè)屬性和b2個(gè)元組,則關(guān)系A(chǔ)xB具有(a1+b1)個(gè)屬性和(a2xb2)個(gè)元組。設(shè)一個(gè)關(guān)系模式為R(A,B,C),對應(yīng)的關(guān)系內(nèi)容為R={{1,10,50},{2,10,60},{3,20,72},{4,30,60}},臘b>15(R)屬于(選擇)運(yùn)算,運(yùn)算結(jié)果中包含有(2)個(gè)元組。設(shè)一個(gè)關(guān)系模式為R(A,B,C),對應(yīng)的關(guān)系內(nèi)容為R={{1,10,50},{2,10,60},{3,20,72},{4,30,60}},貝【jRXIR的運(yùn)算結(jié)果中包含有(4)個(gè)元組,每個(gè)元組包含有(3)個(gè)分量。設(shè)一個(gè)學(xué)生關(guān)系為S(學(xué)生號(hào),姓名),課程關(guān)系為C(課程號(hào),課程名),選課關(guān)系為X(學(xué)生號(hào),課程號(hào),成績),則選修了課程名為'程序設(shè)計(jì)'課程的全部學(xué)生信息所對應(yīng)的運(yùn)算表達(dá)式為S[X(n學(xué)生號(hào)(XX(8課程"程序設(shè)計(jì)’(C))))。設(shè)一個(gè)學(xué)生關(guān)系為S(學(xué)生號(hào),姓名),課程關(guān)系為C(課程號(hào),課程名),選課關(guān)系為X(學(xué)生號(hào),課程號(hào),成績),則求出所有選修課程信息的運(yùn)算表達(dá)式為(n課程號(hào)(X))與(C)的自然連接。設(shè)D1、D2、和D3域的基數(shù)分別為2、3、4,則D1*D2*D3的元組數(shù)為(24),每個(gè)元組有(3)個(gè)分量。關(guān)系中的每個(gè)屬性只能取(等值),關(guān)系的結(jié)構(gòu)不允許(嵌套)。關(guān)系中的碼可以分為(超碼)、(候選碼)、(主碼)、(備用碼)和外碼五種。學(xué)生關(guān)系中的班級號(hào)屬性與班級關(guān)系中的班級號(hào)主碼屬性相對應(yīng),則(班級號(hào))為學(xué)生關(guān)系中的(外碼)。在候選碼中每個(gè)屬性被稱為(主)屬性,不在任何候選碼中的每個(gè)屬性被稱為(非主)屬性。設(shè)一個(gè)關(guān)系R1中的屬性A是外碼,它對應(yīng)關(guān)系R2中的主碼為B,則稱(R1)為子關(guān)系,(R2)為父關(guān)系。設(shè)一個(gè)集合A={3、4、5、6、7},集合B={1、3、5、7、9},則A和B的并集中包含有(7)個(gè)元素,A和B的交集中包含有(3)個(gè)元素,A和B的差集中包含有(2)個(gè)元素。專門的關(guān)系運(yùn)算包括(選擇)、(投影)、(連接)、和(除)四種。設(shè)一個(gè)關(guān)系模式為R(A、B、C),對應(yīng)的關(guān)系內(nèi)容為R={{1、10、50},{2、10、60}{3、20、72},{4、30、60}},則HB(5C<70(R))運(yùn)算結(jié)果中包含有(2)個(gè)元組,每個(gè)元組包含有(1)個(gè)分量。設(shè)一個(gè)關(guān)系模式為R1(A、B、C),對應(yīng)的關(guān)系內(nèi)容為R1={{1、10、50},{2、10、60},3、20、72},{4、30、60}},,另一個(gè)關(guān)系模式為R2(A、B、D),對應(yīng)的關(guān)系內(nèi)容為R2={{1、10、50},{2、10、60},{1、20、72},{2、30、60}},則R1R2的運(yùn)算結(jié)果中包含有(2)個(gè)元組,每個(gè)元組包含有(4)個(gè)分量。設(shè)一個(gè)關(guān)系模式為R1(A、B、C),對應(yīng)的關(guān)系內(nèi)容為R={{1、10、50},{2、1060},3、20、72},{4、30、60}},另一個(gè)關(guān)系模式為R2(A、D、E),對應(yīng)的關(guān)系內(nèi)容為R={{1、10、50},{2、10、60},{1、20、72},{2、30、60}},則R1R2的運(yùn)算結(jié)果中包含有(4)個(gè)|元組,每個(gè)元組包含有(5)個(gè)分量。設(shè)一個(gè)學(xué)生關(guān)系為S(學(xué)生號(hào)、姓名),課程關(guān)系為C(課程號(hào),課程名),選課關(guān)系為X(學(xué)生號(hào)、課程號(hào)、成績),則至少選修了課程名為“001”或“002”課程的全部學(xué)生信息所對應(yīng)的運(yùn)算表達(dá)式為(S)DXS(學(xué)生號(hào)))(5課程號(hào)=”001”v課程號(hào)“002”(X))。設(shè)一個(gè)學(xué)生關(guān)系為S(學(xué)生號(hào)、姓名),課程關(guān)系為C(課程號(hào)、課程名),選課關(guān)系為X(學(xué)生號(hào)、課程號(hào),成績),則姓名為變量K的值的學(xué)生所選修的全部課程信息所對應(yīng)的運(yùn)算表達(dá)式為(cXn課程號(hào)((X)XI(5姓名=K(S)))。第三章關(guān)系規(guī)范化基礎(chǔ)在一個(gè)關(guān)系R中,若屬性集X函數(shù)決定屬性集Y,則記作為(X—Y)稱X為(決定因素)。在一個(gè)關(guān)系R中,若X—Y且X蘭Y,則稱X—Y為(非平凡)依賴,否則,若X—Y且X^Y,則稱X—Y為(平凡)依賴。在一個(gè)關(guān)系R中,“職工號(hào)”函數(shù)決定“姓名”既是(非平凡)函數(shù)依賴,又是(完全)函數(shù)依賴。在一個(gè)關(guān)系R中,若X,Y和Z為互不相同的單屬性,并且存在X—Y和Y一Z,則必然存在(X)到(Z)的傳遞函數(shù)依賴。在一個(gè)關(guān)系R中,若存在X—Y和X—Z,則存在(X-(Y,Z)),稱此為函數(shù)依賴的(合并性)規(guī)則。在一個(gè)關(guān)系R中,若X能夠函數(shù)決定關(guān)系R中的每個(gè)屬性,并且X的任何真子集都不能函數(shù)決定R中的每個(gè)屬性,則稱(X)為關(guān)系R的一個(gè)(候選碼)。7.設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A—B,C—D,(A,C)一E},則該關(guān)系的候選碼為((A,C)),該候選碼含有(2)屬性。8.設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A—B,B—C,B—D,D—E},則該關(guān)系的候選碼為(A),該候選碼含有(1)屬性。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E,F,G),它的最小函數(shù)依賴集為FD={A—B,C—D,B—E,E—F},則該關(guān)系的候選碼為((A,C,G)),該候選碼含有(3)屬性。對關(guān)系進(jìn)行規(guī)范化,通常只要求規(guī)范化到(第三)范式,該規(guī)范化過程能夠很好地保持?jǐn)?shù)據(jù)的(無損連接)性和(函數(shù)依賴)性。把一個(gè)非規(guī)范化的關(guān)系變?yōu)榈谝环妒綍r(shí),可以在(屬性)上展開,也可以在(元組)上展開,還可以把每個(gè)復(fù)合屬性單獨(dú)分解為(關(guān)系)一個(gè)關(guān)系若存在部分函數(shù)依賴和傳遞函數(shù)依賴,則必然會(huì)造成(數(shù)據(jù)冗余)和(操作異常)13.設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A—B,C—D,C—E},該關(guān)系只滿足(第一)范式,若要規(guī)范化為高一級的范式,則將得到(3)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A-B,A-C,(A,D)一E},該關(guān)系滿足(第一)范式,若要規(guī)范化為高一級的范式,則將得到(2)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E,F,G),它的最小函數(shù)依賴集為FD={A—B,A—C,A—D,D—E},該關(guān)系滿足(第二)范式,若要規(guī)范化為高一級的范式,則將得到(2)個(gè)關(guān)系。若一個(gè)關(guān)系的任何非主屬性都不部分依賴于任何候選碼,則稱該關(guān)系達(dá)到(第二)范式。若一個(gè)關(guān)系的任何屬性都不部分依賴和傳遞依賴于任何候選碼,則稱該關(guān)系達(dá)到(BC)范式。在一個(gè)關(guān)系R中,若屬性集X函數(shù)決定屬性集Y,同時(shí)Y函數(shù)決定X,則記作為(X-—丫),它們之間互為(決定因素)。在一個(gè)關(guān)系R中,若X-Y,并且X的任何真子集都不能函數(shù)決定Y,則稱X-Y為(完全)函數(shù)依賴,否則,若X-Y,并且X的一個(gè)真子集也能夠函數(shù)決定Y,則稱X-Y為(部分)函數(shù)依賴。在一個(gè)關(guān)系R中,若X-Y,并且X的任何真子集都不能函數(shù)決定Y,則稱X-Y為(完全)函數(shù)依賴,否則,若X-Y,并且X的一個(gè)真子集也能夠函數(shù)決定Y,則稱X-Y為(部分)函數(shù)依賴。已知“職工號(hào)一性別”成立,則'(職工號(hào),性別)一性別”既是平凡)函數(shù)依賴,又是(部分)函數(shù)依賴。在一個(gè)關(guān)系R中,若存在“學(xué)號(hào)一系號(hào),系號(hào)一系主任”,則隱含存在著(學(xué)號(hào))函數(shù)決定(系主任)。在一個(gè)關(guān)系R中,若存在X-(Y,Z),則也隱含存在(X-Y)和(X-Z),稱此為函數(shù)依賴的(分解性)規(guī)則。一個(gè)關(guān)系的候選碼能夠函數(shù)決定每個(gè)屬性,其中除了存在完全函數(shù)決定外,也允許存在(部分)函數(shù)決定和(傳遞)函數(shù)決定。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E,F(xiàn)),它的最小函數(shù)依賴集為FD={A-B,A-C,D—E,D-F},則該關(guān)系的候選碼為((A,D)),該候選碼含有(2)屬性。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A-B,A一C,(C,D)—E},則該關(guān)系的候選碼為((A,D)),候選碼函數(shù)決定E是(偽)性。關(guān)系數(shù)據(jù)庫中的每個(gè)關(guān)系必須最低達(dá)到(第一)范式,該范式中的每個(gè)屬性都是(不可再分)的。一個(gè)關(guān)系若存在部分函數(shù)依賴和傳遞函數(shù)依賴,則必然會(huì)造成數(shù)據(jù)(冗余)以及(插入)、(刪除)和(修改)異常。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A一B,A-C,(A,D)E),則該關(guān)系的候選碼為(AD),該關(guān)系存在著(部分)函數(shù)依賴。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A-B,A-C,(C,D)^E),則該關(guān)系只滿足(第一)范式,若要規(guī)范化為第三范式,則將得到(3)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A-B,A-C,(A,D)^E),該關(guān)系只滿足(第一)范式,若要規(guī)范化為高一級的范式,則將得到(2)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A-B,A-C,C-D,C-E},該關(guān)系滿足(第二)范式,若要規(guī)范化為高一級的范式,則將得到(2)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E),它的最小函數(shù)依賴集為FD={A-B,A-C,A-D,D-E},該關(guān)系滿足(第二)范式,若要規(guī)范化為高一級的范式,則將得到(2)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E,F,G),它的最小函數(shù)依賴集為FD={A-B,A-C,C-D,C-E,A-F,F-G},該關(guān)系滿足(第二)范式,若要規(guī)范化為高一級的范式,則將得到(3)個(gè)關(guān)系。設(shè)一個(gè)關(guān)系為R(A,B,C,D,E,F,G),它的最小函數(shù)依賴集為FD={A-B,A-C,C-D,C-E,A-F,F-G},若要規(guī)范化為高一級的范式,則得到的每個(gè)關(guān)系中屬性個(gè)數(shù)按從大到小排列依次為(4)、(3)和(2)。若一個(gè)關(guān)系的任何非主屬性都不存在部分依賴和傳遞依賴于任何候選碼,則稱該關(guān)系達(dá)到(第三)范式。若一個(gè)關(guān)系中只有一個(gè)候選碼,并且該關(guān)系過到了第三范式,則表明它同時(shí)也達(dá)到7(BC)范式,該關(guān)系中所有屬性的(決定因素)都是候選碼第四章結(jié)構(gòu)化查詢語言一SQL一、填空題數(shù)據(jù)庫系統(tǒng)的外模式在SQL中稱為(視圖),它由(基本表)產(chǎn)生出來。2.SQL是高度(非過程化)和面向(集合)操作的語言。由createschemaKUCUNauthorizationLIU命令建立的一個(gè)數(shù)據(jù)庫為(KUCUN),所有者為(LIU)。在SQL中,若一個(gè)完整性約束只涉及到一個(gè)列,則該完整性約束既可以作為(列級)完整性約束定義,也可以作為(表級)完整性約束定義,兩者只選其一。在列級和表級完整性約束中同時(shí)存在的約束分別為(主碼)、(單值)、(外碼)和(檢查)等四種約束。在SQL中,主碼約束的關(guān)鍵字為(primarykey),外碼約束的關(guān)鍵字為(foreignkey)。在SQL中,createtable、altertable和droptable命令分別為在數(shù)據(jù)庫中(建立)、(修改)和(刪除)基本表結(jié)構(gòu)的命令。向基本表中插入數(shù)據(jù)有兩種命令格式,一種稱為(單行)插入格式,另一種稱為(多行)插入格式。在SQL中,insert、update和delete分別為對基本表進(jìn)行(插入)、(修改)和(刪除)記錄操作的命令。在SQL中,每個(gè)視圖中的列可以來自不同的(表),它是在原有表的基礎(chǔ)上(建立)的邏輯意義上的新關(guān)系。當(dāng)建立一個(gè)視圖后,通常只對它做(修改)和(查找)這兩種操作。在(基本表)中,通常不應(yīng)包括由計(jì)算可以得到的屬性,而在(視圖)中,為了用戶查詢數(shù)據(jù)的方便,則需要包含它們。當(dāng)建立和刪除一個(gè)視圖時(shí),對相應(yīng)的基本表(沒有影響),當(dāng)修改一個(gè)視圖時(shí),則對相應(yīng)的基本表(有影響)。在SQL中,建立視圖、修改視圖內(nèi)容和刪除視圖的命令分別為(createview)、(update)和(dropview)。在SQL新版的查詢語句中,select選項(xiàng)實(shí)現(xiàn)(投影)運(yùn)算,from選項(xiàng)實(shí)現(xiàn)(連接)運(yùn)算,where選項(xiàng)實(shí)現(xiàn)(選擇)運(yùn)算。在SQL的查詢語句中,(groupby)選項(xiàng)實(shí)現(xiàn)分組統(tǒng)計(jì)功能,(orderby)選項(xiàng)實(shí)現(xiàn)對結(jié)果表的排序功能。在新版的SQL中,表之間的連接共有三種方式,對應(yīng)的關(guān)鍵字分別為(innerjoin)、(leftjoin)和(rightjoin)。在實(shí)際的數(shù)據(jù)庫管理系統(tǒng)中,對數(shù)據(jù)庫的操作方式有(命令交互)、(程序執(zhí)行)和(窗口界面)三種。在SQL中建立和刪除數(shù)據(jù)庫模式的命令分別為(createschema)和(dropschema)。在SQL中完整性約束分為(列級)完整性約束和(表級)完整性約束兩個(gè)方面。在SQL中,列級完整性約束分為(6)各情況,表級完整性約束分為(4)種情況。在列級和表級完整性約束中同時(shí)存在的約束分別為(主碼)(單值)(外碼)和(檢查)四種約束。在(列級)完整性約束中,每個(gè)約束只能涉及到一個(gè)屬性;在(表級)完整性約束中,每個(gè)約束可以涉及多個(gè)屬性。在SQL中,單值約束的關(guān)鍵字為(Unique),檢查約束的關(guān)鍵字為(check)。向基本表插入數(shù)據(jù)時(shí),可以在命令中例用關(guān)鍵字(Values)引出記錄值,或者在命令中通過(Select)子句得到一個(gè)結(jié)果表。在SQL中,對基本表進(jìn)行插入、修改和刪除記錄的命令分別為(insert)、(update)和(delete)。基本表屬于全局模式的表,它是(實(shí)表),而視圖則屬于局部模式中的表,它是(虛表)。在SQL中通過使用視圖,能夠使在關(guān)系規(guī)范化時(shí)被分解的關(guān)系(連接)起來,能夠增強(qiáng)數(shù)據(jù)庫的(安全)性。在(基本表)中,通常不應(yīng)包括由計(jì)算可以得到的屬性;而在(視圖)中為了用戶查詢數(shù)據(jù)的方便,則需要包含它們。在SQL中,根據(jù)基本表建立一個(gè)視圖時(shí),包括建立了該視圖的(結(jié)構(gòu))和(內(nèi)容)兩個(gè)方面。在SQL中,createview>update和dropview命令分別為(建立)(修改)和(刪除)視圖的命令。在SQL中,建立視圖、修改視圖內(nèi)容和刪除視圖的命令分別為(createview)(update)和(dropview)。在SQL的查詢語句中,groupby選項(xiàng)實(shí)現(xiàn)(分組統(tǒng)計(jì))功能,orderby選項(xiàng)實(shí)現(xiàn)對結(jié)果表的(排序)功能。在新版的SQL中,查詢所涉及的表及表之間的連接是在from選項(xiàng)中實(shí)現(xiàn)的,表之間的連接共有三種方式,分別稱為(中間連接)(左連接)和(右連接)。二、根據(jù)主教材第四章所給的商品庫和教學(xué)庫,按照下列所給的每條SQL查詢語句寫出相應(yīng)的功能。⑴在名稱為商品庫的數(shù)據(jù)庫中包含有商品表1和商品表2,它們的定義分別為:商品表1(商品代號(hào)char(8),分類名char(8),單價(jià)float,數(shù)量int)商品表2(商品代號(hào)char(8),產(chǎn)地char(6),品牌char(6),)⑵在名稱為教學(xué)庫的數(shù)據(jù)庫中包含有學(xué)生、課程和選課三個(gè)表,它們的定義分別為:學(xué)生(學(xué)生號(hào)char(7),姓名char(6),性別char(2),出生日期datetime,專業(yè)char(10),年級int)課程(課程號(hào)char(4),課程名char(10),課程學(xué)分int)選課(學(xué)生號(hào)char(7),課程號(hào)char(4),成績int)selectx.商品代號(hào),分類名,數(shù)量,品牌from商品表1x,商品表2ywherex.商品代號(hào)=y.商品代號(hào)從商品庫中查詢出每一種商品的商品代號(hào)、分類名、數(shù)量和品牌等信息。selectdistinct品牌from商品表2從商品庫中查詢出所有商品的不同品牌。selectx.商品代號(hào),分類名,產(chǎn)地,品牌from商品表1x,商品表2ywherex.商品代號(hào)=尸.商品代號(hào)and(品牌=’熊貓’or品牌=’春蘭’)從商品庫中查詢出品牌為熊貓或春蘭的所有商品的商品代號(hào)、分類名、產(chǎn)地和品牌。select課程.課程號(hào),課程.課程名,count(*)as選課人數(shù)from課程,選課where課程.課程號(hào)=選課.課程號(hào)groupby課程.課程號(hào),課程.課程名從教學(xué)庫中查詢出每門課程被選修的學(xué)生數(shù)。select*from學(xué)生where學(xué)生號(hào)in(select學(xué)生號(hào)from選課groupby學(xué)生號(hào)havingcount(*)=1)從教學(xué)庫中查詢出只選修了一門課程的全部學(xué)生。selectx.*from課程x,選課ywherex.課程號(hào)=y.課程號(hào)andy.學(xué)生號(hào)=@s1andy.課程號(hào)notin(select課程號(hào)from選課where選課.學(xué)生號(hào)=@s2)從教學(xué)庫中查詢出學(xué)生號(hào)為@,1的學(xué)生所選修、而學(xué)生號(hào)為@,2的學(xué)生沒有選修的全部課程。注:@s1和@s2分別是已保存相應(yīng)學(xué)生號(hào)的字符型變量select*from課程whereexists(select*from選課where課程.課程號(hào)=選課.課程號(hào))從教學(xué)庫中查詢出所有已被學(xué)生選修的課程。select*from學(xué)生whereexists(select*from選課where學(xué)生.學(xué)生號(hào)=選課.學(xué)生號(hào)groupby選課.學(xué)生號(hào)havingcount(*)=3)從教學(xué)庫中查詢出同時(shí)選修了3門課程的全部學(xué)生。select專業(yè),count(*)as專業(yè)人數(shù)from學(xué)生groupby專業(yè)orderby專業(yè)人數(shù)desc從教學(xué)庫中查詢出每個(gè)專業(yè)的學(xué)生人數(shù),并按人數(shù)多少降序排列。selectx.*,課程名,課程學(xué)分,成績from學(xué)生x,課程y,選課zwherex.學(xué)生號(hào)=z.學(xué)生號(hào)andy.課程號(hào)=z.課程號(hào)orderbyx.學(xué)生號(hào),z.成績從教學(xué)庫中查詢出每個(gè)學(xué)生選課的全部情況,并依次按學(xué)生號(hào)和成績排序。selectdistinct產(chǎn)地from商品表2從商品庫中查詢出所有商品的不同產(chǎn)地。selectcount(distinct產(chǎn)地)as產(chǎn)地?cái)?shù)from商品表2從商品庫中查詢出所有商品的不同產(chǎn)地總數(shù)。select學(xué)生.學(xué)號(hào),count(*)as選課門數(shù)from學(xué)生,選課where學(xué)生.學(xué)生號(hào)=選課.學(xué)生號(hào)groupby學(xué)生.學(xué)生號(hào)從教學(xué)庫中查詢出每個(gè)學(xué)生選課的門數(shù)。selectdistinctx.*from學(xué)生x,選課y,選課zwherey.學(xué)生號(hào)=z.學(xué)生號(hào)andy.課程號(hào)<>z.課程號(hào)andx.學(xué)生號(hào)=y.學(xué)生號(hào)從教學(xué)庫中查詢出至少選修了兩門課程的全部學(xué)生。selectx.學(xué)生號(hào),y.學(xué)生號(hào),y.課程號(hào)from選課x,選課ywherex.學(xué)生號(hào)=@s1andy.學(xué)生號(hào)=@s2andx.課程號(hào)=y.課程號(hào)從教學(xué)庫中查詢出學(xué)生號(hào)為@,1的學(xué)生和學(xué)生號(hào)為@,2的學(xué)生所選修的共同課程的課程號(hào)。select*from課程wherenotexists(select*from選課where課程.課程號(hào)=選課.課程號(hào))從教學(xué)庫查詢出所有未被學(xué)生選修的課程。select*from學(xué)生where學(xué)生號(hào)in(select學(xué)生號(hào)from選課groupby學(xué)生號(hào)havingcount(*)<=2)ornotexists(select*from選課where學(xué)生.學(xué)生號(hào)=選課.學(xué)生號(hào))從教學(xué)庫中查詢出最多選了2門課程(含未選任何課程)的全部學(xué)生。select*from學(xué)生wherenotexists(selecty.課程號(hào)from學(xué)生xinnerjoin選課yonx.學(xué)生號(hào)=y.學(xué)生號(hào)wherex.姓名=@aandnotexists(select*from選課where學(xué)生.學(xué)生號(hào)=選課.學(xué)生號(hào)andy.課程號(hào)=選課.課程號(hào)))從教學(xué)庫中查詢出選修了姓名為@a的學(xué)生的全部選課的所有學(xué)生。三、根據(jù)教材第四章所給的商品庫和教學(xué)庫,按照下列所給的每種功能寫出相應(yīng)的查詢語句。⑴在名稱為商品庫的數(shù)據(jù)庫中包含有商品表1和商品表2,它們的定義分別為:商品表1(商品代號(hào)char(8),分類名char(8),單價(jià)float,數(shù)量int)商品表2(商品代號(hào)char(8),產(chǎn)地char(6),品牌char(6),)⑵在名稱為教學(xué)庫的數(shù)據(jù)庫中包含有學(xué)生、課程和選課三個(gè)表,它們的定義分別為:學(xué)生(學(xué)生號(hào)char(7),姓名char(6),性別char(2),出生日期datetime,專業(yè)char(10),年級int)課程(課程號(hào)char(4),課程名char(10),課程學(xué)分int)選課(學(xué)生號(hào)char(7),課程號(hào)char(4),成績int)1.從商品庫中查詢出每種商品的商品代號(hào)、單價(jià)、數(shù)量和產(chǎn)地。select商品表1.商品代號(hào),單價(jià),數(shù)量,產(chǎn)地from商品表1,商品表2where商品表1.商品代號(hào)=商品表2.商品代號(hào)從商品庫中查詢出數(shù)量在10和20之間的商品種數(shù)。select*from

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論