互聯(lián)網(wǎng)數(shù)據(jù)庫_第1頁
互聯(lián)網(wǎng)數(shù)據(jù)庫_第2頁
互聯(lián)網(wǎng)數(shù)據(jù)庫_第3頁
互聯(lián)網(wǎng)數(shù)據(jù)庫_第4頁
互聯(lián)網(wǎng)數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章數(shù)據(jù)庫概論本章屬于基礎(chǔ)知識,主要是對一些概念的理解和記憶。沒有難點(diǎn),相對的重點(diǎn)在于ER 模型的設(shè)計(jì)和關(guān)系模型的掌握。一、數(shù)據(jù)管理技術(shù)的發(fā)展階段( 識記 )數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫階段:1、人工管理階段的特點(diǎn):(1) 數(shù)據(jù)不保存在機(jī)器中(2) 沒有專用軟件對數(shù)據(jù)進(jìn)行管理(3) 只有程序的概念,沒有文件的概念。2、文件系統(tǒng)階段的特點(diǎn)與缺陷:(1) 數(shù)據(jù)可長期保存在磁盤上。(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)系弱3、數(shù)據(jù)庫階段的特點(diǎn)采用復(fù)

2、雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)有較高的數(shù)據(jù)獨(dú)立性( 數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級)數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口, 可以使用查詢語言、 終端命令或程序方式操作數(shù)據(jù)庫。系統(tǒng)提供了四個(gè)方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性。對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項(xiàng)為單位。數(shù)據(jù)庫技術(shù)中的四個(gè)名詞:DB、DBMS DBS數(shù)據(jù)庫技術(shù)。其概念是不同的,要分清。DR數(shù)據(jù)庫(Database),DB是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。DBMS 數(shù)據(jù)庫管理系統(tǒng)(Database ManagementSystem), DBM星位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件

3、,為 用戶或應(yīng)用程序提供訪問DB的方法,包括DB的建立、查詢、更新及 各種數(shù)據(jù)控制。DBMS、是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng) 狀型、關(guān)系型、面向?qū)ο笮?DBMSDBS數(shù)據(jù)庫系統(tǒng)(DatabaseSystem),DBS是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計(jì)算機(jī)軟件、 硬件和數(shù)據(jù)資源組成的系統(tǒng), 即采用了數(shù)據(jù)庫 技術(shù)的計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫技術(shù): 是一門研究數(shù)據(jù)庫結(jié)構(gòu)、 存儲(chǔ)、 管理和使用的軟件學(xué)科。二、數(shù)據(jù)描述的術(shù)語( 領(lǐng)會(huì) )1、數(shù)據(jù)描述的三個(gè)領(lǐng)域:現(xiàn)實(shí)世界、信息世界和機(jī)器世界。信息世界中的幾個(gè)概念: 實(shí)體 ( 即客觀存在可以相互區(qū)別的事物 ) 、 實(shí) 體集 ( 同類實(shí)

4、體的集合) 、屬性 ( 實(shí)體的特性 ) 、實(shí)體標(biāo)識符( 唯一標(biāo)識實(shí)體的屬性( 集) 。機(jī)器世界中的四個(gè)概念:字段、記錄、文件、鍵( 關(guān)鍵碼 ) 。2、數(shù)據(jù)描述的兩種形式:物理描述和邏輯描述。前者是指數(shù)據(jù)在存儲(chǔ)設(shè)備上的存取方式, 后者是指程序員或用戶以用以操作的數(shù)據(jù)形式。3、物理描述用到的術(shù)語有:位、字節(jié)、字、塊、桶、卷4、數(shù)據(jù)聯(lián)系的描述:1: 1 聯(lián)系:如果實(shí)體集E1 中的每個(gè)實(shí)體最多只能和實(shí)體集E2 中的一個(gè)實(shí)體有聯(lián)系,反之亦然,好么實(shí)體集E1 對 E2 的聯(lián)系稱為 "一對一聯(lián)系 " ,記為 "1 : 1" 。1. N聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)

5、體集E2中任意個(gè)(零個(gè)或多個(gè)) 實(shí)體有聯(lián)系, 而 E2 中每個(gè)實(shí)體至多和 E1 中的一個(gè)實(shí)體有聯(lián)系,那么E1對E2的聯(lián)系是"一對多聯(lián)系",記為"1: N"。M N聯(lián)系:如果實(shí)體集E1中每個(gè)實(shí)體與實(shí)體集E2中任意個(gè)(零個(gè)或多個(gè))實(shí)體有聯(lián)系,反之亦然,那么 E1 對 E2 的聯(lián)系是 " 多對多聯(lián)系" ,記為 "M: N"。三、數(shù)據(jù)模型1、數(shù)據(jù)模型的概念( 領(lǐng)會(huì) ) :表示實(shí)體類型及實(shí)體類型間聯(lián)系的模型稱為 " 數(shù)據(jù)模型 " 。 它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。2. 概念數(shù)據(jù)模型(簡單應(yīng)

6、用 ) :它是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型, 完全不涉及信息在系統(tǒng)中的表示, 只是用來描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu)。 ( 應(yīng)當(dāng)掌握教材例 1.1 ,設(shè)計(jì)簡單的ER模型)3、結(jié)構(gòu)數(shù)據(jù)模型:它是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。 這類模型涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng), 所以稱為"結(jié)構(gòu)數(shù)據(jù)模型" 。結(jié)構(gòu)數(shù)據(jù)模型應(yīng)包含:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束三部分。它主要有:層次、網(wǎng)狀、關(guān)系三種模型。層次模型(識記):用樹型結(jié)構(gòu)表示實(shí)體間聯(lián)系的數(shù)據(jù)模型網(wǎng)狀模型(識記): 用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。關(guān)系模型(領(lǐng)會(huì)): 是由若干個(gè)關(guān)系模式組成的集合,

7、其主要特征是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。4、面向?qū)ο竽P停?識記 ): 通過對象和類的概念來建立的數(shù)據(jù)庫模型,是面向?qū)ο蠹夹g(shù)與數(shù)據(jù)庫技術(shù)結(jié)合的產(chǎn)物,本節(jié)了解一下即可。四、數(shù)據(jù)庫的體系結(jié)構(gòu)(領(lǐng)會(huì) )1、三級結(jié)構(gòu)模式:數(shù)據(jù)庫的體系結(jié)構(gòu)分為三級:內(nèi)部級、概念級和外部級:外部級:單個(gè)用戶所能看到的數(shù)據(jù)特性,稱外模式。概念級: 涉及到所有用戶的數(shù)據(jù)定義, 是全局的數(shù)據(jù)視圖 , 稱 " 概念模式"。內(nèi)部級:最接近于物理存儲(chǔ),涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),稱" 內(nèi)模式"。2、兩級映象:模式 / 內(nèi)模式映象:用于定義概念模式和內(nèi)模式之間的對應(yīng)性。一般在內(nèi)

8、模式中描述。外模式 / 模式映象:用于定義外模式和概念模式間的對應(yīng)性。一般在外模式中描述。3. 兩級數(shù)據(jù)獨(dú)立性:物理數(shù)據(jù)獨(dú)立性: 修改內(nèi)模式時(shí)盡量不影響概念模式及外模式, 則達(dá)到物理數(shù)據(jù)獨(dú)立性。邏輯數(shù)據(jù)獨(dú)立性:修改概念模式時(shí)盡量不影響外模式和應(yīng)用程序。4. 用戶及用戶界面: 這里插一句, 數(shù)據(jù)庫模式可以理解為數(shù)據(jù)庫結(jié)構(gòu)。五、數(shù)據(jù)庫管理系統(tǒng)(DBMS 領(lǐng)會(huì) )1、DBMS勺主要功能:( 1)數(shù)據(jù)庫的定義功能( 2)數(shù)據(jù)庫的操縱功能3)數(shù)據(jù)庫的保護(hù)功能( 4)數(shù)據(jù)庫的存儲(chǔ)管理( 5)數(shù)據(jù)庫的維護(hù)功能( 6)數(shù)據(jù)字典2、DBMS勺組成:由兩大部分組成:查詢處理器和存儲(chǔ)管理器,前者包括DD印譯器、DM

9、牖譯器、嵌入型DM頃編譯器、查詢運(yùn)行核心程序。后者包括授 權(quán)和完整性管理器,事務(wù)管理器、文件管理器,緩沖區(qū)管理器。六、數(shù)據(jù)庫系統(tǒng)(DBS 領(lǐng)會(huì) )DBS由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。DBS勺全局2構(gòu)及DBS勺效益,了解一下。第二章 關(guān)系模型本章為次重點(diǎn)章, 我們經(jīng)常使用的數(shù)據(jù)庫均采用關(guān)系模型, 本章主要介紹了關(guān)系模型的關(guān)系運(yùn)算理論,主要在于對關(guān)系演算運(yùn)算的理解,為后面章節(jié)的SQL作準(zhǔn)備。一、關(guān)系模型的基本概念( 識記 )1、關(guān)系模型的基本5 語: 用二維表格結(jié)構(gòu)表示實(shí)體集、 外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為關(guān) 系模型?;拘g(shù)語有:字eB6屬性)、字段值(屬性值)、記錄(元組)

10、、二維表格(元組集合、關(guān)系或?qū)嵗?。在這里,括號中的表述為關(guān)系模型中的術(shù)語。它與表格中術(shù)語可以一一對應(yīng)。還有,關(guān)系中屬性個(gè)數(shù)稱為元數(shù),元組個(gè)數(shù)為基數(shù)。鍵:由一個(gè)或幾個(gè)屬性組成。 ( 注意鍵不一定是唯一的一個(gè)屬性 ) 。超鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。 ( 注意,超鍵也是一個(gè)屬性集,不一定只是一個(gè)屬性 )候選鍵:不含有多余屬性的超鍵稱為候選鍵。主鍵:用戶選作元組標(biāo)識的一個(gè)候選鍵為主鍵。外鍵: 某個(gè)關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn), 此時(shí)該主鍵在就是另一關(guān)系的外鍵,如有兩個(gè)關(guān)系S和SC,其中S腥關(guān)系S的主鍵, 相應(yīng)的屬性S解關(guān)系SC中也出現(xiàn),此時(shí)S僦是關(guān)系SC的外鍵。

11、2、關(guān)系模式、關(guān)系子模式和存儲(chǔ)模式關(guān)系模式: 關(guān)系模式實(shí)際上就是記錄類型。 它包括: 模式名, 屬性名,值域名以及模式的主鍵。 關(guān)系模式僅是對數(shù)據(jù)特性的描述。 ( 這通常在數(shù)據(jù)庫中表現(xiàn)為一個(gè)數(shù)據(jù)表的結(jié)構(gòu))關(guān)系子模式:就是用戶所用到那部分?jǐn)?shù)據(jù)的描述。存儲(chǔ)模式: 關(guān)系存儲(chǔ)時(shí)的基本組織方式是文件, 元組是文件中的記錄。3、關(guān)系模型的三類完整性規(guī)則實(shí)體完整性規(guī)則:要求關(guān)系中組成主鍵的屬性上不能有空值。參照完整性規(guī)則:要求不引用不存在的實(shí)體。用戶定義完整性規(guī)則: 由具體應(yīng)用環(huán)境決定, 系統(tǒng)提供定義和檢驗(yàn)這類完整性的機(jī)制。4、關(guān)系模型的形式定義:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則。二、關(guān)系代數(shù)運(yùn)算(簡單應(yīng)用

12、)1、關(guān)系代數(shù)的五個(gè)基本操作:并、差、笛卡爾積、投影和選擇。并(U):兩個(gè)關(guān)系需有相同的關(guān)系模式,并的對象是元組,由兩個(gè)關(guān)系所有元組構(gòu)成。差(-):同樣,兩個(gè)關(guān)系有相同的模式,R和S的差是由屬于R但不屬于 S 的元組構(gòu)成的集合。投影(。):對關(guān)系進(jìn)行垂直分割,消去某些列,并重新安排列的順序。選擇(兀):根據(jù)某些條件關(guān)系作水平分割,即選擇符合條件的元組。2、關(guān)系代數(shù)的四個(gè)組合操作:交、聯(lián)接、自然聯(lián)接和除法交(A): R和S的交是由既屬于R又屬于S的元組構(gòu)成的集合。聯(lián)接包括0聯(lián)接和F聯(lián)接,是選擇RXS中滿足i 0(r+j)或F條件 的元組構(gòu)成的集合,特別注意等值聯(lián)接(0為等號"=&quo

13、t;)。自然聯(lián)接(R|X|S):在RX S中,選擇R和S公共屬性值均相等的元組, 并去掉RXS中重復(fù)的公共屬性列。如果兩個(gè)關(guān)系沒有公共屬性,則 自然聯(lián)接就轉(zhuǎn)化為笛卡爾積。除法(+):首先除法的結(jié)果中元數(shù)為兩個(gè)元數(shù)的差,以例 2.6為例, 我們可以直接用觀察法來得到結(jié)果, 把 S 看作一個(gè)塊, 拿到 R 中去和 相同屬性集中的元組作比較, 如果有相同的塊, 且除去此塊后留下的 相應(yīng)元組均相同, 那么可以得到一條元組, 所有這些元組的集合就是 除法的結(jié)果。對于上述的五個(gè)基本操作和組合操作, 應(yīng)當(dāng)從實(shí)際運(yùn)算方面進(jìn)行理解和運(yùn)用,對其形式定義可不必深究。注意課本上的例子。3、關(guān)系代數(shù)表達(dá)式及應(yīng)用在關(guān)系代

14、數(shù)表達(dá)式中, 復(fù)合了上述五個(gè)基本操作, 在給出相應(yīng)的表格( 關(guān)系 ) 中, 應(yīng)該能夠根據(jù)給出的關(guān)系代數(shù)表達(dá)式計(jì)算關(guān)系值, 也要能根據(jù)相應(yīng)查詢要求列出關(guān)系表達(dá)式。在列關(guān)系表達(dá)式時(shí),通常有以下形式:兀.(T (R x S)或者兀.(T (R|X|S)首先把查詢涉及到的關(guān)系取來, 執(zhí)行笛卡爾積或自然聯(lián)接操作得到一張大的表格,然后對大表格執(zhí)行水平分割 ( 選擇 ) 和垂直分割 ( 投影 )操作。但是注意當(dāng)查詢涉及到否定或全部值時(shí),就不能用上述形式,而要用到差或除法操作。三、關(guān)系演算(領(lǐng)會(huì) )關(guān)系演算分為元組關(guān)系演算或域關(guān)系演算, 前者以元組為變量, 后者以域?yàn)樽兞?。元組演算表達(dá)式的一般形式為: t|P

15、(t) ,其含義為:這是一個(gè)元組集合,其中的每個(gè)元組t(t是元組變量)滿足公式P所規(guī)定的條件。所以在書寫演算表達(dá)式時(shí),應(yīng)該注重理解公式P如何表達(dá)。域演算表達(dá)式的一般形式為: t1.tk|P(t1.,tk), 其含義為: 這是一個(gè)域集合, 其中每個(gè)域變量的取值關(guān)系滿足公式 P 所規(guī)定的條件。也是注意公式 P 的表達(dá)。以上兩類演算需要一定的離散數(shù)學(xué)基礎(chǔ), 如果不能很深刻的掌握, 問題也不大, 主要應(yīng)看懂表達(dá)式即可, 對于給定的表達(dá)式和給定的關(guān)系,應(yīng)當(dāng)能計(jì)算表達(dá)式的結(jié)果( 得到一個(gè)關(guān)系 )四、查詢優(yōu)化 查詢優(yōu)化的目的就是為了系統(tǒng)在執(zhí)行時(shí)既省時(shí)間又能提高效率, 在關(guān)系代數(shù)運(yùn)算中, 通常是先進(jìn)行笛卡爾積

16、或聯(lián)接運(yùn)算, 再進(jìn)行選擇和投影,恰當(dāng)?shù)匕才胚x擇、投影和聯(lián)接的順序,就可實(shí)現(xiàn)查詢優(yōu)化。優(yōu)化的策略主要有以下幾點(diǎn):(1) 在關(guān)系代數(shù)表達(dá)式中盡可能早地執(zhí)行選擇操作( 早選擇 ).(2) 把笛卡爾積和隨后的選擇操作合并成F 聯(lián)接運(yùn)算 (F 聯(lián)接 )(3) 同時(shí)計(jì)算一連串的選擇和投影操作( 同時(shí)算 )(4) 保留同一子表達(dá)式的結(jié)果(5) 適當(dāng)對關(guān)系文件進(jìn)行預(yù)處理(6) 計(jì)算表達(dá)式之前先估計(jì)一下怎么計(jì)算合算。以上幾點(diǎn)需要理解。 根據(jù)表達(dá)式優(yōu)化的算法步驟對給定表達(dá)式進(jìn)行優(yōu)化第三章關(guān)系數(shù)據(jù)庫SQL語言本章為重點(diǎn)章,應(yīng)熟悉和掌握SQL的數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新的句法及其應(yīng)用, 特別是數(shù)據(jù)查詢的應(yīng)用。 結(jié)合

17、上機(jī)操作進(jìn)行理解和掌握。、SQL概述1、sql展歷程(識記)SQUARE言改為SEQUE語言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL0吉構(gòu)式查詢語言)雖然名為查詢,但實(shí)際上具有定義、查詢、更 新和控制等多種功能。2、SQLB據(jù)庫的體系結(jié)構(gòu)(領(lǐng)會(huì))SQ段據(jù)庫的體系結(jié)構(gòu)也是三級結(jié)構(gòu),但術(shù)語與傳統(tǒng)關(guān)系模型術(shù)語不 同,在SQL中,關(guān)系*II式稱為“基本表",存儲(chǔ)模式稱為“存儲(chǔ)文件", 子模式稱為 "視圖 " ,元組稱"行" ,屬性稱"列" 。SQLB據(jù)庫體系的結(jié)構(gòu)要點(diǎn)如下:(1) 一個(gè)SQL數(shù)據(jù)庫是表的匯集。(2) 一個(gè)SQ

18、Lg由行集構(gòu)成,行是列的序列,每列對應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。(3) 表或者是基本表,或者是視圖?;颈硎菍?shí)際存儲(chǔ)在數(shù)據(jù)庫中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。(4) 一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本表。存儲(chǔ)文件與物理文件對應(yīng)。 用戶可以用SQL®句對表進(jìn)行操作,包括視圖和基本表。(6)SQL 的用戶可以是應(yīng)用程序,也可以是終端用戶。3、SQL的組成(識記)SQL由四部分組成:(1)數(shù)據(jù)定義:SQL DDL定義SQLM式,基本表、視圖和索引。(2)數(shù)據(jù)操縱:SQL DML包括數(shù)據(jù)查詢和數(shù)據(jù)更新(增、刪、改)(3) 數(shù)據(jù)控制:包括對基本表和視圖

19、的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。(4)嵌入式SQL的使用規(guī)定。二、SQL的數(shù)據(jù)定義(簡單應(yīng)用)1、SQLM式的創(chuàng)建和撤消:SQL模式的創(chuàng)建可簡單理解為建立一個(gè)數(shù)據(jù)庫,定義一個(gè)存儲(chǔ)空間,其句法是:CREAT SCHEMA模式名 AUTHORIZATION用戶名撤消SQLM式的句法為:CASCADE|RESTRICT方括號中的選項(xiàng)參數(shù)CASCADE示連鎖方式,執(zhí)行時(shí)將模式下所有基 本表、視圖、索引等元素全部撤消。 RESTRICT!示約束式,執(zhí)行時(shí) 必須在SQL模式中沒有任何下屬元素時(shí)方可撤消模式。2、SQL供的基本數(shù)據(jù)類型數(shù)值型:包括integer 、 smallint 、 real 、

20、double precision 、float(n),numeric(p , d)字符串型: char(n) 、 varchar(n) ,前者是定長,后者為變長串位串型:bit(n),bit varying(n),同上。時(shí)間型:date 、 time 。3、基本表的創(chuàng)建、修改和撤消基本表的創(chuàng)建: ( 可理解為建立表結(jié)構(gòu) )CREAT TABLE SQ膜式名.基本表名( 列名,類型,完整性約束.)完整性約束包括主鍵子句(PRIMARYKEY卜檢查子句(CHECK和外鍵子句(Foreign KEY).基本表結(jié)構(gòu)的修改ALTER TABLES本表名ADD/DROP(!力"刪除)列名類型名(

21、增加時(shí)寫出 )刪除時(shí)有子句CASCADE|RESTRICT前者為連鎖刪除,后者為約束刪除,即沒有對本列的任何引用時(shí)才能刪除?;颈淼某废鸇ROP TABLES本表名CASCADE|RESTRICT4、視圖的創(chuàng)建和撤消創(chuàng)建:CREAT VIEW視圖名(列名表)AS SELECT查詢語句撤消:DROP VIEW視圖名5、索引的創(chuàng)建和撤消創(chuàng)建:CREAT UNIQUE INDE燎引名ON基本表名(列名表ASC|DESC)撤消:DROP INDE臻引名總結(jié):凡創(chuàng)建都用CREAT刪除都用DRO改變用alter,再跟類型和名字,附加子句很容易了。三、SQL的數(shù)據(jù)查詢(綜合應(yīng)用)這一段是本章的重點(diǎn)內(nèi)容,應(yīng)該

22、熟練掌握。首先了解基本句法:1、SELECT-FROM-WHERESELECTS名表(逗號隔開)FROM基本表或視圖序列 WHER磔件表達(dá)式在這里,重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用,如=, >,<,<>等算術(shù)比較運(yùn)算符、邏輯運(yùn)算符 AND OR NOT集合成員資格運(yùn)算符: IN , NOTIN,以及嵌套的SELEC曲句的用法要特別注意理解。針對課本的例題和課后習(xí)題進(jìn)行掌握。在查詢時(shí),SELEC幫句可以有多種寫法,如聯(lián)接查詢、嵌套查詢和使用存在量詞的嵌套查詢等。 最好都掌握, 但是起碼應(yīng)能寫出一種正確的查詢語句。2.SELECT語句完整的句法:SELECTS名表(逗

23、號隔開)FRO睚本表或視圖序列WHER磔件表達(dá)式(此為和條件子句) GROUP BYJ名序列(分組子句)HAVING組條件表達(dá)式(組條件子句)ORDER B洌名ASC|DESC.(排序子句)這段關(guān)于完整句法的內(nèi)容能夠理解也就問題不大了。3、SELEC曲句中的限定這一段內(nèi)容主要是對SELEC話句進(jìn)一步使用進(jìn)行的深入學(xué)習(xí),領(lǐng)會(huì) 下列各種限定的使用目的和方法。要求輸出表格中不出現(xiàn)重復(fù)元組,則在 SELECTED DISTINCTSELECT子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達(dá)式WHEREF句中可以用BETWEENAND來限定一個(gè)值的范圍同一個(gè)基本表在SELECT®句中多次弓I用時(shí)可

24、用 AS來增加別名WHERE句中字符串匹配用LIKE和兩個(gè)通配符,嗨口下劃線.查詢結(jié)果的結(jié)構(gòu)完全一致時(shí)可將兩個(gè)查詢進(jìn)行并 (UNION茂 (INTERSEC偌(EXCPT臊作查詢空值操作不是用 ='null', 而是用 IS NULL 來測試。集合成員資格比較用IN/NOT IN ,集合成員算術(shù)比較用元組0 SOME/ALL可以用子查詢結(jié)果取名 (表名 (列名序列 ) 來作為導(dǎo)出表使用基本表的自然聯(lián)接操作是用 NATURAL INNER JOI陳實(shí)現(xiàn)的。四、SQL的數(shù)據(jù)更新(簡單應(yīng)用)簡單應(yīng)用就是掌握基本的句型并能套用在一些簡單的查詢要求上。1、數(shù)據(jù)插入:INSERT INTO

25、基本表名(列名表)valueS ( 元組值 )或INSERT INTO基本表名(列名表)SELECTg詢語句其中元組值可以連續(xù)插入。用查詢語句可以按要求插入所需數(shù)據(jù)。2、數(shù)據(jù)刪除:DELETE FRO座本表名WHER磔件表達(dá)式 3、數(shù)據(jù)修改:UPDAT理本表名SET 列名=值表達(dá)式, 列名=值表達(dá)式.WHER磔件表達(dá)式4、對視圖的更新:我們知道, 對視圖的查詢是和基本表相同的, 但是更新操作則受到下列三條規(guī)則的限制: ( 領(lǐng)會(huì)一下 )如果視圖是從多個(gè)基本表使用聯(lián)接操作導(dǎo)出的,則不允許更新。如果導(dǎo)出的視圖使用了分組和聚合操作,也不允許更新。如果視圖是從單個(gè)基本表使用選擇和投影操作導(dǎo)出的, 并且包

26、括了基本表的主鍵或某個(gè)候選鍵,則可以執(zhí)行操作。 ( 這就相當(dāng)于在基本表上操作 ) 。這一節(jié)的關(guān)于增刪改的操作要和前面關(guān)于數(shù)據(jù)庫模式、 表的增刪改操作進(jìn)行對比學(xué)習(xí),以加深理解。不要忘記上機(jī)實(shí)踐。第四章_關(guān)系數(shù)據(jù)庫的模式設(shè)計(jì)本章的理論性較強(qiáng), 學(xué)習(xí)時(shí)有無從下手的感覺, 在學(xué)習(xí)時(shí)應(yīng)多加思考,從概念出發(fā)去理解理論, 前后的理論有較強(qiáng)的聯(lián)系, 因此要逐個(gè)理解,但對于理論的證明等內(nèi)容則不必深究, 本章重點(diǎn)是函數(shù)依賴, 無損聯(lián)接、保持依賴和范式的概念。一、關(guān)系模式的設(shè)計(jì)問題 ( 識記 )關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫, 它利用關(guān)系來描述現(xiàn)實(shí)世界。 一個(gè)關(guān)系既可以用來描述一個(gè)實(shí)體及其屬性, 也可以用來描

27、述實(shí)體間的聯(lián)系。關(guān)系實(shí)質(zhì)上就是一張二維表,表的行稱為元組,列稱為屬性。關(guān)系模式是用來定義關(guān)系的, 這里的關(guān)系模式我們可以簡單地理解為一個(gè)表的結(jié)構(gòu), 一個(gè)關(guān)系數(shù)據(jù)庫包含一組關(guān)系, 也就是包含一組二維表,這些二維表結(jié)構(gòu)體的集合就構(gòu)成數(shù)據(jù)庫的模式 ( 也可以理解為數(shù)據(jù)庫的結(jié)構(gòu)) 。關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論包括三個(gè)方面內(nèi)容:數(shù)據(jù)依賴、范式、模式設(shè)計(jì)方法。核心內(nèi)容是數(shù)據(jù)依賴。泛關(guān)系模式:把現(xiàn)實(shí)問題的所有屬性組成一個(gè)關(guān)系模式 R(U) ,這個(gè)關(guān)系模式就稱為泛關(guān)系模式。數(shù)據(jù)庫模式:把泛關(guān)系模式用一組關(guān)系模式的集合P來表示時(shí),這個(gè)P就是數(shù)據(jù)庫模式。下面我們總結(jié)一下關(guān)系模式的相關(guān)內(nèi)容從"大" 到&

28、quot;小" 的排列 泛關(guān)系模式-數(shù)據(jù)庫模式-關(guān)系數(shù)據(jù)庫-表結(jié)構(gòu)-關(guān)系模式實(shí)例(表)記錄(行、歹!J.)關(guān)系模式的存儲(chǔ)異常: 數(shù)據(jù)冗余、更新異常、插入異常和刪除異常二、函數(shù)依賴 (FD)1、函數(shù)依賴的定義( 領(lǐng)會(huì) ) :設(shè)有關(guān)系模式R(A1, A2, .An) 或簡記為R(U), X, Y是U的子集,r是R的任一具體關(guān)系,如果對r的任意兩個(gè)元組t1,t2, 由 t1X=t2X 導(dǎo)致 t1Y=t2Y ,則稱 X 函數(shù)決定Y,或Y函數(shù)依賴于X,記為X-Y。X-Y為模式R的一個(gè)函數(shù)依賴。這個(gè)定義可以這樣理解:有一張?jiān)O(shè)計(jì)好的二維表,X, Y 是表的某些列(可以是一列,也可以是多列 ) ,若

29、在表中的第 t1 行,和第 t2 行上的 X 值相等,那么必有 t1 行和 t2 行上的Y 值也相等,這就是說 Y 函數(shù)依賴于X。如下圖所示:A1A2A非目名(X)課程A6A7網(wǎng)立if名(Y) t1 曉津?qū)跀?shù)據(jù)庫原理計(jì)算機(jī)自考自考試卷計(jì)算機(jī)自考t2 曉津?qū)跀?shù)據(jù)結(jié)構(gòu)計(jì)算機(jī)自考自考試卷計(jì)算機(jī)自考t3 曉津?qū)诿嫦驅(qū)ο笥?jì)算機(jī)自考自考試卷計(jì)算機(jī)自考在表中,凡欄目名相同的,對應(yīng)的網(wǎng)站名也必是相同的,則此時(shí)說欄目名函數(shù)決定網(wǎng)站名,或" 網(wǎng)站名"函數(shù)依賴于"欄目名 "。 但是反過來不一定,網(wǎng)站名相同時(shí)并不一定欄目名相同,所以這里的Y-X是不成立的。要特別注意的是,

30、在這張表中,任何一行的關(guān)系均應(yīng)符合上述條件,如果有一行不符合函數(shù)依賴的條件, 則函數(shù)依賴對于這個(gè)關(guān)系就不成立。還有應(yīng)該了解的是, 函數(shù)依賴是否成立是不可證明的, 只能通過屬性的含義來判斷,上述表是一個(gè)關(guān)系實(shí)例,可以一條條進(jìn)行驗(yàn)證,但是對于模式設(shè)計(jì)來說, 開始時(shí)并沒有數(shù)據(jù)插入, 我們只能從屬性的含義出發(fā),如這個(gè)關(guān)系模式不僅是指一個(gè)站點(diǎn),而是包括所有站點(diǎn),則有可能出現(xiàn)相同的欄目名而網(wǎng)站名不是一樣的情況,那么 "欄目名一網(wǎng)站名 "這個(gè)函數(shù)依賴就不成立了。上述例子可對照課本理論進(jìn)行領(lǐng)會(huì)。2、函數(shù)依賴的邏輯蘊(yùn)涵 ( 識記 )設(shè)F是關(guān)系模式R的一個(gè)函數(shù)依賴集,X,Y是R的屬性子集,如果

31、從F中的函數(shù)依賴能夠推出X-Y,則稱F邏輯蘊(yùn)涵X-Y,記為F|=X-Y.如前面的例子,如果還有一屬性" 網(wǎng)址 (Z)" ,且網(wǎng)站名是唯一的,那么,"網(wǎng)站名一網(wǎng)址"成立,同時(shí)已知 "專欄名一網(wǎng)站名"成立,根據(jù)我們對事實(shí)的掌握,可知"專欄名一網(wǎng) 址”也是成立的。所以在這里,設(shè) F=網(wǎng)站名(Y)-網(wǎng)址(Z),專欄名 (X)一網(wǎng)站名(Y),則F邏輯蘊(yùn)涵”專欄名(X)-網(wǎng)址(Z)”。而函數(shù)依賴的閉包F堤指被F邏輯蘊(yùn)涵的函數(shù)依賴的全體構(gòu)成的集合。3、鍵和FD的關(guān)系(領(lǐng)會(huì))鍵是唯一標(biāo)識實(shí)體的屬性集。 對于鍵和函數(shù)依賴的關(guān)系: 有兩個(gè)條件:

32、設(shè)關(guān)系模式R(A1,A2.An) , F是R上的函數(shù)依賴集,X是R的一個(gè)子集,(1)X-A1A2An 6 F+ (它的意思是X能夠決定唯一的一個(gè)元組) 不存在X的真子集Y,使得Y也能決定唯一的一個(gè)元組,則 X就是 R 的一個(gè)候選鍵。 ( 它的意思是X 能決定唯一的一個(gè)元組但又沒有多余的屬性集)包含在任何一個(gè)候選鍵中的屬性稱為主屬性, 不包含在任何鍵中的屬性為非主屬性(非鍵屬性) ,注意主屬性應(yīng)當(dāng)包含在候選鍵中。4、函數(shù)依賴(FD)的推理規(guī)則(簡單應(yīng)用)前面我們舉的例子中是以實(shí)際經(jīng)驗(yàn)來確定一個(gè)函數(shù)依賴的邏輯蘊(yùn)涵,但是我們需要一個(gè)推理規(guī)則才能完全確定F或F+的所有函數(shù)依賴。設(shè)有關(guān)系模式R(U),

33、X, Y, Z, W均是U的子集,F(xiàn)是R上只涉及到U 中屬性的函數(shù)依賴集,推理規(guī)則如下:自反律:如果Y X U,則X-Y在R上成立。增廣律:如果X-Y為F所蘊(yùn)涵,Z U,則XZYZ在R上成立。(XZ 表示XU Z,下同)傳遞律:如果X-Y和"工在R上成立,則X-Z在R上成立。合并律:如果X-Y和X-Z成立,那么X-YZ成立。偽傳遞律:如果X-Y和 WY-Z 成立,那么WX-Z 成立。分解律:如果X-Y和 Z Y 成立,那么X-Z 成立。5、函數(shù)依賴推理規(guī)則的完備性( 識記 )函數(shù)依賴推理規(guī)則系統(tǒng)( 自反律、增廣律和傳遞律) 是完備的。 由推理規(guī)則的完備性可得到兩個(gè)重要結(jié)論:屬性集X+

34、中的每個(gè)屬性A,都有X-A被F邏輯蘊(yùn)涵,即X+M所有由 F 邏輯蘊(yùn)含X-A的屬性 A 的集合。F+是所有利用Amstrong推理規(guī)則從F導(dǎo)出的函數(shù)依賴的集合6、函數(shù)依賴集的等價(jià)和覆蓋( 識記 )在關(guān)系模式R(U)上的兩個(gè)函數(shù)依賴集F和G,如果滿足F+=G+則稱F和G是等價(jià)的,稱F和G等價(jià)也稱F覆蓋G或G覆蓋F。每個(gè)函數(shù)依賴集F都可以被一個(gè)右部只有單屬性的函數(shù)依賴集G所覆蓋。如果函數(shù)依賴集合F 滿足:(1)F 中每一個(gè)函數(shù)依賴的右部都是單屬性;(2)F中的任一函數(shù)依賴X-A,其F-X-A是不等價(jià)的;(3)F中的任一函數(shù)依賴X-A, Z為X的子集。(F-X-A) UZ-A 與 F 不等價(jià)。則稱 F

35、 為最小函數(shù)依賴集合。如果函數(shù)依賴集F和G等價(jià),并且G是最小集,那么稱G是F的一個(gè) 最小覆蓋。這一段并不要求掌握最小集的求法, 但是應(yīng)當(dāng)通過其求法理解最小集的概念。三、關(guān)系模式的分解特性1、模式分解中存在的問題: ( 識記 )模式分解就是將一個(gè)泛關(guān)系模式R分解成數(shù)據(jù)庫模式p ,以p代替R的過程。它不僅僅是屬性集合的分解,它是對關(guān)系模式上的函數(shù)依 賴集、以及關(guān)系模式的當(dāng)前值分解的具體表現(xiàn)。分解一個(gè)模式有很多方法, 但是有的分解會(huì)出現(xiàn)失去函數(shù)依賴、 或出 現(xiàn)插入、刪除異常等情況,而有的分解則不出現(xiàn)相關(guān)問題。衡量一個(gè)分解的標(biāo)準(zhǔn)有三種: 分解具有無損聯(lián)接; 分解要保持函數(shù)依賴;分解既要保持依賴,又要具

36、有無損聯(lián)接。那么什么是無損聯(lián)接呢什么又是保持依賴2、無損聯(lián)接的定義和性質(zhì)( 識記 )設(shè)R是一關(guān)系模式,分解成p =R1,R2,Rk , F是R上的一個(gè)函 數(shù)依賴集。無損聯(lián)接就是指R中每一個(gè)滿足F的關(guān)系r(也就是一個(gè) 關(guān)系實(shí)例)都有r=兀R1(r)|X|兀R2(r)兇 兀R3(r),即r為它在Ri 上的投影的自然聯(lián)接。最簡單的理解, 也就是說, 分解后的關(guān)系自然連接后完全等于分解前的關(guān)系,則這個(gè)分解相對于 F 是無損聯(lián)接分解。設(shè)R的分解為p=R1,R2,F為R所滿足的函數(shù)依賴集,則分解p具 有無損聯(lián)接性的充分必要條件是:R1A R2H(R1-R2)R1A R2H(R2-R1)也就是說,分解后的兩

37、個(gè)模式的交能決定這兩個(gè)模式的差集即R1、Rr 的公共屬性能夠函數(shù)決定R1 或 R2 中的其他屬性,這樣的分解就必定是無損聯(lián)接分解。3、保持函數(shù)依賴的分解( 識記 )在分解過程中, 要求模式分解的無損聯(lián)接是必要的, 只有無損聯(lián)接分解才能保證任何一個(gè)關(guān)系能由它的那些投影進(jìn)行自然聯(lián)接得到恢復(fù)。同時(shí), 分解關(guān)系模式時(shí)還應(yīng)保證關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫模式中保持不變, 這就是保持函數(shù)依賴的問題。 也就是所有分解出的模式所滿足的函數(shù)依賴的全體應(yīng)當(dāng)?shù)葍r(jià)于原模式的函數(shù)依賴集。只有這樣才能確保整個(gè)數(shù)據(jù)庫中數(shù)據(jù)的語義完整性不受破壞。四、關(guān)系模式的范式( 領(lǐng)會(huì) )1、 1NR 2NR 3NR BCN用勺

38、定義:1NF:第一范式。即關(guān)系模式中的屬性的值域中每一個(gè)值都是不可再分解的值。 如果某個(gè)數(shù)據(jù)庫模式都是第一范式的, 則稱該數(shù)據(jù)庫模式是屬于第一范式的數(shù)據(jù)庫模式。串講筆記 =作者,課程 ,若有這樣幾行記錄:作者課程曉津數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理阿貓網(wǎng)絡(luò)與通信這時(shí)的第一條記錄就表示本關(guān)系模式不是1NF的,因?yàn)檎n程中的值域還是可以分解的,它包括了兩門課程,如分為:作者課程曉津數(shù)據(jù)結(jié)構(gòu)曉津數(shù)據(jù)庫原理就成為第一范式的關(guān)系模式。2NF:第二范式。如果關(guān)系模式R為第一范式,并且R中每一個(gè)非主屬性完全函數(shù)依賴于 R 的某個(gè)候選鍵,則稱為第二范式模式。在這里要先了解"非主屬性 " 、 "

39、完全函數(shù)依賴 "、 "候選鍵 "這三個(gè)名詞的含義。候選鍵就是指可以唯一決定關(guān)系模式R 中某元組值且不含有多余屬性的屬性集。非主屬性也就是非鍵屬性, 指關(guān)系模式R 中不包含在任何建中的屬性。設(shè)有函數(shù)依賴 WA,若存在X W 有X-A成立,那么稱 W>A是局部 依賴,否則就稱V-A是完全函數(shù)依賴。在分析是否為第 2 范式時(shí), 應(yīng)首先確定候選鍵, 然后把關(guān)系模式中的非主屬性與鍵的依賴關(guān)系進(jìn)行考察, 是否都為完全函數(shù)2 覽擔(dān)縭牽虼斯叵的J轎NF。如果數(shù)據(jù)庫模式中每個(gè)關(guān)系模式都是 2NF的,則此數(shù)據(jù)庫模式屬于2NF的數(shù)據(jù)eBF悖J健3NF:第三范式。如果關(guān)系模式R是第

40、二范式,且每個(gè)非主屬性都不傳遞依賴于 R的候 選鍵,則稱R為第三范式的模式。這里首先要了解傳遞依賴的含義: 在關(guān)系模式中, 如果 Y-X, X-A,且X不決定Y和A不屬于X,那么Y-A是傳遞依賴。注意的是,這里要求非主屬性都不傳遞依賴于候選鍵。BCNF這個(gè)范式和第三范式有聯(lián)系,它是3NF的改進(jìn)形式。若關(guān)系模式 R 是第一范式,且每個(gè)屬性都不傳遞依賴于R 的候選鍵。 這種關(guān)系模式就是BCN蟆式??v觀四種范式,可以發(fā)現(xiàn)它們之間存在如下關(guān)系:BCNF 3NF 2NF 1NF1NF;消去非主屬性對鍵的部分函數(shù)依賴2NF;消去非主屬性對鍵的傳遞函數(shù)依賴3NF;消去主屬性對鍵的傳遞函數(shù)依賴BCNF5、分解

41、成BCNF莫式集的算法(識記)對于任一關(guān)系模式,可找到一個(gè)分解達(dá)到3N且具有無損聯(lián)接和保持函數(shù)依賴性。而對于BCN吩解,則可以保證無損聯(lián)接但不一定能 保證保持函數(shù)依賴集。無損聯(lián)接分解成BCN艘式集的算法:置初值p =R;(2)如果p中所有關(guān)系模式都是BCNF則轉(zhuǎn)(4);如果p中有一個(gè)關(guān)系模式S不是BCNF則S中必能找到一個(gè)函 數(shù)依賴集X-A有X不是S的鍵,且A不屬于X,設(shè)S1=XA S2=S-A, 用分解S1,S2代替S,轉(zhuǎn)(2);(4) 分解結(jié)束。輸出 在這個(gè)過程中,重點(diǎn)在于(3)步,判斷哪個(gè)關(guān)系不是BCNF并找到X 和A。這里,S的判斷用BCNF勺定義,而X不是S的鍵則依靠分析。6、分解成

42、3NF模式集(識記)算法:(1)如果R中的某些屬性在F的所有依賴的左邊和右邊都不出現(xiàn),那么這些屬性可以從R 中分出去,單獨(dú)構(gòu)成一個(gè)關(guān)系模式。如果F中有一個(gè)依賴X-A有XZR,則p =R,轉(zhuǎn)(4)(3)對于F中每一個(gè)X-A,構(gòu)成一個(gè)關(guān)系模式XA,如果F有有X-A1,X A2.X An,則可以用模式 XA1A2An代替n個(gè)模式XA1,XA2.XAn;(4)w分解結(jié)束,輸入p。這個(gè)過程的重點(diǎn)是這一句"對于F中每一個(gè)X A,構(gòu)成一個(gè)關(guān)系模式XA", 這使我們的分解十分容易,然后依據(jù)合并律( 合并律:如果 X-Y和X-Z成立,那么X-YZ成立)將有關(guān)模式合并即得到所需3NF模式。7、

43、模式設(shè)計(jì)方法的原則( 識記 )關(guān)系模式R相對于函數(shù)依賴集F分解成數(shù)據(jù)庫模式p=R1,R2.Rk,一般具有下面四項(xiàng)特性:P中每個(gè)關(guān)系模式Ri上應(yīng)具有某種范式性質(zhì)(3NF或BCNF)無損聯(lián)接性。保持函數(shù)依賴集。最小性,即P中模式個(gè)數(shù)應(yīng)最少且模式中屬性總數(shù)應(yīng)最少。一個(gè)好的模式設(shè)計(jì)方法應(yīng)符合下列三條原則:表達(dá)性分離性最小冗余性8、多值依賴。簡單了解一下。第五章_數(shù)據(jù)庫設(shè)計(jì)與上一章不同, 本章的實(shí)用性較強(qiáng), 詳細(xì)講述了數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的全過程。重點(diǎn)是概念設(shè)計(jì)中ER模型的設(shè)計(jì)方法,邏輯設(shè)計(jì)中ER模 型向關(guān)系模型的轉(zhuǎn)換方法。一、數(shù)據(jù)庫設(shè)計(jì)概述( 識記 )1、軟件生存期:是指從軟件的規(guī)劃、研制、實(shí)現(xiàn)、投入運(yùn)

44、行后的維護(hù)、 直到它被新的軟件所取代而停止使用的整個(gè)期間。 它包括六個(gè)階段: ( 規(guī)需設(shè)編試運(yùn)維) (1) 規(guī)劃階段(2) 需求分析階段(3) 設(shè)計(jì)階段(4) 程序編制階段(5) 調(diào)試階段(6) 運(yùn)行維護(hù)階段2、數(shù)據(jù)庫系統(tǒng)生存期數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)也是一項(xiàng)軟件工程, 稱為數(shù)據(jù)庫工程, 數(shù)據(jù)庫應(yīng)用系統(tǒng)也有生存期的概念,通常包括七個(gè)階段:(1) 規(guī)劃階段(2) 需求分析階段(3) 概念設(shè)計(jì)階段(4) 邏輯設(shè)計(jì)階段(5) 物理設(shè)計(jì)階段(6) 實(shí)現(xiàn)階段(7) 運(yùn)行維護(hù)階段3、數(shù)據(jù)庫設(shè)計(jì)方法學(xué)一個(gè)好的數(shù)據(jù)庫設(shè)計(jì)方法應(yīng)該能在合理的期限內(nèi), 以合理的工作量產(chǎn)生一個(gè)有實(shí)用價(jià)值的數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的

45、設(shè)計(jì)分為以下幾個(gè)階段:規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)。二、規(guī)劃 ( 識記 )數(shù)據(jù)設(shè)計(jì)中的規(guī)劃階段的主要任務(wù)是進(jìn)行建立數(shù)據(jù)庫的必要性及可性性分析,確定數(shù)據(jù)庫系統(tǒng)在組織中和組織中和信息系統(tǒng)中的地位,以及各個(gè)數(shù)據(jù)庫之間的聯(lián)系。三、需求分析(識記 )需求分析階段應(yīng)對系統(tǒng)的整個(gè)應(yīng)用情況作全面的、 詳細(xì)的調(diào)查、 確定用戶的目標(biāo), 收集支持系統(tǒng)總的設(shè)計(jì)目標(biāo)的基礎(chǔ)數(shù)據(jù)和對這些數(shù)據(jù)的要求, 確定用戶需求, 并把這些要求寫成用戶和數(shù)據(jù)庫設(shè)計(jì)者都能夠接受的文檔。確定用戶需求可以通過對不同層次的企業(yè)管理人員進(jìn)行個(gè)人訪問得到。 還應(yīng)了解系統(tǒng)將來要發(fā)生的變化, 充分考慮系統(tǒng)的可能的擴(kuò)充和變動(dòng),使系統(tǒng)設(shè)計(jì)更符

46、合未來發(fā)展方向。需求分析的步驟大致分為三步: 即需求信息的收集、 分析整理和評審。數(shù)據(jù)字典: 是對系統(tǒng)中數(shù)據(jù)的詳盡描述, 它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它包含以下幾個(gè)部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和加工過程。四、概念設(shè)計(jì)(識記 )1、概念模型:可以看成是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)過渡的中間層次。 在設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí), 要把現(xiàn)實(shí)世界的事物通過認(rèn)識和抽象轉(zhuǎn)換為信息世界的概念模型,再把概念模型轉(zhuǎn)換為機(jī)器世界的數(shù)據(jù)模型。2、概念設(shè)計(jì)的主要步驟:分三步完成:(1) 進(jìn)行數(shù)據(jù)抽象,設(shè)計(jì)局部概念模式; (2) 將局部概念模式綜合成全局概念模式; (3) 評審。3、數(shù)據(jù)抽象:數(shù)據(jù)抽象的兩種形式:聚

47、集和概括:聚集:其數(shù)學(xué)意義就是笛卡爾積的概念,通過聚集,形成對象之間的一個(gè)聯(lián)系對象。如有一些對象:" 老師,課程, 班級 , 上課時(shí)間 " ,通過聚集可以得到一個(gè)聯(lián)系對象"課程表 " 。聚集表示的是 "is_part_of"的關(guān)系。概括:是從一類其他對象形成一個(gè)對象。如有桃樹、李樹、杏樹等對象, 我們通過概括或以得到一個(gè)對象" 樹" 。 概括表示的是"is_a" 的關(guān)系,如 "李樹 "是一種"樹" 。4、基本ER模型的擴(kuò)展(領(lǐng)會(huì))ER(實(shí)體聯(lián)系)模型是對現(xiàn)

48、實(shí)世界的一種抽象,它的主要成份是實(shí)體、聯(lián)系和屬性。但是在現(xiàn)實(shí)世界中還有一些特殊的語義。需要擴(kuò)展ER模型的概念才能更好地模擬現(xiàn)實(shí)世界。依賴聯(lián)系: 在現(xiàn)實(shí)世界中, 有些實(shí)體對一另一些實(shí)體有很強(qiáng)的依賴關(guān)系,即一個(gè)實(shí)體的存在必須以另一實(shí)體的存在為前提。前者就稱為 "弱實(shí)體 " ,如在人事管理系統(tǒng)中,職工子女的信息就是以職工的存在為前提的,子女實(shí)體是弱實(shí)體,子女與職工的聯(lián)系是一種依賴聯(lián)系。在ER圖中用雙線框表示弱實(shí)體。用箭頭表示依賴聯(lián)系。子類: 在現(xiàn)實(shí)中, 存在某個(gè)實(shí)體類型中所有實(shí)體同時(shí)也是另一實(shí)體類型中的實(shí)體,此時(shí),我們稱前一實(shí)體類型為者的子類,后一實(shí)體類型稱為超類。子類有一個(gè)很重

49、要的性質(zhì)繼承性。在ER圖中,超類用兩端雙線框表示,并用加圈的線與子類相連。5、ER模型的操作(領(lǐng)會(huì))ERJI型在數(shù)據(jù)庫概念設(shè)計(jì)過程中經(jīng)常需要進(jìn)行變換,包括實(shí)體類型、聯(lián)系類型和屬性的分裂、合并和增刪等。實(shí)體類型的分裂包括垂直分割、水平分割。注意在垂直分割時(shí), 鍵必須在分裂后的每個(gè)實(shí)體類型中出現(xiàn)。 在聯(lián)系類型合并時(shí),所合并的聯(lián)系類型必須是定義在相同的實(shí)體類型中。6、采用ER方法的數(shù)據(jù)庫概念設(shè)計(jì)(領(lǐng)會(huì))采用ER方法進(jìn)行數(shù)據(jù)庫概念設(shè)計(jì)分成三步進(jìn)行: 首先設(shè)計(jì)局部ER模式然后把各局部ER模式綜合成全局ER模式最后對全局ER模式進(jìn)行優(yōu)化五、邏輯設(shè)計(jì)1、概念設(shè)計(jì)的結(jié)果是得到一個(gè)與 DBMSE關(guān)的概念模式。而

50、邏輯設(shè)計(jì) 的目的是把概念設(shè)計(jì)階段設(shè)計(jì)好的基本 ER圖轉(zhuǎn)換為與選用的具體機(jī) 器上的DBM新支持的數(shù)據(jù)模式相符合的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫模式 和外模式 ) 。第六章_數(shù)據(jù)庫保護(hù)本章不是重點(diǎn)章節(jié), 主要內(nèi)容包括數(shù)據(jù)庫保護(hù)的四種措施, 數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、完整性和安全性。了解這些內(nèi)容及其在 SQL語言中 的實(shí)現(xiàn)方式。一、數(shù)據(jù)庫的恢復(fù)(領(lǐng)會(huì) )1、事務(wù)的概念:事務(wù)是一個(gè)操作序列。這些操作要么什么都做,要么都不做,是一個(gè)不可分割的工作單位。事務(wù)以 BEGINTRANSACTION句開始,以COMMITg交)語句或ROLLBACK)退或撤 消)語句結(jié)束。一個(gè)程序的執(zhí)行可通過若干事務(wù)的執(zhí)行序列來完成。2、事

51、務(wù)的性質(zhì):原子性(atomicity) 、一致性 (consistency) 、隔離性(isolation)和持久性(durability) 。稱為事務(wù)的ACID性質(zhì)。通過教材的例子來理解事務(wù)的性質(zhì)。3、故障類型和恢復(fù)方法故障類型恢復(fù)方法事務(wù)故障應(yīng)用程序自動(dòng)進(jìn)行恢復(fù)系統(tǒng)故障重新啟動(dòng)時(shí)則恢復(fù)子系統(tǒng)將所有7欽As終止的事務(wù)回退,恢復(fù)到正確狀態(tài)。介質(zhì)故障通過DBMSE其他務(wù)份磁盤或第三級介質(zhì)中的內(nèi)8菰俑Bt制回來4、恢復(fù)的基本原則和實(shí)現(xiàn)方法恢復(fù)的基本原則很簡單,就是"冗余 " ,即數(shù)據(jù)的重復(fù)存儲(chǔ)。實(shí)現(xiàn)方法有:(1) 定期對數(shù)據(jù)庫進(jìn)行復(fù)制或轉(zhuǎn)儲(chǔ) (dump) 。 注意幾個(gè)概念: 靜

52、態(tài)轉(zhuǎn)儲(chǔ)、動(dòng)態(tài)轉(zhuǎn)儲(chǔ)、海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ)。(2) 建立 " 日志 "文件。(3) 恢復(fù)。發(fā)生故障時(shí)有兩種處理方法,如數(shù)據(jù)庫已破壞,則由 DBA裝入最近備份的數(shù)據(jù)庫然后利用“日志文件"執(zhí)行REDC®做)操作。如數(shù)據(jù)庫未被損壞,但某些數(shù)據(jù)不可靠,則系統(tǒng)會(huì)自動(dòng)執(zhí)行UNDO!作恢復(fù)數(shù)據(jù)。5、運(yùn)行記錄優(yōu)先原則( 即先記錄,再更新,先記完,再結(jié)束)(1) 至少要等相應(yīng)的運(yùn)行記錄已經(jīng)寫入 " 日志 "文件后,才能允許事務(wù)往數(shù)據(jù)庫在寫數(shù)據(jù)。(2) 直到事務(wù)的所有運(yùn)行記錄都已寫入運(yùn)行" 日志 "文件后,才能允許事務(wù)完成"END

53、 TRANSACTION®。6、SQL中的恢復(fù)操作,可上機(jī)觀察。二、數(shù)據(jù)庫的并發(fā)控制(領(lǐng)會(huì) )1、并發(fā)控制帶來的三類問題:(1) 丟失更新的問題(2) 不一致分析問題(3)" 臟數(shù)據(jù) " 的讀出。 (在數(shù)據(jù)庫技術(shù)中, 未提交的隨后又被撤消的數(shù)據(jù)為 "臟數(shù)據(jù) " 。 )2、為解決并發(fā)控制帶來的問題,通常要采用封鎖(locking) 技術(shù),常用的封鎖有:排它型封鎖 (X 封鎖 )和共享型封鎖 (S 封鎖 ) 兩種。X封鎖的規(guī)則稱為PX協(xié)議,其內(nèi)容為:任何企圖更新記錄 R的事務(wù)必須先執(zhí)行LOCKX(R)操作,以獲得對該記錄進(jìn)行尋址的能力,并對它取得

54、X封鎖。如果未獲得 X 封鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)X 封鎖,事務(wù)繼續(xù)進(jìn)行。簡記為:先鎖X,再執(zhí)行,取不到,就等待。PXCB議:它由PX協(xié)議及一條規(guī)則”X封鎖必須保留到事務(wù)終點(diǎn)(COMMI械 ROLLBACK群成。S封鎖的規(guī)則稱為PS協(xié)議:其內(nèi)容為:任何要更新記錄 R的事務(wù)必須先執(zhí)行 LOCKS(R)操作,以獲得對該記錄尋址的能力并對它取得 S封鎖。如果未獲準(zhǔn) S 封鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)S 封鎖,事務(wù)才繼續(xù)進(jìn)行下去。當(dāng)事務(wù)獲準(zhǔn)對記錄R的要封鎖后,在記錄R修改前必 須把S封鎖升級為X封鎖。簡記為:先鎖S,再執(zhí)行,鎖不到,就等待,若要修改則升X。PSCB議:由PS

55、協(xié)議和"將S封鎖保持到事務(wù)終點(diǎn)"組成。3、活鎖:是指某個(gè)事務(wù)永遠(yuǎn)處于等待狀態(tài),得不到執(zhí)行的現(xiàn)象。避免活鎖的方法是采用 "先來先服務(wù)"策略。死鎖: 有兩個(gè)或以上的事務(wù)處于等待狀態(tài), 每個(gè)事務(wù)都在等待另一個(gè)事務(wù)解除封鎖, 它才能繼續(xù)執(zhí)行下去, 結(jié)果任何一個(gè)事務(wù)都無法執(zhí)行,這種現(xiàn)象就是死鎖。解除死鎖的方法是由DBM外的"死鎖測試程序"來檢查,如發(fā)現(xiàn)死鎖則犧牲一個(gè)事務(wù),并做回退操作 , 解除它的所有封鎖。4、兩段封鎖法( 識記 )兩段封鎖協(xié)議規(guī)定所有事務(wù)都要遵守下列規(guī)則: (1) 在對任何數(shù)據(jù)進(jìn)行讀寫操作之前,事務(wù)首先要獲得對該數(shù)據(jù)的封鎖;

56、(2) 在釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖。針對課本的例子來理解。三、數(shù)據(jù)庫的完整性( 領(lǐng)會(huì) )1、數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫中數(shù)據(jù)發(fā)生錯(cuò)誤,往往是由非法更新引起的。數(shù)據(jù)庫完整性是通過DBMS勺完整性子系統(tǒng)實(shí)現(xiàn)的,它有兩個(gè)功能:(1) 監(jiān)督事務(wù)的執(zhí)行,并測試是否違反完整性規(guī)則。(2) 如有違反,則采取恰當(dāng)?shù)牟僮?,如拒絕、報(bào)告違反情況,改正錯(cuò)誤等方法進(jìn)行處理。數(shù)據(jù)庫完整性子系統(tǒng)是根據(jù)"完整性規(guī)則集"工作的,這些完整性規(guī)則包括:域完整性規(guī)則、域聯(lián)系的規(guī)則、關(guān)系完整性規(guī)則 ( 一個(gè)比一個(gè)大) 2、SQL中的完整性約束在SQL中,表達(dá)完整性約束的規(guī)則有主鍵約束、外鍵約束、屬性值約束和全局約束等多種形式。主鍵約束:可用主鍵子句或主鍵短語 PRIMARY KE侏定義。外鍵約束: 可用外鍵子句來

溫馨提示

  • 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

提交評論