數(shù)據(jù)庫(kù)復(fù)習(xí)指南[1]
第一章 緒論本章屬于基礎(chǔ)知識(shí),主要是對(duì)一些概念的理解和記憶。沒(méi)有難點(diǎn),相對(duì)的重點(diǎn)在于ER 模型的設(shè)計(jì)和關(guān)系模型的掌握。一、數(shù)據(jù)管理技術(shù)的發(fā)展階段(識(shí)記)數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個(gè)階段:人工管理階段、文件
第一章 緒論
本章屬于基礎(chǔ)知識(shí),主要是對(duì)一些概念的理解和記憶。沒(méi)有難點(diǎn),相對(duì)的重點(diǎn)在于ER 模型的設(shè)計(jì)和關(guān)系模型的掌握。
一、數(shù)據(jù)管理技術(shù)的發(fā)展階段(識(shí)記)
數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫(kù)階段:
1、人工管理階段的特點(diǎn):
清。
DB :數(shù)據(jù)庫(kù)(Database),DB 是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。
DBMS :數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management (1)數(shù)據(jù)不保存在機(jī)器中 (2)沒(méi)有專(zhuān)用軟件對(duì)數(shù)據(jù)進(jìn)行管理 (3)只有程序的概念,沒(méi)有文件的概念。 (1)數(shù)據(jù)可長(zhǎng)期保存在磁盤(pán)上。 (2)數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別 (3)文件組織呈現(xiàn)多樣化 (4)數(shù)據(jù)不再屬于某個(gè)特定程序,可以重復(fù)使用。 數(shù)據(jù)冗余性 數(shù)據(jù)不一致性 數(shù)據(jù)聯(lián)系弱 采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu) 有較高的數(shù)據(jù)獨(dú)立性(數(shù)據(jù)結(jié)構(gòu)分成用戶(hù)的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和數(shù)據(jù)庫(kù)系統(tǒng)為用戶(hù)提供方便的用戶(hù)接口,可以使用查詢(xún)語(yǔ)言、終端命令系統(tǒng)提供了四個(gè)方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制、數(shù)據(jù)對(duì)數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項(xiàng)為單位。 2、文件系統(tǒng)階段的特點(diǎn)與缺陷: 其缺陷是: 3、數(shù)據(jù)庫(kù)階段的特點(diǎn) 物理結(jié)構(gòu)三級(jí)) 或程序方式操作數(shù)據(jù)庫(kù)。 完整性和數(shù)據(jù)安全性。 數(shù)據(jù)庫(kù)技術(shù)中的四個(gè)名詞:DB、DBMS 、DBS 、數(shù)據(jù)庫(kù)技術(shù)。其概念是不同的,要分
,System) ,DBMS 是位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶(hù)或應(yīng)用程序提供訪問(wèn)DB 的方法,包括DB 的建立、查詢(xún)、更新及各種數(shù)據(jù)控制。DBMS 總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮虳BMS 。 DBS :數(shù)據(jù)庫(kù)系統(tǒng)(Database System),DBS 是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),方便多用戶(hù)訪問(wèn)的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)。
數(shù)據(jù)庫(kù)技術(shù):是一門(mén)研究數(shù)據(jù)庫(kù)結(jié)構(gòu)、存儲(chǔ)、管理和使用的軟件學(xué)科。
二、數(shù)據(jù)描述的術(shù)語(yǔ)(領(lǐng)會(huì))
1、數(shù)據(jù)描述的三個(gè)領(lǐng)域:現(xiàn)實(shí)世界、信息世界和機(jī)器世界。
信息世界中的幾個(gè)概念:實(shí)體(即客觀存在可以相互區(qū)別的事物) 、實(shí)體集(同類(lèi)實(shí)體的集合) 、屬性(實(shí)體的特性) 、實(shí)體標(biāo)識(shí)符(唯一標(biāo)識(shí)實(shí)體的屬性(集)) 。 機(jī)器世界中的四個(gè)概念:字段、記錄、文件、鍵(關(guān)鍵碼) 。
2、數(shù)據(jù)描述的兩種形式:物理描述和邏輯描述。前者是指數(shù)據(jù)在存儲(chǔ)設(shè)備上的存取方式,后者是指程序員或用戶(hù)以用以操作的數(shù)據(jù)形式。
3、數(shù)據(jù)聯(lián)系的描述:
1" 。
1:N 聯(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" 。
三、數(shù)據(jù)模型
1、數(shù)據(jù)模型的概念(領(lǐng)會(huì)) :
表示實(shí)體類(lèi)型及實(shí)體類(lèi)型間聯(lián)系的模型稱(chēng)為" 數(shù)據(jù)模型" 。它可分為兩種類(lèi)型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。
2、 概念數(shù)據(jù)模型(領(lǐng)會(huì)) :
它是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來(lái)描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu)。(掌握ER 模型) M :N 聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體有聯(lián)系,反之亦然,那么E1對(duì)E2的聯(lián)系是" 多對(duì)多聯(lián)系" ,記為"M :N" 。 1:1聯(lián)系:如果實(shí)體集E1中的每個(gè)實(shí)體最多只能和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,好么實(shí)體集E1對(duì)E2的聯(lián)系稱(chēng)為" 一對(duì)一聯(lián)系" ,記為"1:
,3、 結(jié)構(gòu)數(shù)據(jù)模型:它是直接面向數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。這類(lèi)模型涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng),所以稱(chēng)為" 結(jié)構(gòu)數(shù)據(jù)模型" 。結(jié)構(gòu)數(shù)據(jù)模型應(yīng)包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。
層次模型(識(shí)記) :用樹(shù)型結(jié)構(gòu)表示實(shí)體間聯(lián)系的數(shù)據(jù)模型
關(guān)系模型(領(lǐng)會(huì)) :是由若干個(gè)關(guān)系模式組成的集合,其主要特征是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。
四、數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)(領(lǐng)會(huì))
1、三級(jí)結(jié)構(gòu)模式:數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)分為三級(jí):內(nèi)部級(jí)、概念級(jí)和外部級(jí):
" 。
內(nèi)部級(jí):最接近于物理存儲(chǔ),涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),稱(chēng)" 內(nèi)模式" 。 模式/內(nèi)模式映象:用于定義概念模式和內(nèi)模式之間的對(duì)應(yīng)性。一般在外模式/模式映象:用于定義外模式和概念模式間的對(duì)應(yīng)性。一般在外2、兩級(jí)映象: 內(nèi)模式中描述。 模式中描述。
3. 兩級(jí)數(shù)據(jù)獨(dú)立性:
五、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS 領(lǐng)會(huì))
1、DBMS 的主要功能:
(1)數(shù)據(jù)庫(kù)的定義功能
(2)數(shù)據(jù)庫(kù)的操縱功能
(3)數(shù)據(jù)庫(kù)的保護(hù)功能
(4)數(shù)據(jù)庫(kù)的存儲(chǔ)管理
(5)數(shù)據(jù)庫(kù)的維護(hù)功能
(6)數(shù)據(jù)字典
2、DBMS 的組成: 物理數(shù)據(jù)獨(dú)立性:修改內(nèi)模式時(shí)盡量不影響概念模式及外模式,則達(dá)到邏輯數(shù)據(jù)獨(dú)立性:修改概念模式時(shí)盡量不影響外模式和應(yīng)用程序。 物理數(shù)據(jù)獨(dú)立性。 外部級(jí):?jiǎn)蝹€(gè)用戶(hù)所能看到的數(shù)據(jù)特性,稱(chēng)外模式。 概念級(jí):涉及到所有用戶(hù)的數(shù)據(jù)定義,是全局的數(shù)據(jù)視圖, 稱(chēng)" 概念模式
,由兩大部分組成:查詢(xún)處理器和存儲(chǔ)管理器,前者包括DDL 編譯器、DML 編譯器、嵌入型DML 預(yù)編譯器、查詢(xún)運(yùn)行核心程序。后者包括授權(quán)和完整性管理器,事務(wù)管理器、文件管理器,緩沖區(qū)管理器。
六、數(shù)據(jù)庫(kù)系統(tǒng)(DBS 領(lǐng)會(huì))
DBS 由四部分組成:數(shù)據(jù)庫(kù)、硬件、軟件、數(shù)據(jù)庫(kù)管理員。
DBS 的全局結(jié)構(gòu)及DBS 的效益,了解一下。
第二章 關(guān)系數(shù)據(jù)庫(kù)
本章為次重點(diǎn)章,我們經(jīng)常使用的數(shù)據(jù)庫(kù)均采用關(guān)系模型,本章主要介紹了關(guān)系模型的關(guān)系運(yùn)算理論,主要在于對(duì)關(guān)系演算運(yùn)算的理解,為后面章節(jié)的SQL 作準(zhǔn)備。
一、關(guān)系模型的基本概念(識(shí)記)
1、關(guān)系模型的基本術(shù)語(yǔ):
用二維表格結(jié)構(gòu)表示實(shí)體集、外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱(chēng)為關(guān)系模型。 基本術(shù)語(yǔ)有:字段(屬性) 、字段值(屬性值) 、記錄(元組) 、二維表格(元組集合、關(guān)系或?qū)嵗? 。在這里,括號(hào)中的表述為關(guān)系模型中的術(shù)語(yǔ)。它與表格中術(shù)語(yǔ)可以一一對(duì)應(yīng)。還有,關(guān)系中屬性個(gè)數(shù)稱(chēng)為元數(shù),元組個(gè)數(shù)為基數(shù)。
鍵:由一個(gè)或幾個(gè)屬性組成。(注意鍵不一定是唯一的一個(gè)屬性) 。
超鍵:在關(guān)系中能唯一標(biāo)識(shí)元組的屬性集稱(chēng)為關(guān)系模式的超鍵。(注意,候選鍵:不含有多余屬性的超鍵稱(chēng)為候選鍵。 主鍵:用戶(hù)選作元組標(biāo)識(shí)的一個(gè)候選鍵為主鍵。 外鍵:某個(gè)關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時(shí)該主鍵在就超鍵也是一個(gè)屬性集,不一定只是一個(gè)屬性) 是另一關(guān)系的外鍵,如有兩個(gè)關(guān)系S 和SC, 其中S#是關(guān)系S 的主鍵,相應(yīng)的屬性S#在關(guān)系SC 中也出現(xiàn),此時(shí)S#就是關(guān)系SC 的外鍵。
2、關(guān)系模式、關(guān)系子模式
,關(guān)系模式:關(guān)系模式實(shí)際上就是記錄類(lèi)型。它包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式僅是對(duì)數(shù)據(jù)特性的描述。 (這通常在數(shù)據(jù)庫(kù)中表現(xiàn)為一個(gè)數(shù)據(jù)表的結(jié)構(gòu))
關(guān)系子模式:就是用戶(hù)所用到那部分?jǐn)?shù)據(jù)的描述。 實(shí)體完整性規(guī)則:要求關(guān)系中組成主鍵的屬性上不能有空值。 參照完整性規(guī)則:要求不引用不存在的實(shí)體。 用戶(hù)定義完整性規(guī)則:由具體應(yīng)用環(huán)境決定,系統(tǒng)提供定義和檢驗(yàn)這類(lèi)3、關(guān)系模型的三類(lèi)完整性規(guī)則 完整性的機(jī)制。
4、關(guān)系模型的形式定義:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則。
二、關(guān)系代數(shù)運(yùn)算(簡(jiǎn)單應(yīng)用)
1、關(guān)系代數(shù)的五個(gè)基本操作:并、差、笛卡爾積、投影和選擇。
并(∪):兩個(gè)關(guān)系需有相同的關(guān)系模式,并的對(duì)象是元組,由兩個(gè)關(guān)系所有元組構(gòu)成。
差(-):同樣,兩個(gè)關(guān)系有相同的模式,R 和S 的差是由屬于R 但不屬于S 的元組構(gòu)成的集合。
投影(σ) :對(duì)關(guān)系進(jìn)行垂直分割,消去某些列,并重新安排列的順序。 選擇(π) :根據(jù)某些條件關(guān)系作水平分割,即選擇符合條件的元組。
2、關(guān)系代數(shù)的四個(gè)組合操作:交、聯(lián)接、自然聯(lián)接和除法
交(∩):R 和S 的交是由既屬于R 又屬于S 的元組構(gòu)成的集合。
聯(lián)接包括θ聯(lián)接和F 聯(lián)接,是選擇R×S中滿(mǎn)足i θ(r j)或F 條件的元組構(gòu)成的集合,特別注意等值聯(lián)接(θ為等號(hào)"=")。
自然聯(lián)接(R|X|S):在R×S中,選擇R 和S 公共屬性值均相等的元組,并去掉R×S中重復(fù)的公共屬性列。如果兩個(gè)關(guān)系沒(méi)有公共屬性,則自然聯(lián)接就轉(zhuǎn)化為笛卡爾積。
除法(÷):首先除法的結(jié)果中元數(shù)為兩個(gè)元數(shù)的差,以例2.6為例,我們可以直接用觀察法來(lái)得到結(jié)果,把S 看作一個(gè)塊,拿到R 中去和相同屬性集中的元組作比較,如果有相同的塊,且除去此塊后留下的相應(yīng)元組均相同,那么可以得到一條元組,所有這些元組的集合就是除法的結(jié)果。
對(duì)于上述的五個(gè)基本操作和組合操作,應(yīng)當(dāng)從實(shí)際運(yùn)算方面進(jìn)行理解和運(yùn)用,對(duì)其形式定義可不必深究。注意課本上的例子和給的練習(xí)題。
3、關(guān)系代數(shù)表達(dá)式及應(yīng)用
,在關(guān)系代數(shù)表達(dá)式中,復(fù)合了上述五個(gè)基本操作,在給出相應(yīng)的表格(關(guān)系) 中,應(yīng)該能夠根據(jù)給出的關(guān)系代數(shù)表達(dá)式計(jì)算關(guān)系值,也要能根據(jù)相應(yīng)查詢(xún)要求列出關(guān)系表達(dá)式。
在列關(guān)系表達(dá)式時(shí),通常有以下形式:
π...(σ...(R×S))或者π...(σ...(R|X|S))
首先把查詢(xún)涉及到的關(guān)系取來(lái),執(zhí)行笛卡爾積或自然聯(lián)接操作得到一張大的表格,然后對(duì)大表格執(zhí)行水平分割(選擇) 和垂直分割(投影) 操作。但是注意當(dāng)查詢(xún)涉及到否定或全部值時(shí),就不能用上述形式,而要用到差或除法操作。
第三章關(guān)系數(shù)據(jù)庫(kù)SQL 語(yǔ)言
本章為重點(diǎn)章,應(yīng)熟悉和掌握SQL 的數(shù)據(jù)定義、數(shù)據(jù)查詢(xún)、數(shù)據(jù)更新的句法及其應(yīng)用,特別是數(shù)據(jù)查詢(xún)的應(yīng)用。結(jié)合上機(jī)操作進(jìn)行理解和掌握。
一、SQL 概述。
1、SQL 發(fā)展歷程(識(shí)記)
SQL 從1970年美國(guó)IBM 研究中心的E.F.Codd 發(fā)表論文到1974年Boyce 和
Chamberlin 把SQUARE 語(yǔ)言改為SEQUEL 語(yǔ)言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL(結(jié)構(gòu)式查詢(xún)語(yǔ)言) 雖然名為查詢(xún),但實(shí)際上具有定義、查詢(xún)、更新和控制等多種功能。
2、SQL 數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)(領(lǐng)會(huì))
SQL 數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)也是三級(jí)結(jié)構(gòu),但術(shù)語(yǔ)與傳統(tǒng)關(guān)系模型術(shù)語(yǔ)不同,在SQL 中,關(guān)系模式稱(chēng)為" 基本表" ,存儲(chǔ)模式稱(chēng)為" 存儲(chǔ)文件" ,子模式稱(chēng)為" 視圖" ,元組稱(chēng)" 行" ,屬性稱(chēng)" 列" 。
SQL 數(shù)據(jù)庫(kù)體系的結(jié)構(gòu)要點(diǎn)如下:
(1)一個(gè)SQL 數(shù)據(jù)庫(kù)是表的匯集。 (2)一個(gè)SQL 表由行集構(gòu)成,行是列的序列,每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。 (3)表或者是基本表,或者是視圖。基本表是實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表,(4)一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。 個(gè)或多個(gè)基本表。存儲(chǔ)文件與物理文件對(duì)應(yīng)。
,(5)用戶(hù)可以用SQL 語(yǔ)句對(duì)表進(jìn)行操作,包括視圖和基本表。 (6)SQL的用戶(hù)可以是應(yīng)用程序,也可以是終端用戶(hù)。
3、SQL 的組成(識(shí)記)
SQL 由三部分組成:
二、SQL 的數(shù)據(jù)定義(簡(jiǎn)單應(yīng)用)
1、SQL 模式的創(chuàng)建和撤消:
SQL 模式的創(chuàng)建可簡(jiǎn)單理解為建立一個(gè)數(shù)據(jù)庫(kù),定義一個(gè)存儲(chǔ)空間,其句法是: CREAT SCHEMA
<模式名> AUTHORIZATION <用戶(hù)名>
撤消SQL 模式的句法為:
DROP SCHEMA <模式名>
[CASCADE|RESTRICT]
方括號(hào)中的選項(xiàng)參數(shù)CASCADE 表示連鎖方式,執(zhí)行時(shí)將模式下所有基本表、視圖、索引等元素全部撤消。RESTRICT 表示約束式,執(zhí)行時(shí)必須在SQL 模式中沒(méi)有任何下屬元素時(shí)方可撤消模式。
2、SQL 提供的基本數(shù)據(jù)類(lèi)型
數(shù)值型:包括 integer、smallint 、real 、double precision 、字符串型:char(n)、varchar(n),前者是定長(zhǎng),后者為變長(zhǎng)串 位串型:bit(n),bit varying(n),同上。 時(shí)間型:date 、time 。 基本表的創(chuàng)建:(可理解為建立表結(jié)構(gòu)) float(n),numeric(p,d) (1)數(shù)據(jù)定義:SQL DDL。定義SQL 模式,基本表、視圖和索引。 (2)數(shù)據(jù)操縱:SQL DML。包括數(shù)據(jù)查詢(xún)和數(shù)據(jù)更新(增、刪、改) 。 (3)數(shù)據(jù)控制:包括對(duì)基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。 3、基本表的創(chuàng)建、修改和撤消
CREAT TABLE SQL 模式名. 基本表名
(列名,類(lèi)型,
……
完整性約束...)
完整性約束包括主鍵子句(PRIMARY KEY) 、檢查子句(CHECK)和外鍵子句(Foreign KEY).
,基本表結(jié)構(gòu)的修改
ALTER TABLE 基本表名 ADD/DROP(增加/刪除) 列名 類(lèi)型名(增加時(shí)寫(xiě)出)
刪除時(shí)有子句 [CASCADE|RESTRICT],前者為連鎖刪除,后者為約束刪除,即沒(méi)有對(duì)本列的任何引用時(shí)才能刪除。
基本表的撤消
DROP TABLE 基本表名 [CASCADE|RESTRICT]
4、視圖的創(chuàng)建和撤消
創(chuàng)建:CREAT VIEW 視圖名(列名表) AS SELECT 查詢(xún)語(yǔ)句 撤消:DROP VIEW 視圖名 創(chuàng)建:CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名表 撤消:DROP INDEX 索引名 5、索引的創(chuàng)建和撤消 [ASC|DESC])
總結(jié):凡創(chuàng)建都用CREAT , 刪除都用DROP, 改變用alter, 再跟類(lèi)型和名字,附加子句很容易了。
三、SQL 的數(shù)據(jù)查詢(xún)(綜合應(yīng)用)
這一段是本章的重點(diǎn)內(nèi)容,應(yīng)該熟練掌握。首先了解基本句法:
1、SELECT-FROM-WHERE 句型
SELECT 列名表(逗號(hào)隔開(kāi)) FROM 基本表或視圖序列 WHERE 條件表達(dá)式 在這里,重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用,如=,>,<,<>等算術(shù)比較運(yùn)算符、邏輯運(yùn)算符AND 、OR 、NOT 、集合成員資格運(yùn)算符:IN ,NOT
IN ,以及嵌套的SELECT 語(yǔ)句的用法要特別注意理解。針對(duì)課本的例題和課后習(xí)題進(jìn)行掌握。
在查詢(xún)時(shí),SELECT 語(yǔ)句可以有多種寫(xiě)法,如聯(lián)接查詢(xún)、嵌套查詢(xún)和使用存在量詞的嵌套查詢(xún)等。最好都掌握,但是起碼應(yīng)能寫(xiě)出一種正確的查詢(xún)語(yǔ)句。
2.SELECT 語(yǔ)句完整的句法:
SELECT 列名表(逗號(hào)隔開(kāi))
FROM 基本表或視圖序列
[WHERE 條件表達(dá)式] (此為和條件子句)
[GROUP BY 列名序列] (分組子句)
[HAVING 組條件表達(dá)式] (組條件子句)
[ORDER BY列名[ASC|DESC]..] (排序子句)
這段關(guān)于完整句法的內(nèi)容能夠理解也就問(wèn)題不大了。
,3、SELECT 語(yǔ)句中的限定
這一段內(nèi)容主要是對(duì)SELECT 語(yǔ)句進(jìn)一步使用進(jìn)行的深入學(xué)習(xí),領(lǐng)會(huì)下列各種限定的使用目的和方法。
四、SQL 的數(shù)據(jù)更新(簡(jiǎn)單應(yīng)用)
簡(jiǎn)單應(yīng)用就是掌握基本的句型并能套用在一些簡(jiǎn)單的查詢(xún)要求上。
1、數(shù)據(jù)插入:
INSERT INTO 基本表名(列名表)
VALUES (元組值)
或
INSERT INTO 基本表名(列名表)
SELECT 查詢(xún)語(yǔ)句
其中元組值可以連續(xù)插入。用查詢(xún)語(yǔ)句可以按要求插入所需數(shù)據(jù)。
2、數(shù)據(jù)刪除:
DELETE FROM 基本表名 [WHERE條件表達(dá)式]
3、數(shù)據(jù)修改:
UPDATE 基本表名
SET 列名=值表達(dá)式,[列名=值表達(dá)式...]
[WHERE 條件表達(dá)式]
這一節(jié)的關(guān)于增刪改的操作要和前面關(guān)于數(shù)據(jù)庫(kù)模式、表的增刪改操作進(jìn)行對(duì)比學(xué)習(xí),以加深理解。不要忘記上機(jī)實(shí)踐。
要求輸出表格中不出現(xiàn)重復(fù)元組,則在SELECT 后加一DISTINCT SELECT 子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達(dá)式 WHERE 子句中可以用BETWEEN...AND... 來(lái)限定一個(gè)值的范圍 同一個(gè)基本表在 SELECT語(yǔ)句中多次引用時(shí)可用AS 來(lái)增加別名 WHERE 子句中字符串匹配用LIKE 和兩個(gè)通配符,和下劃線_. 查詢(xún)結(jié)果的結(jié)構(gòu)完全一致時(shí)可將兩個(gè)查詢(xún)進(jìn)行并(UNION)交(INTERSECT)查詢(xún)空值操作不是用='null',而是用 IS NULL來(lái)測(cè)試。 集合成員資格比較用 IN/NOT IN ,集合成員算術(shù)比較用元組可以用子查詢(xún)結(jié)果取名(表名(列名序列)) 來(lái)作為導(dǎo)出表使用 基本表的自然聯(lián)接操作是用 NATURAL INNER JOIN來(lái)實(shí)現(xiàn)的。 差(EXCPT)操作 θSOME/ALL
,第五章 關(guān)系數(shù)據(jù)理論
本章的理論性較強(qiáng),學(xué)習(xí)時(shí)有無(wú)從下手的感覺(jué),在學(xué)習(xí)時(shí)應(yīng)多加思考,從概念出發(fā)去理解理論,前后的理論有較強(qiáng)的聯(lián)系,因此要逐個(gè)理解,但對(duì)于理論的證明等內(nèi)容則不必深究,本章重點(diǎn)是函數(shù)依賴(lài)和范式的概念。
一、關(guān)系模式的設(shè)計(jì)問(wèn)題(識(shí)記)
關(guān)系數(shù)據(jù)庫(kù)是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫(kù),它利用關(guān)系來(lái)描述現(xiàn)實(shí)世界。一個(gè)關(guān)系既可以用來(lái)描述一個(gè)實(shí)體及其屬性,也可以用來(lái)描述實(shí)體間的聯(lián)系。關(guān)系實(shí)質(zhì)上就是一張二維表,表的行稱(chēng)為元組,列稱(chēng)為屬性。
關(guān)系模式是用來(lái)定義關(guān)系的,這里的關(guān)系模式我們可以簡(jiǎn)單地理解為一個(gè)表的結(jié)構(gòu),一個(gè)關(guān)系數(shù)據(jù)庫(kù)包含一組關(guān)系,也就是包含一組二維表,這些二維表結(jié)構(gòu)體的集合就構(gòu)成數(shù)據(jù)庫(kù)的模式(也可以理解為數(shù)據(jù)庫(kù)的結(jié)構(gòu)) 。
關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論包括三個(gè)方面內(nèi)容:數(shù)據(jù)依賴(lài)、范式、模式設(shè)計(jì)方法。核心內(nèi)容是數(shù)據(jù)依賴(lài)。
關(guān)系模式的存儲(chǔ)異常:數(shù)據(jù)冗余、更新異常、插入異常和刪除異常
二、函數(shù)依賴(lài)(FD)
1、函數(shù)依賴(lài)的定義(領(lǐng)會(huì)) :設(shè)有關(guān)系模式R(A1,A2,...An) 或簡(jiǎn)記為R(U),X ,Y 是U 的子集,r 是R 的任一具體關(guān)系,如果對(duì)r 的任意兩個(gè)元組t1,t2, 由
t1[X]=t2[X]導(dǎo)致t1[Y]=t2[Y],則稱(chēng)X 函數(shù)決定Y ,或Y 函數(shù)依賴(lài)于X ,記為X→Y。X→Y為模式R 的一個(gè)函數(shù)依賴(lài)。
這個(gè)定義可以這樣理解:有一張?jiān)O(shè)計(jì)好的二維表,X ,Y 是表的某些列(可以是一列,也可以是多列) ,若在表中的第t1行,和第t2行上的X 值相等,那么必有t1行和t2行上的Y 值也相等,這就是說(shuō)Y 函數(shù)依賴(lài)于X 。如下圖所示: