版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)概論 課本知識點第1章 緒論1.1 數(shù)據(jù)庫系統(tǒng)概述一、基本概念1.數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的含義稱為語義,數(shù)據(jù)與其語義不可分。2.數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨立性和易擴展性,并為各種用戶共享。(1)數(shù)據(jù)庫利用數(shù)據(jù)模型把數(shù)據(jù)組織起來。(2)數(shù)據(jù)庫的基本特點:永久存儲、有組織、可共享。3.數(shù)據(jù)庫管理系統(tǒng)DBMS:數(shù)據(jù)庫管理系統(tǒng)是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS和OS一樣是計算機的基礎(chǔ)軟件。4.數(shù)據(jù)庫管理系統(tǒng)的主要功能(1)數(shù)據(jù)定義功能。(
2、數(shù)據(jù)定義語言DDL)(2)數(shù)據(jù)組織、存儲和管理。(3)數(shù)據(jù)操作功能。(數(shù)據(jù)操縱語言DML)(4)數(shù)據(jù)庫的事務(wù)管理和運行管理。(5)數(shù)據(jù)庫的建立和維護功能。(6)其他功能。5. 數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其應用開發(fā)工具)、應用程序和數(shù)據(jù)庫管理員組成的存儲、管理、處理和維護數(shù)據(jù)的系統(tǒng)。6.從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng)標志著數(shù)據(jù)管理技術(shù)的飛躍。7.數(shù)據(jù)庫系統(tǒng)的特點:(1)數(shù)據(jù)結(jié)構(gòu)化:數(shù)據(jù)庫系統(tǒng)實現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別?!罢w”結(jié)構(gòu)化是指數(shù)據(jù)庫中的數(shù)據(jù)不再僅僅針對某一應用,而是面向整個組織或企業(yè);不僅數(shù)據(jù)內(nèi)部是結(jié)構(gòu)化的,而且
3、整體是結(jié)構(gòu)化的,數(shù)據(jù)之間是具有聯(lián)系的。(2)數(shù)據(jù)的共享性高、冗余度低且易擴充數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲空間。數(shù)據(jù)共享還能夠避免數(shù)據(jù)之間的不相容性和不一致性。數(shù)據(jù)面向整個系統(tǒng),是有結(jié)構(gòu)的數(shù)據(jù),使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴充。(3)數(shù)據(jù)獨立性:包括物理獨立性、邏輯獨立性。物理獨立性是指用戶的應用程序與數(shù)據(jù)庫中數(shù)據(jù)的物理存儲是相互獨立的。邏輯獨立性是指用戶的應用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)庫的獨立性由數(shù)據(jù)庫管理系統(tǒng)提供的二級映象功能來保證。(4)數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制。數(shù)據(jù)庫提供以下數(shù)據(jù)控制功能:數(shù)據(jù)的安全性保護、數(shù)據(jù)的完整性檢查、并發(fā)控制、數(shù)據(jù)庫恢復。數(shù)據(jù)的安全
4、保護是指保護數(shù)據(jù)以防止不合法使用造成的數(shù)據(jù)泄密和破壞;數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性。8.綜上所述,數(shù)據(jù)庫是長期存儲在計算機內(nèi)有組織、大量、共享的數(shù)據(jù)集合。它可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨立性。數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一控制,以保證數(shù)據(jù)的完整性和安全性,并在多用戶同時使用數(shù)據(jù)庫時進行并發(fā)控制,在發(fā)生故障后對數(shù)據(jù)庫進行恢復。1.2 數(shù)據(jù)模型1.數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽象,現(xiàn)有的數(shù)據(jù)庫系統(tǒng)軍事基于某種數(shù)據(jù)模型的。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。2.兩類數(shù)據(jù)模型:根據(jù)模型應用的不同目的,將數(shù)據(jù)模型分為兩類(兩個層次):第一類是概
5、念模型,第二類是邏輯模型和物理模型。概念模型:也稱信息模型。它是按用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計。邏輯模型:它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,主要用于數(shù)據(jù)庫管理系統(tǒng)的實現(xiàn)。物理模型:是面向計算機系統(tǒng)的,數(shù)據(jù)在計算機系統(tǒng)內(nèi)部的表示方法和存取方法。它是對數(shù)據(jù)最底層的抽象,3.首先將現(xiàn)實世界中抽象為信息世界,然后將信息世界轉(zhuǎn)換成機器世界。4.概念模型:概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計人員進行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言。5.信息世界的基本概念:實體、屬性、碼、實體型、實體集、聯(lián)系(1)實體:客觀存在并可相
6、互區(qū)別的事物稱為實體。(2)屬性:實體所具有的某一特性稱為屬性。(3)碼:唯一標識實體的屬性集稱為碼。(4)實體型:用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。(5)實體集:同一類型尸體的集合稱為實體集。(6)聯(lián)系:分為內(nèi)部聯(lián)系和之間的聯(lián)系。實體內(nèi)部的聯(lián)系是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系是指不同實體集之間的聯(lián)系,有一對一、一對多、多對多等多種類型。6.實體-聯(lián)系方法是最常用的概念模型的表示方法,由P.P.S.chen與1976年提出。該方法用E-R圖來描述現(xiàn)實世界的概念。7.數(shù)據(jù)模型的組成要素“數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的完整性約束條件三部分組成。(1)數(shù)
7、據(jù)結(jié)構(gòu)描述數(shù)據(jù)庫的組成對象以及對象之間的聯(lián)系;(2)數(shù)據(jù)操作是指數(shù)據(jù)庫中各種對象的實例允許執(zhí)行的操作的集合,包括操作及其有關(guān)的操作規(guī)則;(3)數(shù)據(jù)的完整性約束條件是一組完整性約束規(guī)則。數(shù)據(jù)結(jié)構(gòu)是刻畫模型性質(zhì)最基本的方面8.常用的數(shù)據(jù)模型有:層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο髷?shù)據(jù)模型、對象關(guān)系數(shù)據(jù)模型、半結(jié)構(gòu)化數(shù)據(jù)模型,其中層次模型和網(wǎng)狀模型統(tǒng)稱為格式化模型。9.層次模型:滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型:(1)有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點;(2)根以外的其他節(jié)點有且只有一個雙親結(jié)點。10.層次模型的實例:行政機構(gòu)系統(tǒng)、行政區(qū)域系統(tǒng)、學校層次系統(tǒng)。11.層次
8、模型像一棵道理的樹,結(jié)點雙親是唯一的。12.層次模型的優(yōu)缺點:優(yōu)點:數(shù)據(jù)結(jié)構(gòu)簡單清晰、查詢效率高、提供了良好的完整性支持。缺點:(1)現(xiàn)實世界中的非層次聯(lián)系不適合用層次模型表示(2)用戶必須清楚數(shù)據(jù)庫的層次結(jié)構(gòu),對用戶要求比較高。13.網(wǎng)狀模型:滿足以下兩個條件的基本層次聯(lián)系集合稱為網(wǎng)狀模型:(1)允許一個以上的結(jié)點無雙親。(2)一個結(jié)點可以有多余一個的雙親。14.層次模型中子女結(jié)點與雙親結(jié)點的聯(lián)系是唯一的,而在網(wǎng)狀模型中這種聯(lián)系可以不唯一。15.網(wǎng)狀數(shù)據(jù)庫的優(yōu)缺點:優(yōu)點:能夠更為直觀地描述現(xiàn)實世界,性能良好、效率高。缺點:DDL、DML比較復雜,要求用戶掌握數(shù)據(jù)庫結(jié)構(gòu)和存取路徑,不容易使用。
9、16.關(guān)系模型由E.F.Codd與1970提出,他因此于1981年獲得ACM圖靈獎。17.關(guān)系模型與以往的模型不同,它是建立在嚴格的數(shù)學概念基礎(chǔ)上。18.關(guān)系模型的基本概念:(1)關(guān)系:一個關(guān)系對應一張表(2)元組:表中的一行稱為一個元組(3)屬性:表中的一列稱為一個屬性(4)碼:可以唯一確定一個元組的屬性組(5)域:域是一組具有相同數(shù)據(jù)類型的值的集合(6)分量:元組中的一個屬性值(7)關(guān)系模式:即對關(guān)系的描述。一般表示為:關(guān)系名(屬性1,屬性2,屬性n)19.關(guān)系模型要求關(guān)系必須是規(guī)范化的,關(guān)系的每個分量必須是一個不可分的數(shù)據(jù)項。20.關(guān)系模型中操作對象和操作結(jié)果都是關(guān)系;關(guān)系模型的存取路徑
10、對用戶隱蔽,提高了數(shù)據(jù)獨立性,提高了用戶生產(chǎn)率。21.關(guān)系數(shù)據(jù)流的優(yōu)缺點:優(yōu)點:具有嚴格的數(shù)學基礎(chǔ),概念單一,存取路徑對用戶透明,提高了數(shù)據(jù)獨立性和安全保密性,也提高了應用程序員和數(shù)據(jù)庫開發(fā)程序員的效率。缺點:存取路徑透明,降低了數(shù)據(jù)庫的查詢效率,需要對查詢進行優(yōu)化。1.3 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)1.數(shù)據(jù)庫有“型”和“值”的概念,模式是相對穩(wěn)定的,而實例是相對變動的。2.數(shù)據(jù)庫的三級模式:模式、外模式、內(nèi)模式3.模式:模式也稱邏輯模式, 是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述, 是所有用戶的公共數(shù)據(jù)視圖。一個數(shù)據(jù)庫只有一個模式。4.數(shù)據(jù)庫提供模式數(shù)據(jù)定義語言(模式DDL)來嚴格定義模式。5.外模式
11、:也稱子模式或用戶模式。它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述, 是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關(guān)的數(shù)據(jù)的邏輯表示。6.外模式通常是模式的子集,一個數(shù)據(jù)庫可以有多個外模式,外模式是保證數(shù)據(jù)庫安全性的一個有力措施。7.數(shù)據(jù)庫管理系統(tǒng)提供外模式數(shù)據(jù)定義語言(模式DDL)來嚴格定義外模式。8.內(nèi)模式:內(nèi)模式也稱存儲模式。一個數(shù)據(jù)庫只有一個內(nèi)模式。它是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的組織方式。9.數(shù)據(jù)庫的二層映象:外模式/模式映象、模式/內(nèi)模式映象。正是這兩層映象保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能具有較高的邏輯獨立性和物理獨立性。(1)外模式/模式映象保證邏輯獨
12、立性:當模式改變時,由數(shù)據(jù)庫管理員對各個外模式/模式的映象作相應改變,可以使外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。(2)模式/內(nèi)模式映象保證物理獨立性:當數(shù)據(jù)庫的存儲結(jié)構(gòu)改變時,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映象作相應改變,可以使模式保持不變,從而應用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨立性。1.4 數(shù)據(jù)庫系統(tǒng)的組成1.數(shù)據(jù)庫系統(tǒng)的組成:(1)硬件平臺及數(shù)據(jù)庫(內(nèi)存、硬盤、通道)(2)軟件(數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、編譯系統(tǒng)應用開發(fā)工具)(3)人員(DBA、系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計人員、應用程序員、用戶)【課
13、后題補充】1.數(shù)據(jù)庫技術(shù)管理數(shù)據(jù)的技術(shù),數(shù)據(jù)是數(shù)據(jù)庫管理的基本對象。2.常見DBMS舉例:IBM的DB2(關(guān)系型)和IMS(層次型)Oracle的Oracle、微軟的SQL Server國產(chǎn):人大金倉:金倉數(shù)據(jù)庫管理系統(tǒng)、武漢達夢公司:達夢、神通公司:Oscar3.文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的聯(lián)系與區(qū)別:聯(lián)系: DBMS是在操作系統(tǒng)的基礎(chǔ)上實現(xiàn)的,數(shù)據(jù)庫中數(shù)據(jù)的組織與存儲是通過操作系統(tǒng)中的文件系統(tǒng)來實現(xiàn)的。數(shù)據(jù)庫實現(xiàn)的基礎(chǔ)是文件,對數(shù)據(jù)庫的任何操作最終要轉(zhuǎn)化成對文件的操作。區(qū)別:(1)文件系統(tǒng)是操作系統(tǒng)的重要組成部分,DBMS是獨立與操作系統(tǒng)的軟件。(2)文件系統(tǒng)的數(shù)據(jù)是面向某一應用的,共享差,冗余
14、大,獨立性差,文件的記錄是由結(jié)構(gòu)的,但整體是無結(jié)構(gòu)的;數(shù)據(jù)庫的數(shù)據(jù)是面向整個組織或企業(yè),數(shù)據(jù)的共享性高、榮譽小,具有高度的物理獨立性和邏輯獨立性,數(shù)據(jù)庫中的數(shù)據(jù)用數(shù)據(jù)模型組織和描述,有數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復能力。4.獨立性是指相互不依賴。第2章 關(guān)系數(shù)據(jù)庫2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義1.關(guān)系數(shù)據(jù)庫的提出:論文“A Relational Model of Data for Shared Data Banks”2.關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)是關(guān)系,即一張二維表。3.基本概念(1)域:一組具有相同數(shù)據(jù)類型的值的集合。 基數(shù):一個域允許的不同取值個數(shù)稱為這個域的基數(shù)。(2)笛
15、卡爾積:是域上的一種集合運算D1×D2××Dn= d1,d2,dn diDi,i=1,2,n(3)關(guān)系:在域上的笛卡爾積的子集稱為關(guān)系。(4)元組:關(guān)系中的每個元素稱為元組。 表的每一行對應一個元組,每一列對應一個域。表的每一列起一個名字,稱為屬性。(5)候選碼:若某一屬性組的值能夠唯一標識一個元組,而其子集不能,則稱該屬性組為候選碼。(6)若一個關(guān)系有多個候選碼,則選定其中一個為主碼。(7)候選碼的諸屬性稱為主屬性,不包含任何候選碼中的屬性稱為非主屬性或非碼屬性。(8)全碼:關(guān)系模式的所有屬性是這個關(guān)系模式的候選碼,稱為全碼。4.關(guān)系三種類型:基本關(guān)系(基本表)
16、、查詢表、視圖表5.基本關(guān)系的性質(zhì)(6條)(1)列是同質(zhì)的(2)不同的列可出自同一個域(3)列的順序無所謂(4)任意兩個元組的候選碼不能取相同的值(5)行的順序無所謂(6)分量必須取原子值6.關(guān)系模型要求關(guān)系必須是規(guī)范化的,規(guī)范化的關(guān)系簡稱范式。其中組基本的一條就是:關(guān)系的每一個分量必須是不可分的數(shù)據(jù)項。7.關(guān)系模式:關(guān)系的描述稱為關(guān)系模式。它可以表示為R(U,D,DOM,F).其中R為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為U中樞性所來來自的域,DOM為屬性向域的映象集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。8.關(guān)系數(shù)據(jù)庫的型也稱關(guān)系數(shù)據(jù)庫模式,是對關(guān)系數(shù)據(jù)庫的描述。關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在
17、某一時刻對于的關(guān)系的集合,通常就成為數(shù)據(jù)關(guān)系數(shù)據(jù)庫。9.關(guān)系模式和關(guān)系:(1)關(guān)系是關(guān)系模式的在某一時刻的狀態(tài)或內(nèi)容。關(guān)系模式是型,關(guān)系是值, 是關(guān)系模式的實例。(2)關(guān)系模式是靜態(tài)的、穩(wěn)定的,而關(guān)系是動態(tài)的,隨時間不斷變化的。2.2 關(guān)系操作1.基本的關(guān)系操作:選擇、投影、并、差、笛卡爾積(5種)2.關(guān)系操作的對象和結(jié)果都是集合3.早期的關(guān)系操作能力通常用代數(shù)方式或邏輯方式來表示,分別稱為關(guān)系代數(shù)和關(guān)系演算。關(guān)系代數(shù)用對關(guān)系的運算來表達查詢要求,關(guān)系演算則用謂詞來表達查詢要求。關(guān)系演算又可按謂詞邊緣的基本對象是元組變量還是域變量分為元組關(guān)系演算和域關(guān)系演算。關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算
18、三種語言在表達能力上等價的,都具有完備的表達能力。4.介于關(guān)系代數(shù)和關(guān)系演算之間的關(guān)系數(shù)據(jù)語言是結(jié)構(gòu)化查詢語言,他是集查詢、數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言于一體的關(guān)系數(shù)據(jù)語言。2.3 關(guān)系的完整性1.關(guān)系模型中有三類完整性約束:實體完整性、參照完整性、用戶定義的完整性,其中實體完整性和操作完整性是關(guān)系模型必須滿足的約束條件,被稱是關(guān)系的兩個不變性。2.實體完整性規(guī)則:“主屬性不空”若屬性(一個或一組)A是基本關(guān)系R的主屬性,則A不能取空值(null)??罩凳侵浮安恢馈?、“不存在”、“無意義”的值3.參照完整性: “參照屬性有效”(1)外碼:設(shè)F是基本關(guān)系R的一個或一組屬性,但不是關(guān)
19、系R的碼,Ks 是基本關(guān)系S的主碼。如果F與Ks相對應,則稱F是R的外碼,并稱基本關(guān)系R為參照關(guān)系?;娟P(guān)系S為被參照關(guān)系或目標關(guān)系。(2)參照完整性規(guī)則:或者取空值或者等于S中某個元組的主碼值。注意:(1)外碼為被參照關(guān)系的主碼(2)若外碼同時為參照關(guān)系的主碼,則該外碼不能為空。4.用戶定義的完整性:反映某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。5.任何關(guān)系數(shù)據(jù)庫系統(tǒng)都用支持實體完整性和參照完整性。2.4 關(guān)系代數(shù)1.關(guān)系代數(shù)是一種抽象的查詢語言,它用對關(guān)系的運算來表達查詢。2.運算對象、運算符、運算結(jié)果是運算的三大要素。3.關(guān)系代數(shù)的運算按運算法的不同可分為傳統(tǒng)的集合運算和專門的關(guān)系運算
20、兩類。4.傳統(tǒng)的集合運算時二目運算,包括并、差、交、笛卡爾積。5.專門的關(guān)系運算包括選擇、投影、連接、除運算等 (4個)6.引入記號(1)tR:t是關(guān)系R的一個元組,tAi:元組t中的Ai分量(2)A表示一個屬性組,A表示去掉A中的屬性后剩下的屬性組。(3)若R為n目關(guān)系,S為m目關(guān)系,trR , tsS, trts稱為元組的連接(串接)。(4)像集:若給定關(guān)系RX,Z,X和Z為屬性組。當tX=x時,x在R中的像集定義為:Zx=tX | tR, tX=x7.【選擇】又稱為限制,它在關(guān)系中選擇滿足給定條件的諸元組,記作:FR=t|tR Ft='真' F表示選擇條件,它是一個邏輯表
21、達式。 選擇運算實際上是從關(guān)系中選取使邏輯表達式為真的元組,這是從行的角度進行的運算。8.【投影】關(guān)系上的投影是從關(guān)系中選擇出若干屬性組成新的關(guān)系。記作:AA=tA|tR其中A為R中的屬性。 投影操作時從列的角度進行的運算。9.【連接】也稱連接,它是從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組。記作:RAB= trts|trR tsStrA tsB 從行列角度進行運算。10.等值連接:當 為“=”的連接運算稱為等值連接,它是從廣義笛卡爾積中選取屬性值相等的那些元組。11.等值連接:是自然連接時一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是同名的屬性組,并且在結(jié)果中把重復的屬性列
22、去掉。 等值連接是同時從行和列的角度進行運算。12.懸浮元組:自然連接時被舍棄的元組稱為懸浮元組。13.如果把懸浮元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值,那么這種連接就叫做外連接;如果只保留左邊關(guān)系中的懸浮元組就叫做左外連接;如果只保留右邊關(guān)系中的懸浮元組就叫做右外連接。14.【除運算】設(shè)關(guān)系 R 除以關(guān)系 S 的結(jié)果為關(guān)系 T ,則 T 包含所有在 R 但不在 S 中的屬性及其值,且 T 的元組與 S 的元組的所有組合都在 R 中。R÷S=trX|trRYSYx 除操作是同時從行和列的角度進行的運算。15.關(guān)系代數(shù)中,這些運算經(jīng)有限次復合后形成的表達式稱為關(guān)系代數(shù)表達式。16
23、.8種關(guān)系運算中,并、差、笛卡爾積、投影和選擇5種運算為基本運算;其他三種運算即交、連接和除,均可用這5種基本運算來表達。第3章 關(guān)系數(shù)據(jù)庫標準語言SQL結(jié)構(gòu)化查詢語言是關(guān)系數(shù)據(jù)庫的標準語言,也是一個通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。其功能不僅僅是查詢,而且包括數(shù)據(jù)庫模式的創(chuàng)建、數(shù)據(jù)庫數(shù)據(jù)的插入與修改、數(shù)據(jù)庫安全性完整性定義與控制等一系列功能。3.1 SQL概述1. SQL是1974年提出,最初叫Sequel,并在IBM公司研制的關(guān)系數(shù)據(jù)庫管理系統(tǒng)圓形SystemR實現(xiàn)。2. 目前,沒有一個數(shù)據(jù)庫管理系統(tǒng)能夠支持SQL標準的所有概念和特性。同時,許多軟件廠商對SQL基本命令集還進行了不同程度的
24、擴充和修改,又可以支持標準以外的一些功能特性。3. SQL集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能與一體,其主要特點包括:(1)綜合統(tǒng)一(2)高度非過程化(3)面向集合的操作方式(4)以同一種語法結(jié)構(gòu)提供多種使用方式(5)語言簡潔、易學易用4. 支持SQL的關(guān)系數(shù)據(jù)庫系統(tǒng)同樣支持關(guān)系數(shù)據(jù)庫三級模式結(jié)構(gòu):(1)外模式包括若干視圖和部分基本表(2)數(shù)據(jù)庫模式包括若干基本表(3)內(nèi)模式包括若干存儲文件5. 基本表和視圖一樣都是關(guān)系。3.2 學生-課程數(shù)據(jù)庫3.3 數(shù)據(jù)定義1. 關(guān)系數(shù)據(jù)庫系統(tǒng)支持三級模式結(jié)構(gòu),其模式、外模式和內(nèi)模式中的基本對象有模式、表、視圖和索引等。因此SQL的數(shù)據(jù)定義功能包括
25、模式定義、表定義、視圖和索引的定義。2. SQL標準不提供修改模式定義和修改視圖定義的操作,要想修改只能刪除后重建。3. SQL標準也沒有提供索相關(guān)語句。4. 現(xiàn)代的數(shù)據(jù)庫管理系統(tǒng)提供了一個層次化的數(shù)據(jù)對象命名機制:一個數(shù)據(jù)庫管理系統(tǒng)的實例中可以建立多個數(shù)據(jù)庫,一個數(shù)據(jù)庫中可以建立多個模式,一個模式下通常包括多個表、視圖和索引等數(shù)據(jù)庫對象。5. 為用戶ZHANG 創(chuàng)建一個模式TEST,并且在其中定義一個表TAB1CREATE SCHEMA TEST AUTHORIZATION ZHANGCREATE TABLE TAB1(COL1 SMALL,COL2 INT,COL3 CHAR(20)COL
26、4 NUMBER(10,3),COL5 DECIMAL(5,2);6. 刪除模式ZHANG:DROP SCHEMA ZHANG CASCASE;同時模式中定義的表TAB1也被刪除了。7. 創(chuàng)建里一個模式就建立了一個數(shù)據(jù)庫的命名空間,一個框架。在這個空間中首先要定義的是該模式包含的數(shù)據(jù)庫基本表。8. 建立一個學生表:CRAETE TABLE Sudent(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),);9. 在SQL中域的概念用數(shù)據(jù)類型來實現(xiàn)。NUMBER、DECI
27、MAL、REAL、DOUBLE PRECISON、FLOAT(n)、BOOLEAN、DATE、TIME、TIMESTAMP、TINTERVAL10.每個基本表都屬于某一個模式,一個模式包含多個基本表,當定義基本表時一般有三種方法定義它所屬的模式:(1)在表名明顯地給出模式名(2)在創(chuàng)建模式語句中同時創(chuàng)建表(3)設(shè)置所屬的模式,這樣在創(chuàng)建表時表名中不必給出模式名11. 當用創(chuàng)建基本表(其他數(shù)據(jù)對象也一樣)時若沒有指定模式,系統(tǒng)根據(jù)搜索路徑來確定該對象所屬的模式。12. 搜索路徑包含一組模式列表,關(guān)系數(shù)據(jù)庫管理系統(tǒng)會使用模式列表中第一個存在的模式作為數(shù)據(jù)庫對象的模式名,若搜索路徑中的模式名都不存在
28、,系統(tǒng)將給出錯誤。13.修改基本表(1)ADD 子句用于增加新列、新的列級完整性約束條件和新的表級完整性約束條件。(2)DROP COLUMN子句用于刪除表中的列,如果指定了CASCADE短語,則自動刪除引用了該列的其他對象,比如視圖;如果指定了RESTRICT短語,則如果該列被其他對象引用,DBMS將拒絕刪除該列。(3)DROP CONSTRAINT 子句用于刪除指定的完整性約束條件。(4)ALTER COLUMN子句用于修改原有的列定義,包含修改列名和數(shù)據(jù)類型。14. 實例:(1)增加入學時間一列,時間為日期型ALTER TABLE Sudent ADD S_entrance DATE;(
29、2)將年齡的數(shù)據(jù)類型由字符型改為整數(shù)ALTER TABLE Sudent ALTER COLUMN Sage INT;(3)增加課程名稱必須取唯一值的約束條件ALTER TABLE Course ADD UNIQUE(Cname);15. 刪除基本表:DROP TABLE Suden CASCADE;16. 基本表定義一旦刪除,不僅表中的數(shù)據(jù)和此表的定義將被刪除,而且此表上建立的索引、觸發(fā)器等對象一般也都將刪除。有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)還會同時刪除在此表上建立的視圖。如果欲刪除的的基本表被其他基本表所引用,則這些表也可能被刪除。17. 數(shù)據(jù)庫索引有多種類型,常見的索引包括順序文件上的索引、B+索
30、引、散列索引、位圖索引等。(1)順序文件上的索引是針對按指定屬性值升序和降序存儲的關(guān)系,在該屬性上建立一個順訊索引文件,索引文件由屬性值和相應的元組指針。(2)B+樹索引是將索引屬性組織稱B+樹形式,B+的葉結(jié)點為屬性值和相應的元組指針。B+樹索引具有動態(tài)平衡的優(yōu)點。(3)散列索引是建立若干個桶,將索引屬性按照其散列函數(shù)值映射到相應的桶中,桶中存放索引屬性值和相應的元組指針。散列索引具有查找速度快的特點。(4)位圖索引是用位向量記錄索引屬性中可能出現(xiàn)的值,每個位向量對應一個可能值。18. 關(guān)系數(shù)據(jù)庫管理系統(tǒng)在執(zhí)行查詢時會自動選擇合適的索引作為存取路徑,用戶不必也不能顯示地選擇索引。索引是關(guān)系數(shù)
31、據(jù)庫管理系統(tǒng)的內(nèi)部實現(xiàn)技術(shù),屬于內(nèi)模式的范疇。19. 索引關(guān)鍵字: UNIQUE 表明此索引的每一個索引值只對應唯一的數(shù)據(jù)記錄。CLUSTER表示要建立的索引是聚簇索引。20. 建立索引:(1)CREATE UNIQUE INDEX Stusno ON Student(Sno);(2)CREATE UNIQUE INDEX Stusno ON Course(Cno);(3)CREATE UNIQUE INDEX Stusno ON SCno ON SC(Sno ASC,Cno DEC);21 刪除索引:DROP INDEX Stusname;刪除索引時,系統(tǒng)同時從數(shù)據(jù)字典刪去有關(guān)該索引的描述。
32、3.4 數(shù)據(jù)查詢1. 數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作。2. SELECT語句的含義:根據(jù)WHERE子句的條件表達式從FROM子句指定的基本表、視圖或派生表中找出滿足條件的元組,再按SELECT子句中的目標列表達式選出元組中的屬性值形成結(jié)果表。(1)如果有GROUP BY 子句,則將結(jié)果按列名的值進行分組,該屬性列值相等的元組為一個組,通常會在每組中作用聚集函數(shù)。如果GROUP BY子句帶HAVING短語,則只有滿足指定條件的組才予以輸出。(2)如果有ORDER BY 子句,則結(jié)果還要按列質(zhì)的值升序或降序排列?!締伪聿樵儭恳弧⑦x擇表中的若干列1. 選擇表中的全部或部分類即關(guān)系代數(shù)的投影運算(1) 查
33、詢指定列:SELECT Sname,Sno,Sdept FROM Student;(2)查詢?nèi)苛蠸ELECT * FROM Student;(3)查詢經(jīng)計算的值SELECT Sname,2014-age FROM Student;目標表達式不僅可以是算術(shù)表達式,還可以是字符串常量、函數(shù)等。SELECT Sname,Year of Birth:,2014-Sage,LOWER(Sdept) FROM Student;SELECT Sname NAME,Year of Birth: BIRTH,2014-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT FROM Stu
34、dent;二、選擇表中的若干元組1. 消除重復的行:兩個不完全相同的元組在投影到指定的某些列上后,可能會變成相同的行,可以用DISTINCT消除它們。SELECT DISTINCT Sno FROM SC;2. 查詢滿足條件的元組:(1)比較大?。?,>,<,>=,<=,!=<>,!>,!<SELECT Sname,Sage FROM Student WHERE Sage<20;SELECT DISTINCT Sno FROM SC WHERE Grade<60;(2)確定范圍:謂詞BETWEENAND和NOT BETWEENAND可
35、以用來查找屬性值在(或不在)指定范圍內(nèi)的元組,其中BETWEEN后是范圍的下限(即低值),AND后是范圍的上限(即高值)。SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 23 AND 30;SELECT Sname,Sdept,Sage FROM Student WHERE Sage NOT BETWEEN 23 AND 30;(3)確定集合:謂詞IN可以用來查找屬性值屬于指定集合的元組SELECT Sname,Ssex FROM Student WHERE Sdept IN(CS,MA,IS);SELECT Sname,Ssex
36、 FROM Student WHERE Sdept NOT IN(CS,MA,IS);注:此處IN 實際上是多個OR運算符的縮寫。(4)字符匹配:謂詞LIKE可以用來進行字符串的匹配通配符:%:代表任意長度(可以為0)的字符串。_ 代表任意單個字符。數(shù)據(jù)庫字符集為ASCII時一個漢字需要兩個_;當字符集為GBK時只需要一個_.SELECT * FROM Student WHERE Sno LIKER 201215121;SELECT * FROM Student WHERE Sno = 201215121;SELECT Sname, Sno,Ssex FROM Student WHERE Sn
37、ame LIKER劉%;SELECT Sname FROM Student WHERE Sname LIKER歐陽_;SELECT Sname FROM Student WHERE Sname LIKER _陽%;SELECT Sname FROM Student WHERE Sname NOT LIKER劉%;如果用戶要查詢的字符串本身就含有通配符 % 或 _ ,這是就要用ESCASPE<換碼字符>短語對通配符進行轉(zhuǎn)義。SELECT Cno,Ccredit FROM Course WHERE Cname LIKE DB_DesignESCAPE;ESCAPE表示為換碼字符,這樣匹
38、配串中緊跟在后面的字符“_”不再具有通配符的含義,轉(zhuǎn)義為普通的“_”字符。SELECT * FROM Student WHERE Cname LIKE DB_%i_ESCAPE;(5)涉及空值的查詢SELECT Sno,Cno FROM SC WHERE Grade IS NULL;SELECT Sno,Cno FROM SC WHERE Grade NOT NULL;注意:此處IS不能用 = 替代。(6)多重條件查詢邏輯運算符AND和OR可用來連接多個查詢條件。AND的優(yōu)先級高于OR,單用戶可以用括號改變優(yōu)先級。SELECT Sname FROM Student WHERE Sdept=CS
39、 AND Sage<20;SELECT Sname,Ssex FROM Student WHERE Sdept=CSOR Sdept=MAOR Sdept=IS;3. ORER BY 子句(1)用戶可以用ORER BY子句對查詢結(jié)果按照或多個屬性列的升序(ASC)或?qū)⑿颍―ESC)排列,默認值為升序。(2)對于空值,排序時顯示的次序由具體系統(tǒng)實現(xiàn)決定,各個系統(tǒng)的實現(xiàn)可以不同,只要保持一致就行。4. 聚集函數(shù)(1)COUNT(*) 統(tǒng)計元組個數(shù)(2)COUNT(DISTINCT|ALL <列名>) 統(tǒng)計一列中值的個數(shù)(3)SUM(DISTINCT|ALL <列名>)
40、計算一列值的總和(此列必須是數(shù)值型)(4)AVG(DISTINCT|ALL <列名>)計算一列值的平均值(此列必須是數(shù)值型)(5)MAX(DISTINCT|ALL <列名>)求一列值中的最大值(6)MIN(DISTINCT|ALL <列名>)求一列值中的最小值示例:SELECT COUNT(*) FROM Student;SELECT COUNT(DISTINCT Sno) FROM SC;SELECT AVG(Grade) FROM SC WHERE Cno=1;SELECT MAX(Grade) FROM SC WHERE Cno=1;SELECT SU
41、M(Credit) FROM SC,Course WHERE Sno=201215012 AND SC.Cno=Course.Cno;當聚集函數(shù)遇到控制時,除COUNT(*),都跳過空值而只處理非空值。注:WHERE 子句中是不能用聚集函數(shù)作為條件表達式的。聚集函數(shù)只能用于SELECT 子句和GROUP BY中的HAVING子句。5. GROUP BY子句(1) GROUP BY子句將查詢結(jié)果按某一列或多列的值分組,值相等的為一組。(2)分組后聚集函數(shù)將作用于每一個組,即每一個組都有一個函數(shù)值。示例:SELECT Cno,COUNT(Sno) FROM SC GROUP BY Cno;SELE
42、CT Sno FROM SC GROUP BY Sno HAVING COUNT(*)>3;注意:WHERE子句與HAVING短語的區(qū)別在于作用對象不同。WHERE子句作用于基本表或視圖,從中選擇滿足條件的元組。HAVING短語作用于組,從中選擇滿足條件的組。SELECT Sno,AVG(Grade) FROM SC WHERE AVG(Grade)>=90 GROUP BY Sno; (錯誤)SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno HAVING AVG(Grade)>=90; (正確)【連接查詢】一、等值連接1. 若一個查詢同時
43、設(shè)計兩個以上的表,則稱之為連接查詢。連接查詢是關(guān)系數(shù)據(jù)庫最主要的查詢,包括等值連接查詢、自然連接查詢、非等值連接查詢、自身連接查詢、外連接查詢和復合連接查詢。2. 連接查詢的WHERE子句中用來連接兩個表的條件稱為連接條件或連接謂詞。當連接詞為=時,稱為等值連接。使用其他運算符稱為非等值連接。若在等值連接中把目標列中重復的屬性列去掉則為自然連接。3. 連接謂詞中的列名稱為連接字段。連接條件中的各連接字段類型必須是可比的,但名字不必相同。4. 一條SQL語句可以同時完成選擇和連接查詢,這時WHERE子句是由連接謂詞和選擇謂詞組成的復合條件。二、自身連接1. 自身連接:連接操作不僅可以在兩個表之間
44、進行,也可以是一個表與其自己進行連接,稱為表的自身連接。三、外連接1. 把Student的懸浮元組保存在結(jié)果關(guān)系中外連接SELECT Student Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student LEFT OUTER JOIN SC ON(Student.Sno=SC.Sno);2. 左外連接列出左邊關(guān)系中所有的元組,右外連接列出右邊關(guān)系所有的元組。四、多表連接連接操作除了可以是兩表連接、一個表與其自身連接外,還可以是兩個以上的表進行連接,后者通常稱為多表連接。SELECT Student.Sno, Sname, Cname, Grade F
45、ROM Student,SC,Course WHERE Student. Sno=SC.Sno AND SC.Cno= Course. Cno;【嵌套查詢】1. 在SQL語言中,一個SELECT-FROM-WHERE語句稱為一個查詢塊。將一個查詢塊嵌套在另一個查詢塊的WHERE子句或HAVING短語的條件中的查詢稱為嵌套查詢。2. 上層的查詢塊稱為外層查詢或父查詢,下層查詢塊稱為內(nèi)層查詢或子查詢。3. 子查詢的SELECT 語句不能使用ORDER BY子句,ORDER BY子句只能對最終的查詢結(jié)果排序。4. 嵌套查詢使用可以用多個簡單查詢構(gòu)成復雜的查詢,從而增強SQL的查詢能力,以層層嵌套的方
46、式構(gòu)造程序正式SQL中“結(jié)構(gòu)化”的含義。一、帶有IN謂詞的子查詢1. 先分步來完成查詢,然后在把兩個查詢構(gòu)造稱嵌套查詢。SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN(SELECT Sdept FROM Student WHERE Sname=劉晨)2. 實現(xiàn)同一個查詢請求可以有多種方法,這涉及到數(shù)據(jù)庫性能調(diào)優(yōu)技術(shù)。有些嵌套查詢可以用連接運算替代,有些是不能替代的。3. 查詢條件不依賴父查詢,稱為不相關(guān)子查詢;如果子查詢的查詢條件依賴于父查詢,這類子查詢稱為相關(guān)子查詢,整個查詢語句稱為相關(guān)嵌套查詢語句。二、帶有比較運算符的子查詢1. 帶
47、有比較運算符的子查詢是指父查詢和子查詢之間用比較運算符進行連接。2. 求解相關(guān)子查詢不能像求解不相關(guān)子查詢那樣一次將子查詢求解出來,然后求解父查詢。內(nèi)能查詢由于與外層查詢有關(guān),因此必須反復求值。3. 實例:SELECT Sno, Sname, Sdept FROM Student WHERE Sdept=( SELECT Sdept FROM Student WHERE Sname=劉晨)SELECT Sno, Cno FROM SC X WHERE Grade>=(SELECT AVG(Grade FROM SC y WHERE y. Sno= x. Sno)三、帶有ANY(SOME)
48、或ALL謂詞的子查詢SELECT Sname,Sage FROM Student WHERE Sage<ANY(SELECT Sage FROM Student WHERE Sdept=CS) AND Sdept<>CS;SELECT Sname,Sage FROM Student WHERE Sage<(SELECT MAX(Sage) FROM Student WHERE Sdept=CS) AND Sdept<>CS;SELECT Sname,Sage FROM Student WHERE Sage<ALL(SELECT Sage FROM St
49、udent WHERE Sdept=CS) AND Sdept<>CS;SELECT Sname,Sage FROM Student WHERE Sage<(SELECT MIN (Sage) FROM Student WHERE Sdept=CS) AND Sdept<>CS;事實上,用聚集函數(shù)實現(xiàn)子查詢通常比直接用ANY或ALL查詢效率高。四、帶有EXISTS謂詞的子查詢1. EXISTS代表存在量詞。帶有EXISTS謂詞的子查詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真“true”或邏輯假值“false”。2. 使用存在量詞EXISTS后,若內(nèi)層查詢結(jié)果非空,則外層的WH
50、ERE子句返回真值,否則返回假值; 使用存在量詞NOT EXISTS后,若內(nèi)層查詢結(jié)果為空,則外層的WHERE子句返回值真值,否則返回假值。SELECT Sname FROM Student WHERE EXISTS(SELECT* FROM SC WHERE Sno= Student. Sno AND Cno=1);SELECT Sname FROM Student WHERE NOT EXISTS(SELECT* FROM SC WHERE Sno= Student. Sno AND Cno=1);SELECT Sno, Sname, Sdept FROM Student S1 WHERE
51、 EXISTS(SELECT* FROM Student S2 WHERE S2. Sdept= S1. Sdept AND S2. Sname=劉晨);3. 一些帶EXISTS或NOT EXISTS謂詞的子查詢不能被其他形式的子查詢等價替換,但所有帶IN謂詞、比較運算符、ANY和ALL謂詞的子查詢都能用帶EXISTS謂詞的子查詢等價代換。4. SQL中沒有全稱量詞,但是可以把帶有全稱量詞的謂詞轉(zhuǎn)換為等價的帶有存在量詞的謂詞5. SQL中沒有蘊涵邏輯運算,但是可以利用謂詞運算將一個邏輯蘊涵的謂詞等價轉(zhuǎn)化。SELECT DISTINCT Sno FROM SC SCX WHERE NOT EXI
52、STS(SELECT * FROM SC SCY WHERE SCY. Sno=20121522 AND NOT EXISTS(SELECT* FROM SC SCZ WHERE SCZ. Sno= SCX. Sno AND SCZ. Cno=SCY.Cno);【集合查詢】1. SELECT語句的查詢結(jié)果是元組的集合,所以多個SELECT語句的結(jié)果可進行集合操作。集合操作主要包括并操作UNION、交操作INTERSECTION和差操作EXCEPT.2. 參加集合操作的各查詢結(jié)果的列數(shù)必須相同;對應項的數(shù)據(jù)類型也必須相同。3. 使用UNION將多個查詢結(jié)果合并起來時,系統(tǒng)會自動去掉重復元組。如果
53、要保留重復元組則用UNION ALL操作符。4. 實例:SELECT* FROM Student WHERE Sdept=CS UNION SELECT * FROM Student WHERE Sage<=19;SELECT Sno FROM SC WHERE Cno=1 UNION SELECT Sno FROM SC WHERE Cno=2;SELECT*FROM Student WHERE Sdept=CS INTERSECT SELECT *FROM Student WHERE Sage<=19;SELECT Sno FROM SC WHERE Cno=1 INTERSE
54、CT SELECT Sno FROM SC WHERE Cno=2;SELECT* FROM Student WHERE Sdept=CS EXCEPT SELECT * FROM Student WHERE Sage<=19;【基于派生表的查詢】1. 子查詢不僅可以出現(xiàn)在WHERE子句中,還可以出現(xiàn)在FROM子句中,這是子查詢生成的臨時派生表稱為主查詢的查詢對象。2. 通過FROM子句生成派生表時,AS關(guān)鍵字可以省略,但必須為派生關(guān)系指定一個別名。3.5 數(shù)據(jù)更新【插入數(shù)據(jù)】1. INSERT INTO Student(Sno, Sname,Ssex,Sdept,Sage) VALUE
55、S(201215128,陳冬,男,IS,18);2. 字符串常量要用單引號(英文字符)括起來。3. 如果沒有指定屬性名,表示新元組要在表的所有屬性列上都指定值,屬性列的次序與CREATE TABLE中的次序相同,VALUES子句對新元組的各屬性列賦值,一定要注意值與屬性列要一一對應。指定部分屬性名,為指定的列DBMS自動賦空值?!静迦胱硬樵兘Y(jié)果】INSERT INTO Dept_age(Sdept,Avg_age) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;【修改數(shù)據(jù)】1. 修改一個元組的值UPDATE Student SET Sag
56、e=22 WHERE Sno=201215121;2. 修改多個元組的值UPDATE Student SET Sage= Sage+1;3. 帶子查詢的修改語句UPDATE SC SET Grad=0 WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept=CS);【刪除數(shù)據(jù)】1.刪除某一個元組的值DELETE FROM Student WHERE Sno=201515128;2.刪除多個元組的值DELETE FROM SC;3.帶子查詢的刪除語句DELETE FROM SC WHERE Sno IN(SELECT Sno FROM Student WHERE Sdept=CS);3.6 空值的處理1. 所謂控制就是“不知道”或“不存在”或“無意義”的值??刂剖呛芴厥獾闹担胁淮_定性。2. 判斷一個屬性的值是否為控制,用IS NULL 或IS NOT NULL來表示。3. 屬性定義(或域定義)中有NOT NULL 約束條件的不能取空值,加了UNIQUE限制的屬性不能取空值。碼屬性不能取空值。4. 有了U
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)化通風空調(diào)安裝項目協(xié)議2024版A版
- 三方債務(wù)責任轉(zhuǎn)移協(xié)議2024版
- 2025年度農(nóng)業(yè)園區(qū)場地租賃安全管理合同范本4篇
- 專業(yè)勞務(wù)分包協(xié)議(2024年版)樣本版A版
- 二零二四實習生就業(yè)權(quán)益與培訓協(xié)議范本規(guī)范5篇
- 2025年度測繪數(shù)據(jù)安全保密協(xié)議4篇
- 專業(yè)標識標牌定制及施工服務(wù)協(xié)議版B版
- 專業(yè)攝影委托協(xié)議細則(2024年)版B版
- 2024物業(yè)管理權(quán)轉(zhuǎn)讓服務(wù)合同
- 2024版食品安全購銷合作合同范本一
- 微機原理與接口技術(shù)考試試題及答案(綜合-必看)
- 勞務(wù)投標技術(shù)標
- 研發(fā)管理咨詢項目建議書
- 濕瘡的中醫(yī)護理常規(guī)課件
- 轉(zhuǎn)錢委托書授權(quán)書范本
- 一種配網(wǎng)高空作業(yè)智能安全帶及預警系統(tǒng)的制作方法
- 某墓園物業(yè)管理日常管護投標方案
- 蘇教版六年級數(shù)學上冊集體備課記載表
- 內(nèi)蒙古匯能煤電集團有限公司長灘露天煤礦礦山地質(zhì)環(huán)境保護與土地復墾方案
- 22S702 室外排水設(shè)施設(shè)計與施工-鋼筋混凝土化糞池
- 2013日產(chǎn)天籟全電路圖維修手冊45車身控制系統(tǒng)
評論
0/150
提交評論