成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

數(shù)量方法

第一章 數(shù)據(jù)庫(kù)概論一、數(shù)據(jù)管理技術(shù)的發(fā)展階段(識(shí)記) 數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫(kù)階段:1、人工管理階段的特點(diǎn): (1)數(shù)據(jù)不保存在機(jī)器中(2)沒(méi)有專用軟件對(duì)數(shù)據(jù)進(jìn)

第一章 數(shù)據(jù)庫(kù)概論

一、數(shù)據(jù)管理技術(shù)的發(fā)展階段(識(shí)記) 數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫(kù)階段:

1、人工管理階段的特點(diǎn): (1)數(shù)據(jù)不保存在機(jī)器中

(2)沒(méi)有專用軟件對(duì)數(shù)據(jù)進(jìn)行管理 (3)只有程序的概念,沒(méi)有文件的概念。

2、文件系統(tǒng)階段的特點(diǎn)與缺陷: (1)數(shù)據(jù)可長(zhǎng)期保存在磁盤上。 (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ù)庫(kù)階段的特點(diǎn)

采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu) 有較高的數(shù)據(jù)獨(dú)立性(數(shù)據(jù)結(jié)構(gòu)分成用戶的邏輯結(jié)構(gòu)、整體邏輯結(jié)構(gòu)和物理結(jié)構(gòu)三級(jí))

數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語(yǔ)言、終端命令或程序方式操作數(shù)據(jù)庫(kù)。 系統(tǒng)提供了四個(gè)方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性。

對(duì)數(shù)據(jù)的操作不一定以記錄為單位,

還可以數(shù)據(jù)項(xiàng)為單位。

數(shù)據(jù)庫(kù)技術(shù)中的四個(gè)名詞:DB、DBMS 、DBS 、數(shù)據(jù)庫(kù)技術(shù)。其概念是不同的,要分清。

DB :數(shù)據(jù)庫(kù)(Database),DB 是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。

DBMS :數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management

System) ,DBMS 是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問(wèn)DB 的方法,包括DB 的建立、查詢、更新及各種數(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ù),方便多用戶訪問(wèn)的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)。

數(shù)據(jù)庫(kù)技術(shù):是一門研究數(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í)體集(同類實(shí)體的集合) 、屬性(實(shí)體的特性) 、實(shí)體標(biāo)識(shí)符(唯一標(biāo)識(shí)實(shí)體的屬性(集)) 。

機(jī)器世界中的四個(gè)概念:字段、記錄、文件、鍵(關(guān)鍵碼) 。

2、數(shù)據(jù)描述的兩種形式:物理描述和邏輯描述。前者是指數(shù)據(jù)在存儲(chǔ)設(shè)備上的存取方式,后者是指程序員或用戶以用以操作的數(shù)據(jù)形式。 3、物理描述用到的術(shù)語(yǔ)有:位、字節(jié)、字、塊、桶、卷 4、數(shù)據(jù)聯(lián)系的描述:

1:1聯(lián)系:如果實(shí)體集E1中的每個(gè)實(shí)體最多只能和實(shí)體集E2中的一個(gè)實(shí)體有聯(lián)系,反之亦然,好么實(shí)體集E1對(duì)E2的聯(lián)系稱為" 一對(duì)一聯(lián)系" ,記為"1: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" 。

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" 。

三、數(shù)據(jù)模型

1、數(shù)據(jù)模型的概念(領(lǐng)會(huì)) : 表示實(shí)體類型及實(shí)體類型間聯(lián)系的模型稱為" 數(shù)據(jù)模型" 。它可分為兩種類型:概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型。

2、 概念數(shù)據(jù)模型(簡(jiǎn)單應(yīng)用) : 它是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來(lái)描述某個(gè)特定組織所關(guān)心的信息

結(jié)構(gòu)。(應(yīng)當(dāng)掌握教材例1.1,設(shè)計(jì)簡(jiǎn)單的ER 模型)

3、 結(jié)構(gòu)數(shù)據(jù)模型:它是直接面向數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。這類模型涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(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)系三種模型。

層次模型(識(shí)記) :用樹型結(jié)構(gòu)表示實(shí)體間聯(lián)系的數(shù)據(jù)模型

網(wǎng)狀模型(識(shí)記) :用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型。 關(guān)系模型(領(lǐng)會(huì)) :是由若干個(gè)關(guān)系模式組成的集合,其主要特征是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。

4、面向?qū)ο竽P?識(shí)記):通過(guò)對(duì)象和類的概念來(lái)建立的數(shù)據(jù)庫(kù)模型,是面向?qū)ο蠹夹g(shù)與數(shù)據(jù)庫(kù)技術(shù)結(jié)合的產(chǎn)物,本節(jié)了解一下即可。

四、數(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í):

外部級(jí):?jiǎn)蝹€(gè)用戶所能看到的數(shù)據(jù)特性,稱外模式。

概念級(jí):涉及到所有用戶的數(shù)據(jù)定義,是全局的數(shù)據(jù)視圖, 稱" 概念模式" 。

內(nèi)部級(jí):最接近于物理存儲(chǔ),涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),稱" 內(nèi)模式" 。

2、兩級(jí)映象:

模式/內(nèi)模式映象:用于定義概念模式和內(nèi)模式之間的對(duì)應(yīng)性。一般在內(nèi)模式中描述。

外模式/模式映象:用于定義外模式和概念模式間的對(duì)應(yīng)性。一般在外模式中描述。 3. 兩級(jí)數(shù)據(jù)獨(dú)立性:

物理數(shù)據(jù)獨(dú)立性:修改內(nèi)模式時(shí)盡量不影響概念模式及外模式,則達(dá)到物理數(shù)據(jù)獨(dú)立性。

邏輯數(shù)據(jù)獨(dú)立性:修改概念模式時(shí)盡量不影響外模式和應(yīng)用程序。 4. 用戶及用戶界面:這里插一句,數(shù)據(jù)庫(kù)模式可以理解為數(shù)據(jù)庫(kù)結(jié)構(gòu)。

五、數(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 的組成:

由兩大部分組成:查詢處理器和存儲(chǔ)管理器,前者包括DDL 編譯器、DML 編譯器、嵌入型DML 預(yù)編譯器、查詢運(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 的效益,了解一下。

2樓 一閃 發(fā)表于:2005-3-16 11:03:22 第二章 關(guān)系模型

本章為次重點(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ù)模型稱為關(guān)系模型。

基本術(shù)語(yǔ)有:字段(屬性) 、字段值(屬性值) 、記錄(元組) 、二維表格(元組集合、關(guān)系或?qū)嵗? 。在這里,括號(hào)中的表述為關(guān)系模型中的術(shù)語(yǔ)。它與表格中術(shù)語(yǔ)可以一一對(duì)應(yīng)。還有,關(guān)系中屬性個(gè)數(shù)稱為元數(shù),元組個(gè)數(shù)為基數(shù)。

鍵:由一個(gè)或幾個(gè)屬性組成。(注意鍵不一定是唯一的一個(gè)屬性) 。 超鍵:在關(guān)系中能唯一標(biāo)識(shí)元組的屬性集稱為關(guān)系模式的超鍵。(注意,超鍵也是一個(gè)屬性集,不一定只是一個(gè)屬性)

候選鍵:不含有多余屬性的超鍵稱為候選鍵。

主鍵:用戶選作元組標(biāo)識(shí)的一個(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 的外鍵。

2、關(guān)系模式、關(guān)系子模式和存儲(chǔ)模式

關(guān)系模式:關(guān)系模式實(shí)際上就是記錄類型。它包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式僅是對(duì)數(shù)據(jù)特性的描述。 (這通常在數(shù)據(jù)庫(kù)中表現(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)算(簡(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 中滿足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ì)其形式定義可不必深究。注意課本上的例子。 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)查詢要求列出關(guān)系表達(dá)式。 在列關(guān)系表達(dá)式時(shí),通常有以下形式:

π...(σ...(R×S)) 或者π...(σ...(R|X|S))

首先把查詢涉及到的關(guān)系取來(lái),執(zhí)行笛卡爾積或自然聯(lián)接操作得到一張大的表格,然后對(duì)大表格執(zhí)行水平分割(選擇) 和垂直分割(投影) 操作。但是注意當(dāng)查詢涉及到否定或全部值時(shí),就不能用上述形式,而要用到差或除法操作。

三、關(guān)系演算(領(lǐng)會(huì))

關(guān)系演算分為元組關(guān)系演算或域關(guān)系演算,前者以元組為變量,后者以域?yàn)樽兞俊?/p>

元組演算表達(dá)式的一般形式為:{t|P(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ǔ),如果不能很深刻的掌握,問(wèn)題

也不大,主要應(yīng)看懂表達(dá)式即可,對(duì)于給定的表達(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)行笛卡爾積或聯(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)對(duì)關(guān)系文件進(jìn)行預(yù)處理 (6)計(jì)算表達(dá)式之前先估計(jì)一下怎么計(jì)算合算。

以上幾點(diǎn)需要理解。根據(jù)表達(dá)式優(yōu)化的算法步驟對(duì)給定表達(dá)式進(jìn)行優(yōu)化 3樓 一閃 發(fā)表于:2005-3-16 11:03:55

第三章關(guān)系數(shù)據(jù)庫(kù)SQL 語(yǔ)言

本章為重點(diǎn)章,應(yīng)熟悉和掌握SQL 的數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新的句法及其應(yīng)用,特別是數(shù)據(jù)查詢的應(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)式查詢語(yǔ)言) 雖然名為查詢,但實(shí)際上具有定義、查詢、更新和控制等多種功能。 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ǔ)模式稱為" 存儲(chǔ)文件" ,子模式稱為" 視圖" ,元組稱" 行" ,屬性稱" 列" 。

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ù)中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。

(4)一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本表。存儲(chǔ)文件與物理文件對(duì)應(yīng)。

(5)用戶可以用SQL 語(yǔ)句對(duì)表進(jìn)行操作,包括視圖和基本表。 (6)SQL的用戶可以是應(yīng)用程序,也可以是終端用戶。 3、SQL 的組成(識(shí)記) SQL 由四部分組成:

(1)數(shù)據(jù)定義:SQL DDL。定義SQL 模式,基本表、視圖和索引。 (2)數(shù)據(jù)操縱:SQL DML 。包括數(shù)據(jù)查詢和數(shù)據(jù)更新(增、刪、改) 。 (3)數(shù)據(jù)控制:包括對(duì)基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。

(4)嵌入式SQL 的使用規(guī)定。

二、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 <用戶名> 撤消SQL 模式的句法為: DROP SCHEMA <模式名> [CASCADE|RESTRICT]

方括號(hào)中的選項(xiàng)參數(shù)CASCADE 表示連鎖方式,執(zhí)行時(shí)將模式下所有基本表、視圖、索引等元素全部撤消。RESTRICT 表示約束式,執(zhí)行時(shí)必須在SQL 模式中沒(méi)有任何下屬元素時(shí)方可撤消模式。

2、SQL 提供的基本數(shù)據(jù)類型 數(shù)值型:包括 integer、smallint 、real 、double precision 、float(n),numeric(p,d) 字符串型:char(n)、varchar(n),前者是定長(zhǎng),后者為變長(zhǎng)串 位串型:bit(n),bit varying(n),同上。

時(shí)間型:date 、time 。

3、基本表的創(chuàng)建、修改和撤消 基本表的創(chuàng)建:(可理解為建立表結(jié)構(gòu))

CREAT TABLE SQL 模式名. 基本表名 (列名,類型, ……

完整性約束...)

完整性約束包括主鍵子句(PRIMARY KEY) 、檢查子句(CHECK)和外鍵子句(Foreign KEY). 基本表結(jié)構(gòu)的修改 ALTER TABLE 基本表名

ADD/DROP(增加/刪除) 列名 類型名(增加時(shí)寫出) 刪除時(shí)有子句

[CASCADE|RESTRICT],前者為連鎖刪除,后者為約束刪除,即沒(méi)有對(duì)本列的任何引用時(shí)才能刪除。 基本表的撤消 DROP TABLE 基本表名 [CASCADE|RESTRICT] 4、視圖的創(chuàng)建和撤消

創(chuàng)建:CREAT VIEW 視圖名(列名表) AS SELECT 查詢語(yǔ)句 撤消:DROP VIEW 視圖名 5、索引的創(chuàng)建和撤消

創(chuàng)建:CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名表 [ASC|DESC])

撤消:DROP INDEX 索引名 總結(jié):凡創(chuàng)建都用CREAT , 刪除都用DROP, 改變用alter, 再跟類型和名字,附加子句很容易了。

三、SQL 的數(shù)據(jù)查詢(綜合應(yīng)用) 這一段是本章的重點(diǎn)內(nèi)容,應(yīng)該熟練掌握。首先了解基本句法: 1、SELECT-FROM-WHERE 句型 SELECT 列名表(逗號(hào)隔開) 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)行掌握。

在查詢時(shí),SELECT 語(yǔ)句可以有多種寫法,如聯(lián)接查詢、嵌套查詢和使用存在量詞的嵌套查詢等。最好都掌握,但是起碼應(yīng)能寫出一種正確的查詢語(yǔ)句。

2.SELECT 語(yǔ)句完整的句法: SELECT 列名表(逗號(hào)隔開) 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ì)下列各種限定的使用目的和方法。

要求輸出表格中不出現(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è)通配符,和下劃線_. 查詢結(jié)果的結(jié)構(gòu)完全一致時(shí)可將兩個(gè)查詢進(jìn)行并(UNION)交(INTERSECT)差(EXCPT)操作

查詢空值操作不是用='null',而是用 IS NULL來(lái)測(cè)試。

集合成員資格比較用 IN/NOT IN ,集合成員算術(shù)比較用元組θSOME/ALL

可以用子查詢結(jié)果取名(表名(列名序列)) 來(lái)作為導(dǎo)出表使用 基本表的自然聯(lián)接操作是用 NATURAL INNER JOIN來(lái)實(shí)現(xiàn)的。

四、SQL 的數(shù)據(jù)更新(簡(jiǎn)單應(yīng)用) 簡(jiǎn)單應(yīng)用就是掌握基本的句型并能套用在一些簡(jiǎn)單的查詢要求上。 1、數(shù)據(jù)插入:

INSERT INTO 基本表名(列名表) valueS (元組值) 或

INSERT INTO 基本表名(列名表) SELECT 查詢語(yǔ)句

其中元組值可以連續(xù)插入。用查詢語(yǔ)

,

句可以按要求插入所需數(shù)據(jù)。 2、數(shù)據(jù)刪除:

DELETE FROM 基本表名 [WHERE條件表達(dá)式] 3、數(shù)據(jù)修改: UPDATE 基本表名

SET 列名=值表達(dá)式,[列名=值表達(dá)式...]

[WHERE 條件表達(dá)式] 4、對(duì)視圖的更新:

我們知道,對(duì)視圖的查詢是和基本表相同的,但是更新操作則受到下列三條規(guī)則的限制:(領(lǐng)會(huì)一下) 如果視圖是從多個(gè)基本表使用聯(lián)接操作導(dǎo)出的,則不允許更新。 如果導(dǎo)出的視圖使用了分組和聚合操作,也不允許更新。 如果視圖是從單個(gè)基本表使用選擇和投影操作導(dǎo)出的,并且包括了基本表的主鍵或某個(gè)候選鍵,則可以執(zhí)行操作。(這就相當(dāng)于在基本表上操作) 。

這一節(jié)的關(guān)于增刪改的操作要和前面關(guān)于數(shù)據(jù)庫(kù)模式、表的增刪改操作進(jìn)行對(duì)比學(xué)習(xí),以加深理解。不要忘記上機(jī)實(shí)踐。

4樓 一閃 發(fā)表于:2005-3-16 11:04:48

第四章_關(guān)系數(shù)據(jù)庫(kù)的模式設(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ù)依賴,無(wú)損聯(lián)接、保持依賴和范式的概念。

一、關(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ì)上就是一張二維表,表的行稱為元組,列稱為屬性。 關(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ù)依賴、范式、模式設(shè)計(jì)方法。核心內(nèi)容是數(shù)據(jù)依賴。 泛關(guān)系模式:把現(xiàn)實(shí)問(wèn)題的所有屬性組成一個(gè)關(guān)系模式R(U),這個(gè)關(guān)系模式就稱為泛關(guān)系模式。

數(shù)據(jù)庫(kù)模式:把泛關(guān)系模式用一組關(guān)系模式的集合ρ來(lái)表示時(shí),這個(gè)ρ就是數(shù)據(jù)庫(kù)模式。

下面我們總結(jié)一下關(guān)系模式的相關(guān)內(nèi)容從" 大" 到" 小" 的排列 泛關(guān)系模式→數(shù)據(jù)庫(kù)模式→關(guān)系數(shù)據(jù)庫(kù)→表結(jié)構(gòu)→關(guān)系模式實(shí)例(表) →記錄(行、列.)

關(guān)系模式的存儲(chǔ)異常:數(shù)據(jù)冗余、更新異常、插入異常和刪除異常

二、函數(shù)依賴(FD)

1、函數(shù)依賴的定義(領(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],則稱X 函數(shù)決定Y ,或Y 函數(shù)依賴于X ,記為X →Y 。X →Y 為模式R 的一個(gè)函數(shù)依賴。 這個(gè)定義可以這樣理解:有一張?jiān)O(shè)計(jì)好的二維表,X ,Y 是表的某些列(可以是一列,也可以是多列) ,若在表中的第t1行,和第t2行上的X 值相等,那么必有t1行和t2行上的Y 值也相等,這就是說(shuō)Y 函數(shù)依賴于X 。如下圖所示:

A1A2A3欄目名(X)課程A6A7網(wǎng)站名(Y)

……………………

t1曉津?qū)跀?shù)據(jù)庫(kù)原理計(jì)算機(jī)自考 ………自考試卷………計(jì)算機(jī)自考 t2曉津?qū)跀?shù)據(jù)結(jié)構(gòu)計(jì)算機(jī)自考 ………自考試卷………計(jì)算機(jī)自考 t3曉津?qū)诿嫦驅(qū)ο笥?jì)算機(jī)自考 ………自考試卷………計(jì)算機(jī)自考

在表中,凡欄目名相同的,對(duì)應(yīng)的網(wǎng)站名也必是相同的,則此時(shí)說(shuō) 欄目名函數(shù)決定網(wǎng)站名,或" 網(wǎng)站名" 函數(shù)依賴于" 欄目名" 。但是反過(guò)來(lái)不一定,網(wǎng)站名相同時(shí)并不一定欄目名相同,所以這里的Y →X 是不成立的。 要特別注意的是,在這張表中,任何

一行的關(guān)系均應(yīng)符合上述條件,如果有一行不符合函數(shù)依賴的條件,則函數(shù)依賴對(duì)于這個(gè)關(guān)系就不成立。 還有應(yīng)該了解的是,函數(shù)依賴是否成立是不可證明的,只能通過(guò)屬性的含義來(lái)判斷,上述表是一個(gè)關(guān)系實(shí)例,可以一條條進(jìn)行驗(yàn)證,但是對(duì)于模式設(shè)計(jì)來(lái)說(shuō),開始時(shí)并沒(méi)有數(shù)據(jù)插入,我們只能從屬性的含義出發(fā),如這個(gè)關(guān)系模式不僅是指一個(gè)站點(diǎn),而是包括所有站點(diǎn),則有可能出現(xiàn)相同的欄目名而網(wǎng)站名不是一樣的情況,那么" 欄目名→網(wǎng)站名" 這個(gè)函數(shù)依賴就不成立了。

上述例子可對(duì)照課本理論進(jìn)行領(lǐng)會(huì)。 2、函數(shù)依賴的邏輯蘊(yùn)涵(識(shí)記) 設(shè)F 是關(guān)系模式R 的一個(gè)函數(shù)依賴集,X,Y 是R 的屬性子集,如果從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ù)我們對(duì)事實(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í)體的屬性集。對(duì)于鍵和函數(shù)依賴的關(guān)系:有兩個(gè)條件:設(shè)

關(guān)系模式R(A1,A2...An),F(xiàn) 是R 上的函數(shù)依賴集,X 是R 的一個(gè)子集, (1)X→A1A2...An ?F (它的意思是X 能夠決定唯一的一個(gè)元組) (2)不存在X 的真子集Y ,使得Y 也能決定唯一的一個(gè)元組,則X 就是R 的一個(gè)候選鍵。(它的意思是X 能決定唯一的一個(gè)元組但又沒(méi)有多余的屬性集)

包含在任何一個(gè)候選鍵中的屬性稱為主屬性,不包含在任何鍵中的屬性為非主屬性(非鍵屬性) ,注意主屬性應(yīng)當(dāng)包含在候選鍵中。

4、函數(shù)依賴(FD)的推理規(guī)則(簡(jiǎn)單應(yīng)用)

前面我們舉的例子中是以實(shí)際經(jīng)驗(yàn)來(lái)確定一個(gè)函數(shù)依賴的邏輯蘊(yùn)涵,但是我們需要一個(gè)推理規(guī)則才能完全確定F 或F 的所有函數(shù)依賴。 設(shè)有關(guān)系模式R(U),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 ,則XZ →YZ 在R 上成立。(XZ表示X ∪Z ,下同)

傳遞律:如果X →Y 和Y →Z 在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í)記)

函數(shù)依賴推理規(guī)則系統(tǒng)(自反律、增廣律和傳遞律) 是完備的。由推理規(guī)則的完備性可得到兩個(gè)重要結(jié)論: 屬性集X 中的每個(gè)屬性A ,都有X →A 被F 邏輯蘊(yùn)涵,即X 是所有由F 邏輯蘊(yùn)含X →A 的屬性A 的集合。 F 是所有利用Amstrong 推理規(guī)則從F 導(dǎo)出的函數(shù)依賴的集合

6、函數(shù)依賴集的等價(jià)和覆蓋(識(shí)記) 在關(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})∪{Z→A}與F 不等價(jià)。

則稱F 為最小函數(shù)依賴集合。 如果函數(shù)依賴集F 和G 等價(jià),并且G 是最小集,那么稱G 是F 的一個(gè)最小覆蓋。

這一段并不要求掌握最小集的求法,但是應(yīng)當(dāng)通過(guò)其求法理解最小集的概念。

三、關(guān)系模式的分解特性

1、模式分解中存在的問(wèn)題:(識(shí)記) 模式分解就是將一個(gè)泛關(guān)系模式R 分解成數(shù)據(jù)庫(kù)模式ρ,以ρ代替R 的過(guò)程。它不僅僅是屬性集合的分解,它是對(duì)關(guān)系模式上的函數(shù)依賴集、以及關(guān)系模式的當(dāng)前值分解的具體表現(xiàn)。

分解一個(gè)模式有很多方法,但是有的分解會(huì)出現(xiàn)失去函數(shù)依賴、或出現(xiàn)插入、刪除異常等情況,而有的分解則不出現(xiàn)相關(guān)問(wèn)題。

衡量一個(gè)分解的標(biāo)準(zhǔn)有三種:分解具有無(wú)損聯(lián)接;分解要保持函數(shù)依賴;分解既要保持依賴,又要具有無(wú)損聯(lián)接。

那么什么是無(wú)損聯(lián)接呢? 什么又是保持依賴?

2、無(wú)損聯(lián)接的定義和性質(zhì)(識(shí)記) 設(shè)R 是一關(guān)系模式,分解成ρ={R1,R2,...,Rk},F(xiàn) 是R 上的一個(gè)函數(shù)依賴集。無(wú)損聯(lián)接就是指R 中每一個(gè)滿足F 的關(guān)系r(也就是一個(gè)關(guān)系實(shí)例) 都有r=πR1(r)|X|πR2(r)...|X|πR3(r),即r 為它在Ri 上的投影的自然聯(lián)接。 最簡(jiǎn)單的理解,也就是說(shuō),分解后的關(guān)系自然連接后完全等于分解前的關(guān)系,則這個(gè)分解相對(duì)于F 是無(wú)損聯(lián)接分解。

設(shè)R 的分解為ρ={R1,R2},F為R 所滿足的函數(shù)依賴集,則分解ρ具有無(wú)損聯(lián)接性的充分必要條件是:

R1∩R2→(R1-R2) R1∩R2→(R2-R1)

也就是說(shuō),分解后的兩個(gè)模式的交能決定這兩個(gè)模式的差集,即R1、R2的公共屬性能夠函數(shù)決定R1或R2中的其他屬性,這樣的分解就必定是無(wú)損聯(lián)接分解。

3、保持函數(shù)依賴的分解(識(shí)記) 在分解過(guò)程中,要求模式分解的無(wú)損聯(lián)接是必要的,只有無(wú)損聯(lián)接分解才能保證任何一個(gè)關(guān)系能由它的那些投影進(jìn)行自然聯(lián)接得到恢復(fù)。 同時(shí),分解關(guān)系模式時(shí)還應(yīng)保證關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫(kù)模式中保持不變,這就是保持函數(shù)依賴的問(wèn)題。也就是所有分解出的模式所滿足的函數(shù)依賴的全體應(yīng)當(dāng)?shù)葍r(jià)于原模式的函數(shù)依賴集。只有這樣才能確保整個(gè)數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)義完整性不受破壞。

四、關(guān)系模式的范式(領(lǐng)會(huì)) 1、1NF 、2NF 、3NF 、BCNF 的定義: 1NF :第一范式。

即關(guān)系模式中的屬性的值域中每一個(gè)值都是不可再分解的值。如果某個(gè)數(shù)據(jù)庫(kù)模式都是第一范式的,則稱該數(shù)據(jù)庫(kù)模式是屬于第一范式的數(shù)據(jù)庫(kù)模式。

比如有一個(gè)關(guān)系 串講筆記={作者,課程},若有這樣幾行記錄: 作者課程

曉津數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)原理 阿貓網(wǎng)絡(luò)與通信

這時(shí)的第一條記錄就表示本關(guān)系模式不是1NF 的,因?yàn)檎n程中的值域還是可以分解的,它包括了兩門課程,如分為: 作者課程 曉津數(shù)據(jù)結(jié)構(gòu) 曉津數(shù)據(jù)庫(kù)原理

就成為第一范式的關(guān)系模式。 2NF :第二范式。

如果關(guān)系模式R 為第一范式,并且R 中每一個(gè)非主屬性完全函數(shù)依賴于R 的某個(gè)候選鍵,則稱為第二范式模式。

在這里要先了解" 非主屬性" 、" 完全函數(shù)依賴" 、" 候選鍵" 這三個(gè)名詞的含義。

候選鍵就是指可以唯一決定關(guān)系模式R 中某元組值且不含有多余屬性的屬性集。

非主屬性也就是非鍵屬性,指關(guān)系模式R 中不包含在任何建中的屬性。 設(shè)有函數(shù)依賴W →A ,若存在X W ,有X →A 成立,那么稱W →A 是局部依賴,否則就稱W →A 是完全函數(shù)依賴。

在分析是否為第2范式時(shí),應(yīng)首先確定候選鍵,然后把關(guān)系模式中的非主屬性與鍵的依賴關(guān)系進(jìn)行考察,是否都為完全函數(shù)依賴,如是,則此關(guān)系模式為2NF 。如果數(shù)據(jù)庫(kù)模式中每個(gè)關(guān)系模式都是2NF 的,則此數(shù)據(jù)庫(kù)模式屬于2NF 的數(shù)據(jù)庫(kù)模式。

3NF :第三范式。

如果關(guān)系模式R 是第二范式,且每個(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)系模式就是BCNF 模式。

縱觀四種范式,可以發(fā)現(xiàn)它們之間存在如下關(guān)系: BCNF 3NF 2NF 1NF 1NF

↓消去非主屬性對(duì)鍵的部分函數(shù)依賴 2NF

↓消去非主屬性對(duì)鍵的傳遞函數(shù)依賴 3NF

↓消去主屬性對(duì)鍵的傳遞函數(shù)依賴 BCNF

5、分解成BCNF 模式集的算法(識(shí)記) 對(duì)于任一關(guān)系模式,可找到一個(gè)分解達(dá)到3NF ,且具有無(wú)損聯(lián)接和保持函數(shù)依賴性。而對(duì)于BCNF 分解,則可

,

以保證無(wú)損聯(lián)接但不一定能保證保持函數(shù)依賴集。

無(wú)損聯(lián)接分解成BCNF 模式集的算法:

(1)置初值ρ={R};

(2)如果ρ中所有關(guān)系模式都是BCNF ,則轉(zhuǎn)(4);

(3)如果ρ中有一個(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è)過(guò)程中,重點(diǎn)在于(3)步,判斷哪個(gè)關(guān)系不是BCNF ,并找到X 和A 。這里,S 的判斷用BCNF 的定義,而X 不是S 的鍵則依靠分析。 6、分解成3NF 模式集(識(shí)記) 算法:

(1)如果R 中的某些屬性在F 的所有依賴的左邊和右邊都不出現(xiàn),那么這些屬性可以從R 中分出去,單獨(dú)構(gòu)成一個(gè)關(guān)系模式。

(2)如果F 中有一個(gè)依賴X →A 有XA →R ,則ρ={R},轉(zhuǎn)(4)

(3)對(duì)于F 中每一個(gè)X →A ,構(gòu)成一個(gè)關(guān)系模式XA ,如果F 有有X →A1,X →A2...X →An, 則可以用模式XA1A2...An 代替n 個(gè)模式XA1,XA2...XAn;

(4)w分解結(jié)束,輸入ρ。 這個(gè)過(guò)程的重點(diǎn)是這一句" 對(duì)于F 中每一個(gè)X →A ,構(gòu)成一個(gè)關(guān)系模式XA" ,這使我們的分解十分容易,然

后依據(jù)合并律(合并律:如果X →Y 和X →Z 成立,那么X →YZ 成立) 將有關(guān)模式合并即得到所需3NF 模式。 7、模式設(shè)計(jì)方法的原則(識(shí)記) 關(guān)系模式R 相對(duì)于函數(shù)依賴集F 分解成數(shù)據(jù)庫(kù)模式ρ={R1,R2...Rk},一般具有下面四項(xiàng)特性:

ρ中每個(gè)關(guān)系模式Ri 上應(yīng)具有某種范式性質(zhì)(3NF或BCNF) 無(wú)損聯(lián)接性。 保持函數(shù)依賴集。

最小性,即ρ中模式個(gè)數(shù)應(yīng)最少且模式中屬性總數(shù)應(yīng)最少。 一個(gè)好的模式設(shè)計(jì)方法應(yīng)符合下列三條原則: 表達(dá)性 分離性 最小冗余性

8、多值依賴。簡(jiǎn)單了解一下。

5樓 一閃 發(fā)表于:2005-3-16 11:05:16

第五章_數(shù)據(jù)庫(kù)設(shè)計(jì)

與上一章不同,本章的實(shí)用性較強(qiáng),詳細(xì)講述了數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的全過(guò)程。重點(diǎn)是概念設(shè)計(jì)中ER 模型的設(shè)計(jì)方法,邏輯設(shè)計(jì)中ER 模型向關(guān)系模型的轉(zhuǎn)換方法。

一、數(shù)據(jù)庫(kù)設(shè)計(jì)概述(識(shí)記) 1、軟件生存期:是指從軟件的規(guī)劃、研制、實(shí)現(xiàn)、投入運(yùn)行后的維護(hù)、直到它被新的軟件所取代而停止使用的整個(gè)期間。它包括六個(gè)階段:(規(guī)

需設(shè)編試運(yùn)維) (1)規(guī)劃階段 (2)需求分析階段 (3)設(shè)計(jì)階段 (4)程序編制階段 (5)調(diào)試階段 (6)運(yùn)行維護(hù)階段 2、數(shù)據(jù)庫(kù)系統(tǒng)生存期

數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)也是一項(xiàng)軟件工程,稱為數(shù)據(jù)庫(kù)工程,數(shù)據(jù)庫(kù)應(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ù)庫(kù)設(shè)計(jì)方法學(xué)

一個(gè)好的數(shù)據(jù)庫(kù)設(shè)計(jì)方法應(yīng)該能在合理的期限內(nèi),以合理的工作量產(chǎn)生一個(gè)有實(shí)用價(jià)值的數(shù)據(jù)庫(kù)結(jié)構(gòu)。 數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的設(shè)計(jì)分為以下幾個(gè)階段:規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)。

二、規(guī)劃(識(shí)記)

數(shù)據(jù)設(shè)計(jì)中的規(guī)劃階段的主要任務(wù)是進(jìn)行建立數(shù)據(jù)庫(kù)的必要性及可性性分析,確定數(shù)據(jù)庫(kù)系統(tǒng)在組織中和組織中和信息系統(tǒng)中的地位,以及各個(gè)數(shù)據(jù)庫(kù)之間的聯(lián)系。

三、需求分析(識(shí)記)

需求分析階段應(yīng)對(duì)系統(tǒng)的整個(gè)應(yīng)用情況作全面的、詳細(xì)的調(diào)查、確定用戶的目標(biāo),收集支持系統(tǒng)總的設(shè)計(jì)目標(biāo)的基礎(chǔ)數(shù)據(jù)和對(duì)這些數(shù)據(jù)的要求,確定用戶需求,并把這些要求寫成用戶和數(shù)據(jù)庫(kù)設(shè)計(jì)者都能夠接受的文檔。

確定用戶需求可以通過(guò)對(duì)不同層次的企業(yè)管理人員進(jìn)行個(gè)人訪問(wèn)得到。還應(yīng)了解系統(tǒng)將來(lái)要發(fā)生的變化,充分考慮系統(tǒng)的可能的擴(kuò)充和變動(dòng),使系統(tǒng)設(shè)計(jì)更符合未來(lái)發(fā)展方向。 需求分析的步驟大致分為三步:即需求信息的收集、分析整理和評(píng)審。 數(shù)據(jù)字典:是對(duì)系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)描述的集中管理。它包含以下幾個(gè)部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和加工過(guò)程。

四、概念設(shè)計(jì)(識(shí)記)

1、概念模型:可以看成是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)過(guò)渡的中間層次。在設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),要把現(xiàn)實(shí)世界的事物通過(guò)認(rèn)識(shí)和抽象轉(zhuǎn)換為信息世界的概念模型,再把概念模型轉(zhuǎn)換為機(jī)器世界的數(shù)據(jù)模型。

2、概念設(shè)計(jì)的主要步驟:分三步完成:(1)進(jìn)行數(shù)據(jù)抽象,設(shè)計(jì)局部概念模式;(2)將局部概念模式綜合成全局概念模式;(3)評(píng)審。

3、數(shù)據(jù)抽象:數(shù)據(jù)抽象的兩種形式:聚集和概括:

聚集:其數(shù)學(xué)意義就是笛卡爾積的概念,通過(guò)聚集,形成對(duì)象之間的一個(gè)聯(lián)系對(duì)象。如有一些對(duì)象:"老師,課程, 班級(jí), 上課時(shí)間" ,通過(guò)聚集可以得到一個(gè)聯(lián)系對(duì)象" 課程表" 。聚集表示的是"is_part_of"的關(guān)系。 概括:是從一類其他對(duì)象形成一個(gè)對(duì)象。如有桃樹、李樹、杏樹等對(duì)象,我們通過(guò)概括或以得到一個(gè)對(duì)象" 樹" 。概括表示的是"is_a"的關(guān)系,如" 李樹" 是一種" 樹" 。

4、基本ER 模型的擴(kuò)展(領(lǐng)會(huì)) ER(實(shí)體聯(lián)系) 模型是對(duì)現(xiàn)實(shí)世界的一種抽象,它的主要成份是實(shí)體、聯(lián)系和屬性。但是在現(xiàn)實(shí)世界中還有一些特殊的語(yǔ)義。需要擴(kuò)展ER 模型的概念才能更好地模擬現(xiàn)實(shí)世界。 依賴聯(lián)系:在現(xiàn)實(shí)世界中,有些實(shí)體對(duì)一另一些實(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è)很重要的性質(zhì)繼承性。在ER 圖中,超類用兩端雙線框表示,并用加圈的線與子類相連。

,

5、ER 模型的操作(領(lǐng)會(huì))

ER 模型在數(shù)據(jù)庫(kù)概念設(shè)計(jì)過(guò)程中經(jīng)常需要進(jìn)行變換,包括實(shí)體類型、聯(lián)系類型和屬性的分裂、合并和增刪等。

實(shí)體類型的分裂包括垂直分割、水平分割。

注意在垂直分割時(shí),鍵必須在分裂后的每個(gè)實(shí)體類型中出現(xiàn)。在聯(lián)系類型合并時(shí),所合并的聯(lián)系類型必須是定義在相同的實(shí)體類型中。 6、采用ER 方法的數(shù)據(jù)庫(kù)概念設(shè)計(jì)(領(lǐng)會(huì))

采用ER 方法進(jìn)行數(shù)據(jù)庫(kù)概念設(shè)計(jì)分成三步進(jìn)行:

首先設(shè)計(jì)局部ER 模式

然后把各局部ER 模式綜合成全局ER 模式

最后對(duì)全局ER 模式進(jìn)行優(yōu)化

五、邏輯設(shè)計(jì)

1、概念設(shè)計(jì)的結(jié)果是得到一個(gè)與DBMS 無(wú)關(guān)的概念模式。而邏輯設(shè)計(jì)的目的是把概念設(shè)計(jì)階段設(shè)計(jì)好的基本ER 圖轉(zhuǎn)換為與選用的具體機(jī)器上的DBMS 所支持的數(shù)據(jù)模式相符合的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫(kù)模式和外模式) 。

第六章_數(shù)據(jù)庫(kù)保護(hù)

本章不是重點(diǎn)章節(jié),主要內(nèi)容包括數(shù)

據(jù)庫(kù)保護(hù)的四種措施,數(shù)據(jù)庫(kù)的恢復(fù)、并發(fā)控制、完整性和安全性。了解這些內(nèi)容及其在SQL 語(yǔ)言中的實(shí)現(xiàn)方式。

一、數(shù)據(jù)庫(kù)的恢復(fù)(領(lǐng)會(huì))

1、事務(wù)的概念:事務(wù)是一個(gè)操作序列。這些操作要么什么都做,要么都不做,是一個(gè)不可分割的工作單位。事務(wù)以BEGIN

TRANSACTION 語(yǔ)句開始,以COMMIT(提交) 語(yǔ)句或ROLLBACK(回退或撤消) 語(yǔ)句結(jié)束。

一個(gè)程序的執(zhí)行可通過(guò)若干事務(wù)的執(zhí)行序列來(lái)完成。

2、事務(wù)的性質(zhì):原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持久性

(durability)。稱為事務(wù)的ACID 性質(zhì)。

通過(guò)教材的例子來(lái)理解事務(wù)的性質(zhì)。 3、故障類型和恢復(fù)方法 故障類型恢復(fù)方法

事務(wù)故障應(yīng)用程序自動(dòng)進(jìn)行恢復(fù) 系統(tǒng)故障重新啟動(dòng)時(shí)則恢復(fù)子系統(tǒng)將所有非正常終止的事務(wù)回退,恢復(fù)到正確狀態(tài)。

介質(zhì)故障通過(guò)DBMS 把其他務(wù)份磁盤或第三級(jí)介質(zhì)中的內(nèi)容再?gòu)?fù)制回來(lái) 4、恢復(fù)的基本原則和實(shí)現(xiàn)方法 恢復(fù)的基本原則很簡(jiǎn)單,就是" 冗余" ,即數(shù)據(jù)的重復(fù)存儲(chǔ)。 實(shí)現(xiàn)方法有:

(1)定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行復(fù)制或轉(zhuǎn)儲(chǔ)

(dump)。注意幾個(gè)概念:靜態(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ù)庫(kù)已破壞,則由DBA 裝入最近備份的數(shù)據(jù)庫(kù)然后利用" 日志文件" 執(zhí)行REDO(重做) 操作。如數(shù)據(jù)庫(kù)未被損壞,但某些數(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ù)庫(kù)在寫數(shù)據(jù)。

(2)直到事務(wù)的所有運(yùn)行記錄都已寫入運(yùn)行" 日志" 文件后,才能允許事務(wù)完成"END TRANSACTION"處理。 6、SQL 中的恢復(fù)操作, 可上機(jī)觀察。

二、數(shù)據(jù)庫(kù)的并發(fā)控制(領(lǐng)會(huì)) 1、并發(fā)控制帶來(lái)的三類問(wèn)題: (1)丟失更新的問(wèn)題 (2)不一致分析問(wèn)題

(3)"臟數(shù)據(jù)" 的讀出。(在數(shù)據(jù)庫(kù)技術(shù)中,未提交的隨后又被撤消的數(shù)據(jù)為" 臟數(shù)據(jù)" 。)

2、為解決并發(fā)控制帶來(lái)的問(wèn)題,通常要采用封鎖(locking)技術(shù),常用的封鎖有:排它型封鎖(X封鎖) 和共享型封鎖(S封鎖) 兩種。

X 封鎖的規(guī)則稱為PX 協(xié)議,其內(nèi)容為:任何企圖更新記錄R 的事務(wù)必須先執(zhí)行LOCK

X(R)操作,以獲得對(duì)該記錄進(jìn)行尋址

的能力,并對(duì)它取得X 封鎖。如果未獲得X 封鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)X 封鎖,事務(wù)繼續(xù)進(jìn)行。

簡(jiǎn)記為:先鎖X ,再執(zhí)行,取不到,就等待。

PXC 協(xié)議:它由PX 協(xié)議及一條規(guī)則"X 封鎖必須保留到事務(wù)終點(diǎn)(COMMIT或ROLLBACK)" 組成。 S 封鎖的規(guī)則稱為PS 協(xié)議:其內(nèi)容為:任何要更新記錄R 的事務(wù)必須先執(zhí)行LOCK

S(R)操作,以獲得對(duì)該記錄尋址的能力并對(duì)它取得S 封鎖。如果未獲準(zhǔn)S 封鎖,那么這個(gè)事務(wù)進(jìn)入等待狀態(tài),一直到獲準(zhǔn)S 封鎖,事務(wù)才繼續(xù)進(jìn)行下去。當(dāng)事務(wù)獲準(zhǔn)對(duì)記錄R 的要封鎖后,在記錄R 修改前必須把S 封鎖升級(jí)為X 封鎖。

簡(jiǎn)記為:先鎖S ,再執(zhí)行,鎖不到,就等待,若要修改則升X 。 PSC 協(xié)議:由PS 協(xié)議和" 將S 封鎖保持到事務(wù)終點(diǎn)" 組成。

3、活鎖:是指某個(gè)事務(wù)永遠(yuǎn)處于等待狀態(tài),得不到執(zhí)行的現(xiàn)象。避免活鎖的方法是采用" 先來(lái)先服務(wù)" 策略。 死鎖:有兩個(gè)或以上的事務(wù)處于等待狀態(tài),每個(gè)事務(wù)都在等待另一個(gè)事務(wù)解除封鎖,它才能繼續(xù)執(zhí)行下去,結(jié)果任何一個(gè)事務(wù)都無(wú)法執(zhí)行,這種現(xiàn)象就是死鎖。

解除死鎖的方法是由DBMS 中的" 死鎖測(cè)試程序" 來(lái)檢查,如發(fā)現(xiàn)死鎖則

犧牲一個(gè)事務(wù),并做回退操作, 解除它的所有封鎖。 4、兩段封鎖法(識(shí)記)

兩段封鎖協(xié)議規(guī)定所有事務(wù)都要遵守下列規(guī)則:(1)在對(duì)任何數(shù)據(jù)進(jìn)行讀寫操作之前,事務(wù)首先要獲得對(duì)該數(shù)據(jù)的封鎖;(2)在釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖。 針對(duì)課本的例子來(lái)理解。

三、數(shù)據(jù)庫(kù)的完整性(領(lǐng)會(huì)) 1、數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫(kù)中數(shù)據(jù)發(fā)生錯(cuò)誤,往往是由非法更新引起的。 數(shù)據(jù)庫(kù)完整性是通過(guò)DBMS 的完整性子系統(tǒng)實(shí)現(xiàn)的,它有兩個(gè)功能: (1)監(jiān)督事務(wù)的執(zhí)行,并測(cè)試是否違反完整性規(guī)則。

(2)如有違反,則采取恰當(dāng)?shù)牟僮?,如拒絕、報(bào)告違反情況,改正錯(cuò)誤等方法進(jìn)行處理。

數(shù)據(jù)庫(kù)完整性子系統(tǒng)是根據(jù)" 完整性規(guī)則集"

工作的,這些完整性規(guī)則包括:域完整性規(guī)則、域聯(lián)系的規(guī)則、關(guān)系完整性規(guī)則(一個(gè)比一個(gè)大) 2、SQL 中的完整性約束

在SQL 中,表達(dá)完整性約束的規(guī)則有主鍵約束、外鍵約束、屬性值約束和全局約束等多種形式。

主鍵約束:可用主鍵子句或主鍵短語(yǔ)PRIMARY KEY 來(lái)定義。

外鍵約束:可用外鍵子句來(lái)定義如 FOREIGN KEY (S#) REFERNCE S(S#)

,

屬性值約束:包括非空值約束(NOT NULL) 和基于屬性的檢查子句(CHECK) 及域約束子句 如CREAT DOMAIN AGE SMALLINT CHECK (value>10) 全局約束:包括基于元組的檢查子句(CHECK)和斷言(CREATE ASSERTION 斷言名 CHECK 條件) 。

四、數(shù)據(jù)庫(kù)的安全性(識(shí)記) 數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)防止不合法的使用,以免數(shù)據(jù)的泄漏、非法更改和破壞。

1、安全性級(jí)別:包括環(huán)境級(jí)、職員級(jí)、OS 級(jí)、網(wǎng)絡(luò)級(jí)和數(shù)據(jù)庫(kù)系統(tǒng)級(jí)。 2、用戶或應(yīng)用程序使用數(shù)據(jù)庫(kù)的方式稱為權(quán)限,權(quán)限的種類: 訪問(wèn)數(shù)據(jù)權(quán)限:讀、插入、修改、刪除四種

修改數(shù)據(jù)庫(kù)模式權(quán)限:索引(創(chuàng)建或刪除索引) 、資源(創(chuàng)建新關(guān)系) 、修改(增刪關(guān)系結(jié)構(gòu)屬性) 和撤消權(quán)限(撤消關(guān)系)

3、權(quán)限的轉(zhuǎn)授與回收:畫一個(gè)權(quán)限圖,只要根結(jié)點(diǎn)到用戶結(jié)點(diǎn)之間存在一條路徑,那么它就有權(quán)限,回收時(shí)就是刪去某些路徑。 4、SQL 中的安全性控制

SQL 中有兩個(gè)安全機(jī)制:一是視圖機(jī)制、二是授權(quán)子系統(tǒng)。

視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表,是虛表,視圖定義后可以像基本表一樣用于查詢和刪除,但其更新操作(增、刪、改) 會(huì)受到限制。 視圖機(jī)制把用戶可以使用的數(shù)據(jù)定

義在視圖中,這樣用戶就不能使用視圖定義外的其他數(shù)據(jù),從而保證了數(shù)據(jù)庫(kù)的安全性。視圖機(jī)制使系統(tǒng)具有三個(gè)優(yōu)點(diǎn):數(shù)據(jù)安全性、數(shù)據(jù)獨(dú)立性和操作簡(jiǎn)便性。

授權(quán)機(jī)制可以保證用戶只能進(jìn)行其權(quán)限范圍內(nèi)的操作。

6、數(shù)據(jù)加密可更好地保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全性,采用加密算法給把源文變?yōu)槊芪膩?lái)實(shí)現(xiàn)。常用的加密算法有" 替換方法" 和明鍵加密法。 同時(shí),為保證數(shù)據(jù)庫(kù)的安全,也應(yīng)注意自然環(huán)境的安全性。 6樓 一閃 發(fā)表于:2005-3-16 11:05:38

第七章_分布式數(shù)據(jù)庫(kù)系統(tǒng)

本章為非重點(diǎn)章,介紹了分布式數(shù)據(jù)庫(kù)系統(tǒng)的基本概念、體系結(jié)構(gòu)、查詢處理、客戶/服務(wù)器結(jié)構(gòu)的分布式系統(tǒng)等內(nèi)容,學(xué)習(xí)本章的目的在于擴(kuò)展知識(shí)面,對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)有個(gè)簡(jiǎn)單的了解。全部?jī)?nèi)容的學(xué)習(xí)要求為達(dá)到識(shí)記層次。 一、概述

1、分布式DBS :是指數(shù)據(jù)存放在計(jì)算機(jī)網(wǎng)絡(luò)的不同場(chǎng)地的計(jì)算機(jī)中,每一場(chǎng)地都有自治處理能力并完成局部應(yīng)用;而每一場(chǎng)地也參與(至少一種) 全局應(yīng)用程序的執(zhí)行,全局應(yīng)用程序可通過(guò)網(wǎng)絡(luò)通信訪問(wèn)系統(tǒng)中的多個(gè)場(chǎng)地的數(shù)據(jù)。

2、分布式數(shù)據(jù)庫(kù)系統(tǒng)包括兩個(gè)重要

組成部分:分布式數(shù)據(jù)庫(kù)和分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。

3、分布式數(shù)據(jù)庫(kù)系統(tǒng)具有位置透明性和復(fù)制透明性,使用戶看到的系統(tǒng)如同一個(gè)集中式系統(tǒng)。

4、分布式數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)點(diǎn)是: (1)具有靈活的體系結(jié)構(gòu)

(2)適應(yīng)分布式的管理和控制機(jī)構(gòu) (3)經(jīng)濟(jì)性能優(yōu)越

(4)系統(tǒng)的可靠性高、可用性好 (5)局部應(yīng)用的響應(yīng)速度快

(6)可擴(kuò)展性好,易于集成現(xiàn)有系統(tǒng)。 分布式數(shù)據(jù)庫(kù)系統(tǒng)的缺點(diǎn):

(1)系統(tǒng)開銷大,主要花在通信部分 (2)復(fù)雜的存取結(jié)構(gòu),原來(lái)在集中式系統(tǒng)中有效存取數(shù)據(jù)的技術(shù),在分成式系統(tǒng)中都不再適用

(3)數(shù)據(jù)的安全生和保密性較難處理。

5、分布式數(shù)據(jù)庫(kù)系統(tǒng)分為三類:同構(gòu)同質(zhì)型DDBS ,同構(gòu)異質(zhì)型DDBS ,異構(gòu)DDBS 。

同構(gòu)同質(zhì)型DDBS :是指各個(gè)場(chǎng)地都采用同一類型的數(shù)據(jù)模型,并且是同一型號(hào)數(shù)據(jù)庫(kù)管理系統(tǒng)。 同構(gòu)異質(zhì)型DDBS :是指各個(gè)場(chǎng)地都采用同一類型的數(shù)據(jù)模型,但是數(shù)據(jù)庫(kù)管理系統(tǒng)是不同型號(hào)的。 異構(gòu)型DDBS :是指各個(gè)場(chǎng)地的數(shù)據(jù)模型是不同的類型。

二、體系結(jié)構(gòu)

1、分布式數(shù)據(jù)存儲(chǔ),從數(shù)據(jù)分配和數(shù)據(jù)分片兩個(gè)角度考察。

數(shù)據(jù)分配是指數(shù)據(jù)在計(jì)算機(jī)網(wǎng)絡(luò)各場(chǎng)地上的分配策略。包括: 集中式:所有數(shù)據(jù)均安排在同一個(gè)場(chǎng)地上。

分割式:所有數(shù)據(jù)只有一份,分別被安置在若干個(gè)場(chǎng)地。

全復(fù)制式:數(shù)據(jù)在每個(gè)場(chǎng)地重復(fù)存儲(chǔ)。

混合式:數(shù)據(jù)庫(kù)分成若干可相交的子集,每一子集安置在一個(gè)或多個(gè)場(chǎng)地上,但是每一場(chǎng)地未必保存全部數(shù)據(jù)。

數(shù)據(jù)分片是指數(shù)據(jù)存放單位不是全部關(guān)系,而是關(guān)系的一個(gè)片段。也就是關(guān)系的一部分。包括:

水平分片:按一定的條件把全局關(guān)系的所有元組劃分成若干不相交的子集,每個(gè)子集為關(guān)系的一個(gè)片段。 垂直分片:把一個(gè)全局關(guān)系的屬性集分成若干子集,并在這些子集上做投影運(yùn)算,每個(gè)投景為垂直分片。 混合型分片:將水平分片與垂直分片方式綜合使用則為混合型分片。 2、分布式DBS 的體系結(jié)構(gòu)分為四級(jí):全局外模式、全局概念模式、分片模式和分配模式。

3、分布透明性指用戶不必關(guān)系數(shù)據(jù)的邏輯分片,不必關(guān)心數(shù)據(jù)物理位置分配的細(xì)節(jié),也不必關(guān)系各個(gè)場(chǎng)地上數(shù)據(jù)庫(kù)數(shù)據(jù)模型。分布透明性可歸入物理獨(dú)立性的范圍。包括三個(gè)層次:分片透明性、位置透明性和局部數(shù)據(jù)模型透明性。

4、DDBMS(分布式數(shù)據(jù)庫(kù)管理系統(tǒng))

其主要功能有:

(1)接受用戶請(qǐng)求,并判定把它送到哪里,或必須訪問(wèn)哪些計(jì)算機(jī)才能滿足該請(qǐng)求。

(2)訪問(wèn)網(wǎng)絡(luò)數(shù)據(jù)字典,或者至少了解如何請(qǐng)求和使用其中的信息。 (3)如果目標(biāo)數(shù)據(jù)存儲(chǔ)于系統(tǒng)的多個(gè)計(jì)算機(jī)上,就必須進(jìn)行分布式處理。 (4)通信接口功能,在用戶、局部DBMS 和其他計(jì)算機(jī)的DBMS 之間進(jìn)行協(xié)調(diào)。

(5)在一個(gè)異構(gòu)型分布式處理環(huán)境中,還需提供數(shù)據(jù)和進(jìn)程移植的支持。這里的異構(gòu)型是指各個(gè)場(chǎng)地的硬件、軟件之間存在一定差別。 DDBMS 組成:應(yīng)包括以下四個(gè)子系統(tǒng): 查詢子系統(tǒng) 完整性子系統(tǒng) 調(diào)度子系統(tǒng) 可靠性子系統(tǒng)

5、對(duì)于分布式系統(tǒng),壓倒一切的性能目標(biāo)是使通過(guò)網(wǎng)絡(luò)傳送信息的次數(shù)和數(shù)據(jù)量最小。

三、分布式查詢處理

為了達(dá)到性能目標(biāo),在分布式系統(tǒng)中,通常采用基于半聯(lián)接的查詢優(yōu)化策略。

數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時(shí),如果以整個(gè)關(guān)系傳輸,然后將關(guān)系與另一場(chǎng)地關(guān)系進(jìn)行聯(lián)接,則傳輸數(shù)據(jù)量大,而在聯(lián)接時(shí)并非每個(gè)數(shù)據(jù)都參與操作或有用,因此,考慮到不參與操作的值或

,

無(wú)用的值不必經(jīng)網(wǎng)絡(luò)來(lái)回傳輸,則可以減少傳輸?shù)臄?shù)據(jù)量。這就是基于半聯(lián)接的查詢優(yōu)化策略的基本思想。

四、客戶/服務(wù)器式DBS

1、客戶/服務(wù)器式DBS 是在客戶/服務(wù)器計(jì)算機(jī)網(wǎng)絡(luò)上運(yùn)行的DBS ,這個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中,有一些計(jì)算機(jī)扮演客戶,另一些計(jì)算機(jī)扮演服務(wù)者(即客戶機(jī)/服務(wù)器) ??蛻?服務(wù)體系結(jié)構(gòu)的關(guān)鍵在于功能的分布。一些功能放在客戶機(jī)(前端機(jī)) 上運(yùn)行,另一些功能則放在服務(wù)器(后端機(jī)) 上執(zhí)行。

2、客戶/服務(wù)器式的分布式DBS 中,把DBMS 軟件分成兩級(jí):客戶級(jí)和服務(wù)器級(jí)。如某些場(chǎng)地可能只運(yùn)行客戶機(jī)軟件,某些場(chǎng)地可能只運(yùn)行專用的服務(wù)器軟件,而在有一些場(chǎng)地可能客戶機(jī)軟件和服務(wù)器軟件都運(yùn)行。

3、在典型的分布式DBMS 中,軟件模塊分成以下三級(jí):

(1)服務(wù)器級(jí)軟件:負(fù)責(zé)場(chǎng)地的局部數(shù)據(jù)管理

(2)客戶機(jī)軟件:負(fù)責(zé)進(jìn)行分布式管理,從數(shù)據(jù)字典中獲取數(shù)據(jù)分布的信息,并處理涉及多場(chǎng)地的全局查詢。

(3)通信軟件:負(fù)責(zé)提供各場(chǎng)地間的數(shù)據(jù)傳輸。

第八章_具有面向?qū)ο筇卣鞯臄?shù)據(jù)庫(kù)系統(tǒng)

本章不是重點(diǎn)章,通過(guò)學(xué)習(xí),可以了解兩類具有面向?qū)ο筇卣鞯臄?shù)據(jù)庫(kù)系統(tǒng)的基本概念。僅此而已。 一、數(shù)據(jù)模型的演變過(guò)程 第一代數(shù)據(jù)庫(kù)系統(tǒng)是70年代流行的層次、網(wǎng)狀DBS 。第二代DBS 是80年代流行的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。 但是這兩代數(shù)據(jù)庫(kù)不能適應(yīng)新的應(yīng)用需要: 多媒體數(shù)據(jù) 空間數(shù)據(jù) 時(shí)態(tài)數(shù)據(jù) 復(fù)合對(duì)象 新一代的數(shù)據(jù)庫(kù)系統(tǒng)從面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫(kù)結(jié)構(gòu)的角度出發(fā)。形成兩種風(fēng)格,一是" 面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)"(OODBS),另一種是" 對(duì)象關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)"(ORDBS) 二、嵌套關(guān)系和復(fù)合對(duì)象 關(guān)系模式中的數(shù)據(jù)結(jié)構(gòu)層次是" 關(guān)系---元組---屬性" 而屬性類型是一些基本的數(shù)據(jù)類型。元組是屬性值的有序集合,關(guān)系是元組的無(wú)序集合,關(guān)系具有規(guī)范化結(jié)構(gòu)(1NF).因此,傳統(tǒng)關(guān)系模型稱為" 平面關(guān)系模型" 。 若允許關(guān)系的屬性值又可以是關(guān)系,而且可以嵌套,形成非1NF 關(guān)系,則形成嵌套關(guān)系模型。 若進(jìn)一步放寬限制,允許關(guān)系中的屬性可以是基本數(shù)據(jù)類型、結(jié)構(gòu)類型(元組類型) 或集合類型(即關(guān)系類型) 。則形成復(fù)合對(duì)象模型。 三、對(duì)象關(guān)系數(shù)據(jù)庫(kù) 在傳統(tǒng)的關(guān)系數(shù)據(jù)模型基礎(chǔ)上,提供元組、數(shù)組、集合一類更為豐富的數(shù)據(jù)類型以及處理新的數(shù)據(jù)類型操作的能力,這樣形成的數(shù)據(jù)模型稱為" 對(duì)象關(guān)系數(shù)據(jù)模型" ,基于對(duì)象關(guān)系數(shù)據(jù)模型的DBS 稱為對(duì)象關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(ORDBS)。 三、面向?qū)ο髷?shù)據(jù)庫(kù) 在面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言(OOPL) C 基礎(chǔ)上進(jìn)行擴(kuò)充,引入數(shù)據(jù)庫(kù)技術(shù),能操作持久數(shù)據(jù),處理數(shù)據(jù)庫(kù)。形成持久化C 系統(tǒng)。也就是面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)。

標(biāo)簽: