卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

數(shù)量方法

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

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

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

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

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

2、文件系統(tǒng)階段的特點與缺陷: (1)數(shù)據(jù)可長期保存在磁盤上。 (2)數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)有了區(qū)別

(3)文件組織呈現(xiàn)多樣化

(4)數(shù)據(jù)不再屬于某個特定程序,可以重復(fù)使用。 其缺陷是: 數(shù)據(jù)冗余性 數(shù)據(jù)不一致性 數(shù)據(jù)聯(lián)系弱

3、數(shù)據(jù)庫階段的特點

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

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

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

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

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

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

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

System) ,DBMS 是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB 的方法,包括DB 的建立、查詢、更新及各種數(shù)據(jù)控制。DBMS 總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮虳BMS 。 DBS :數(shù)據(jù)庫系統(tǒng)(Database System),DBS 是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。

數(shù)據(jù)庫技術(shù):是一門研究數(shù)據(jù)庫結(jié)構(gòu)、存儲、管理和使用的軟件學(xué)科。

二、數(shù)據(jù)描述的術(shù)語(領(lǐng)會) 1、數(shù)據(jù)描述的三個領(lǐng)域:現(xiàn)實世界、信息世界和機器世界。

信息世界中的幾個概念:實體(即客觀存在可以相互區(qū)別的事物) 、實體集(同類實體的集合) 、屬性(實體的特性) 、實體標識符(唯一標識實體的屬性(集)) 。

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

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

1:1聯(lián)系:如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯(lián)系,反之亦然,好么實體集E1對E2的聯(lián)系稱為" 一對一聯(lián)系" ,記為"1:1" 。

1:N 聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系,那么E1對E2的聯(lián)系是" 一對多聯(lián)系" ,記為"1:N" 。

M :N 聯(lián)系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么E1對E2的聯(lián)系是" 多對多聯(lián)系" ,記為"M :N" 。

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

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

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

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

3、 結(jié)構(gòu)數(shù)據(jù)模型:它是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),是現(xiàn)實世界的第二層抽象。這類模型涉及到計算機系統(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)表示實體間聯(lián)系的數(shù)據(jù)模型

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

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

四、數(shù)據(jù)庫的體系結(jié)構(gòu)(領(lǐng)會) 1、三級結(jié)構(gòu)模式:數(shù)據(jù)庫的體系結(jié)構(gòu)分為三級:內(nèi)部級、概念級和外部級:

外部級:單個用戶所能看到的數(shù)據(jù)特性,稱外模式。

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

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

2、兩級映象:

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

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

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

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

五、數(shù)據(jù)庫管理系統(tǒng)(DBMS 領(lǐng)會) 1、DBMS 的主要功能:

(1)數(shù)據(jù)庫的定義功能 (2)數(shù)據(jù)庫的操縱功能 (3)數(shù)據(jù)庫的保護功能 (4)數(shù)據(jù)庫的存儲管理 (5)數(shù)據(jù)庫的維護功能 (6)數(shù)據(jù)字典 2、DBMS 的組成:

由兩大部分組成:查詢處理器和存儲管理器,前者包括DDL 編譯器、DML 編譯器、嵌入型DML 預(yù)編譯器、查詢運行核心程序。后者包括授權(quán)和完整性管理器,事務(wù)管理器、文件管理器,緩沖區(qū)管理器。

六、數(shù)據(jù)庫系統(tǒng)(DBS 領(lǐng)會) DBS 由四部分組成:數(shù)據(jù)庫、硬件、

,

軟件、數(shù)據(jù)庫管理員。

DBS 的全局結(jié)構(gòu)及DBS 的效益,了解一下。

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

本章為次重點章,我們經(jīng)常使用的數(shù)據(jù)庫均采用關(guān)系模型,本章主要介紹了關(guān)系模型的關(guān)系運算理論,主要在于對關(guān)系演算運算的理解,為后面章節(jié)的SQL 作準備。

一、關(guān)系模型的基本概念(識記) 1、關(guān)系模型的基本術(shù)語: 用二維表格結(jié)構(gòu)表示實體集、外鍵表示實體間聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。

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

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

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

主鍵:用戶選作元組標識的一個候選

鍵為主鍵。

外鍵:某個關(guān)系的主鍵相應(yīng)的屬性在另一關(guān)系中出現(xiàn),此時該主鍵在就是另一關(guān)系的外鍵,如有兩個關(guān)系S 和SC, 其中S#是關(guān)系S 的主鍵,相應(yīng)的屬性S#在關(guān)系SC 中也出現(xiàn),此時S#就是關(guān)系SC 的外鍵。

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

關(guān)系模式:關(guān)系模式實際上就是記錄類型。它包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式僅是對數(shù)據(jù)特性的描述。 (這通常在數(shù)據(jù)庫中表現(xiàn)為一個數(shù)據(jù)表的結(jié)構(gòu)) 關(guān)系子模式:就是用戶所用到那部分數(shù)據(jù)的描述。

存儲模式:關(guān)系存儲時的基本組織方式是文件,元組是文件中的記錄。 3、關(guān)系模型的三類完整性規(guī)則 實體完整性規(guī)則:要求關(guān)系中組成主鍵的屬性上不能有空值。 參照完整性規(guī)則:要求不引用不存在的實體。

用戶定義完整性規(guī)則:由具體應(yīng)用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機制。

4、關(guān)系模型的形式定義:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性規(guī)則。

二、關(guān)系代數(shù)運算(簡單應(yīng)用) 1、關(guān)系代數(shù)的五個基本操作:并、差、笛卡爾積、投影和選擇。 并(∪) :兩個關(guān)系需有相同的關(guān)系模式,并的對象是元組,由兩個關(guān)系所

有元組構(gòu)成。

差(-):同樣,兩個關(guān)系有相同的模式,R 和S 的差是由屬于R 但不屬于S 的元組構(gòu)成的集合。

投影(σ) :對關(guān)系進行垂直分割,消去某些列,并重新安排列的順序。 選擇(π) :根據(jù)某些條件關(guān)系作水平分割,即選擇符合條件的元組。 2、關(guān)系代數(shù)的四個組合操作:交、聯(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)接(θ為等號"=")。

自然聯(lián)接(R|X|S):在R ×S 中,選擇R 和S 公共屬性值均相等的元組,并去掉R ×S 中重復(fù)的公共屬性列。如果兩個關(guān)系沒有公共屬性,則自然聯(lián)接就轉(zhuǎn)化為笛卡爾積。

除法(÷) :首先除法的結(jié)果中元數(shù)為兩個元數(shù)的差,以例2.6為例,我們可以直接用觀察法來得到結(jié)果,把S 看作一個塊,拿到R 中去和相同屬性集中的元組作比較,如果有相同的塊,且除去此塊后留下的相應(yīng)元組均相同,那么可以得到一條元組,所有這些元組的集合就是除法的結(jié)果。 對于上述的五個基本操作和組合操作,應(yīng)當(dāng)從實際運算方面進行理解和運用,對其形式定義可不必深究。注意課本上的例子。 3、關(guān)系代數(shù)表達式及應(yīng)用

在關(guān)系代數(shù)表達式中,復(fù)合了上述五個基本操作,在給出相應(yīng)的表格(關(guān)系) 中,應(yīng)該能夠根據(jù)給出的關(guān)系代數(shù)表達式計算關(guān)系值,也要能根據(jù)相應(yīng)查詢要求列出關(guān)系表達式。 在列關(guān)系表達式時,通常有以下形式:

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

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

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

關(guān)系演算分為元組關(guān)系演算或域關(guān)系演算,前者以元組為變量,后者以域為變量。

元組演算表達式的一般形式為:{t|P(t)},其含義為:這是一個元組集合,其中的每個元組t(t是元組變量) 滿足公式P 所規(guī)定的條件。所以在書寫演算表達式時,應(yīng)該注重理解公式P 如何表達。

域演算表達式的一般形式為:{t1...tk|P(t1...,tk)},其含義為:這是一個域集合,其中每個域變量的取值關(guān)系滿足公式P 所規(guī)定的條件。也是注意公式P 的表達。 以上兩類演算需要一定的離散數(shù)學(xué)基礎(chǔ),如果不能很深刻的掌握,問題

也不大,主要應(yīng)看懂表達式即可,對于給定的表達式和給定的關(guān)系,應(yīng)當(dāng)能計算表達式的結(jié)果(得到一個關(guān)系)

四、查詢優(yōu)化

查詢優(yōu)化的目的就是為了系統(tǒng)在執(zhí)行時既省時間又能提高效率,在關(guān)系代數(shù)運算中,通常是先進行笛卡爾積或聯(lián)接運算,再進行選擇和投影,恰當(dāng)?shù)匕才胚x擇、投影和聯(lián)接的順序,就可實現(xiàn)查詢優(yōu)化。

優(yōu)化的策略主要有以下幾點: (1)在關(guān)系代數(shù)表達式中盡可能早地執(zhí)行選擇操作(早選擇).

(2)把笛卡爾積和隨后的選擇操作合并成F 聯(lián)接運算(F聯(lián)接) (3)同時計算一連串的選擇和投影操作(同時算)

(4)保留同一子表達式的結(jié)果 (5)適當(dāng)對關(guān)系文件進行預(yù)處理 (6)計算表達式之前先估計一下怎么計算合算。

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

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

本章為重點章,應(yīng)熟悉和掌握SQL 的數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新的句法及其應(yīng)用,特別是數(shù)據(jù)查詢的應(yīng)用。結(jié)合上機操作進行理解和掌握。

,

一、SQL 概述。 1、SQL 發(fā)展歷程(識記)

SQL 從1970年美國IBM 研究中心的E.F.Codd 發(fā)表論文到1974年Boyce 和Chamberlin 把SQUARE 語言改為SEQUEL 語言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL(結(jié)構(gòu)式查詢語言) 雖然名為查詢,但實際上具有定義、查詢、更新和控制等多種功能。 2、SQL 數(shù)據(jù)庫的體系結(jié)構(gòu)(領(lǐng)會) SQL 數(shù)據(jù)庫的體系結(jié)構(gòu)也是三級結(jié)構(gòu),但術(shù)語與傳統(tǒng)關(guān)系模型術(shù)語不同,在SQL 中,關(guān)系模式稱為" 基本表" ,存儲模式稱為" 存儲文件" ,子模式稱為" 視圖" ,元組稱" 行" ,屬性稱" 列" 。

SQL 數(shù)據(jù)庫體系的結(jié)構(gòu)要點如下: (1)一個SQL 數(shù)據(jù)庫是表的匯集。 (2)一個SQL 表由行集構(gòu)成,行是列的序列,每列對應(yīng)一個數(shù)據(jù)項。 (3)表或者是基本表,或者是視圖?;颈硎菍嶋H存儲在數(shù)據(jù)庫中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。

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

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

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

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

二、SQL 的數(shù)據(jù)定義(簡單應(yīng)用) 1、SQL 模式的創(chuàng)建和撤消: SQL 模式的創(chuàng)建可簡單理解為建立一個數(shù)據(jù)庫,定義一個存儲空間,其句法是: CREAT SCHEMA

<模式名> AUTHORIZATION <用戶名> 撤消SQL 模式的句法為: DROP SCHEMA <模式名> [CASCADE|RESTRICT]

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

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

時間型: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(增加/刪除) 列名 類型名(增加時寫出) 刪除時有子句

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

創(chuàng)建:CREAT VIEW 視圖名(列名表) AS SELECT 查詢語句 撤消: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)用) 這一段是本章的重點內(nèi)容,應(yīng)該熟練掌握。首先了解基本句法: 1、SELECT-FROM-WHERE 句型 SELECT 列名表(逗號隔開) FROM 基本表或視圖序列 WHERE 條件表達式 在這里,重點要掌握條件表達式中各種運算符的應(yīng)用,如=,>,<,<>等算術(shù)比較運算符、邏輯運算符AND 、OR 、NOT 、集合成員資格運算符:IN ,NOT IN ,以及嵌套的SELECT 語句的用法要特別注意理解。針對課本的例題和課后習(xí)題進行掌握。

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

2.SELECT 語句完整的句法: SELECT 列名表(逗號隔開) FROM 基本表或視圖序列 [WHERE 條件表達式] (此為和條件子句)

[GROUP BY 列名序列] (分組子句) [HAVING 組條件表達式] (組條件子句)

[ORDER BY列名[ASC|DESC]..] (排序子句)

這段關(guān)于完整句法的內(nèi)容能夠理解也就問題不大了。 3、SELECT 語句中的限定

這一段內(nèi)容主要是對SELECT 語句進一步使用進行的深入學(xué)習(xí),領(lǐng)會下列各種限定的使用目的和方法。

要求輸出表格中不出現(xiàn)重復(fù)元組,則在SELECT 后加一DISTINCT SELECT 子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達式 WHERE 子句中可以用

BETWEEN...AND... 來限定一個值的范圍

同一個基本表在 SELECT語句中多次引用時可用AS 來增加別名 WHERE 子句中字符串匹配用LIKE 和兩個通配符,和下劃線_. 查詢結(jié)果的結(jié)構(gòu)完全一致時可將兩個查詢進行并(UNION)交(INTERSECT)差(EXCPT)操作

查詢空值操作不是用='null',而是用 IS NULL來測試。

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

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

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

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

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

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

,

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

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

SET 列名=值表達式,[列名=值表達式...]

[WHERE 條件表達式] 4、對視圖的更新:

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

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

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

第四章_關(guān)系數(shù)據(jù)庫的模式設(shè)計 本章的理論性較強,學(xué)習(xí)時有無從下手的感覺,在學(xué)習(xí)時應(yīng)多加思考,從概念出發(fā)去理解理論,前后的理論有較強的聯(lián)系,因此要逐個理解,但對

于理論的證明等內(nèi)容則不必深究,本章重點是函數(shù)依賴,無損聯(lián)接、保持依賴和范式的概念。

一、關(guān)系模式的設(shè)計問題(識記) 關(guān)系數(shù)據(jù)庫是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫,它利用關(guān)系來描述現(xiàn)實世界。一個關(guān)系既可以用來描述一個實體及其屬性,也可以用來描述實體間的聯(lián)系。關(guān)系實質(zhì)上就是一張二維表,表的行稱為元組,列稱為屬性。 關(guān)系模式是用來定義關(guān)系的,這里的關(guān)系模式我們可以簡單地理解為一個表的結(jié)構(gòu),一個關(guān)系數(shù)據(jù)庫包含一組關(guān)系,也就是包含一組二維表,這些二維表結(jié)構(gòu)體的集合就構(gòu)成數(shù)據(jù)庫的模式(也可以理解為數(shù)據(jù)庫的結(jié)構(gòu)) 。

關(guān)系數(shù)據(jù)庫設(shè)計理論包括三個方面內(nèi)容:數(shù)據(jù)依賴、范式、模式設(shè)計方法。核心內(nèi)容是數(shù)據(jù)依賴。 泛關(guān)系模式:把現(xiàn)實問題的所有屬性組成一個關(guān)系模式R(U),這個關(guān)系模式就稱為泛關(guān)系模式。

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

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

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

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

1、函數(shù)依賴的定義(領(lǐng)會) :設(shè)有關(guān)系模式R(A1,A2,...An) 或簡記為R(U),X ,Y 是U 的子集,r 是R 的任一具體關(guān)系,如果對r 的任意兩個元組t1,t2, 由t1[X]=t2[X]導(dǎo)致t1[Y]=t2[Y],則稱X 函數(shù)決定Y ,或Y 函數(shù)依賴于X ,記為X →Y 。X →Y 為模式R 的一個函數(shù)依賴。 這個定義可以這樣理解:有一張設(shè)計好的二維表,X ,Y 是表的某些列(可以是一列,也可以是多列) ,若在表中的第t1行,和第t2行上的X 值相等,那么必有t1行和t2行上的Y 值也相等,這就是說Y 函數(shù)依賴于X 。如下圖所示:

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

……………………

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

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

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

上述例子可對照課本理論進行領(lǐng)會。 2、函數(shù)依賴的邏輯蘊涵(識記) 設(shè)F 是關(guān)系模式R 的一個函數(shù)依賴集,X,Y 是R 的屬性子集,如果從F 中的函數(shù)依賴能夠推出X →Y ,則稱F 邏輯蘊涵X →Y ,記為F|=X→Y. 如前面的例子,如果還有一屬性" 網(wǎng)址(Z)",且網(wǎng)站名是唯一的,那么," 網(wǎng)站名→網(wǎng)址" 成立,同時已知 " 專欄名→網(wǎng)站名" 成立,根據(jù)我們對事實的掌握,可知 "專欄名→網(wǎng)址" 也是成立的。所以在這里,設(shè)F={網(wǎng)站名(Y)→網(wǎng)址(Z),專欄名(X)→網(wǎng)站名(Y)},則F 邏輯蘊涵 " 專欄名(X)→網(wǎng)址(Z)"。 而函數(shù)依賴的閉包F 是指被F 邏輯蘊涵的函數(shù)依賴的全體構(gòu)成的集合。 3、鍵和FD 的關(guān)系(領(lǐng)會)

鍵是唯一標識實體的屬性集。對于鍵和函數(shù)依賴的關(guān)系:有兩個條件:設(shè)

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

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

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

前面我們舉的例子中是以實際經(jīng)驗來確定一個函數(shù)依賴的邏輯蘊涵,但是我們需要一個推理規(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 所蘊涵,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ù)依賴推理規(guī)則系統(tǒng)(自反律、增廣律和傳遞律) 是完備的。由推理規(guī)則的完備性可得到兩個重要結(jié)論: 屬性集X 中的每個屬性A ,都有X →A 被F 邏輯蘊涵,即X 是所有由F 邏輯蘊含X →A 的屬性A 的集合。 F 是所有利用Amstrong 推理規(guī)則從F 導(dǎo)出的函數(shù)依賴的集合

6、函數(shù)依賴集的等價和覆蓋(識記) 在關(guān)系模式R(U)上的兩個函數(shù)依賴集F 和G ,如果滿足F =G ,則稱F 和G 是等價的,稱F 和G 等價也稱F 覆蓋G 或G 覆蓋F 。

每個函數(shù)依賴集F 都可以被一個右部只有單屬性的函數(shù)依賴集G 所覆蓋。

如果函數(shù)依賴集合F 滿足: (1)F中每一個函數(shù)依賴的右部都是單屬性;

(2)F中的任一函數(shù)依賴X →A ,其F-{X→A}是不等價的;

(3)F中的任一函數(shù)依賴X →A ,Z 為X 的子集。(F-{X→A})∪{Z→A}與F 不等價。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3NF :第三范式。

如果關(guān)系模式R 是第二范式,且每個非主屬性都不傳遞依賴于R 的候選鍵,則稱R 為第三范式的模式。

這里首先要了解傳遞依賴的含義: 在關(guān)系模式中,如果Y →X ,X →A ,且X 不決定Y 和A 不屬于X ,那么Y →A 是傳遞依賴。

注意的是,這里要求非主屬性都不傳遞依賴于候選鍵。

BCNF :這個范式和第三范式有聯(lián)系,它是3NF 的改進形式。若關(guān)系模式R 是第一范式,且每個屬性都不傳遞依賴于R 的候選鍵。這種關(guān)系模式就是BCNF 模式。

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

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

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

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

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

,

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

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

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

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

(3)如果ρ中有一個關(guān)系模式S 不是BCNF ,則S 中必能找到一個函數(shù)依賴集X →A 有X 不是S 的鍵,且A 不屬于X ,設(shè)S1=XA,S2=S-A,用分解S1,S2代替S ,轉(zhuǎn)(2); (4)分解結(jié)束。輸出ρ。

在這個過程中,重點在于(3)步,判斷哪個關(guān)系不是BCNF ,并找到X 和A 。這里,S 的判斷用BCNF 的定義,而X 不是S 的鍵則依靠分析。 6、分解成3NF 模式集(識記) 算法:

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

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

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

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

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

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

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

8、多值依賴。簡單了解一下。

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

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

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

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

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

數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)也是一項軟件工程,稱為數(shù)據(jù)庫工程,數(shù)據(jù)庫應(yīng)用系統(tǒng)也有生存期的概念,通常包括七個階段: (1)規(guī)劃階段 (2)需求分析階段 (3)概念設(shè)計階段 (4)邏輯設(shè)計階段 (5)物理設(shè)計階段 (6)實現(xiàn)階段 (7)運行維護階段 3、數(shù)據(jù)庫設(shè)計方法學(xué)

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

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

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

三、需求分析(識記)

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

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

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

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

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

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

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

4、基本ER 模型的擴展(領(lǐng)會) ER(實體聯(lián)系) 模型是對現(xiàn)實世界的一種抽象,它的主要成份是實體、聯(lián)系和屬性。但是在現(xiàn)實世界中還有一些特殊的語義。需要擴展ER 模型的概念才能更好地模擬現(xiàn)實世界。 依賴聯(lián)系:在現(xiàn)實世界中,有些實體對一另一些實體有很強的依賴關(guān)系,即一個實體的存在必須以另一實體的存在為前提。前者就稱為" 弱實體" ,如在人事管理系統(tǒng)中,職工子女的信息就是以職工的存在為前提的,子女實體是弱實體,子女與職工的聯(lián)系是一種依賴聯(lián)系。在ER 圖中用雙線框表示弱實體。用箭頭表示依賴聯(lián)系。

子類:在現(xiàn)實中,存在某個實體類型中所有實體同時也是另一實體類型中的實體,此時,我們稱前一實體類型為者的子類,后一實體類型稱為超類。子類有一個很重要的性質(zhì)繼承性。在ER 圖中,超類用兩端雙線框表示,并用加圈的線與子類相連。

,

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

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

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

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

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

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

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

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

五、邏輯設(shè)計

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

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

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

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

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

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

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

一個程序的執(zhí)行可通過若干事務(wù)的執(zhí)行序列來完成。

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

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

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

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

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

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

(dump)。注意幾個概念:靜態(tài)轉(zhuǎn)儲、動態(tài)轉(zhuǎn)儲、海量轉(zhuǎn)儲和增量轉(zhuǎn)儲。 (2)建立" 日志" 文件。

(3)恢復(fù)。發(fā)生故障時有兩種處理方法,如數(shù)據(jù)庫已破壞,則由DBA 裝入最近備份的數(shù)據(jù)庫然后利用" 日志文件" 執(zhí)行REDO(重做) 操作。如數(shù)據(jù)庫未被損壞,但某些數(shù)據(jù)不可靠,則系統(tǒng)會自動執(zhí)行UNDO 操作恢復(fù)數(shù)據(jù)。 5、運行記錄優(yōu)先原則(即先記錄,再更新,先記完,再結(jié)束)

(1)至少要等相應(yīng)的運行記錄已經(jīng)寫入" 日志" 文件后,才能允許事務(wù)往數(shù)據(jù)庫在寫數(shù)據(jù)。

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

二、數(shù)據(jù)庫的并發(fā)控制(領(lǐng)會) 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í)行LOCK

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

主鍵約束:可用主鍵子句或主鍵短語PRIMARY KEY 來定義。

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

,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

全復(fù)制式:數(shù)據(jù)在每個場地重復(fù)存儲。

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

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

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

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

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

其主要功能有:

(1)接受用戶請求,并判定把它送到哪里,或必須訪問哪些計算機才能滿足該請求。

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

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

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

三、分布式查詢處理

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

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

,

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

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

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

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

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

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

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

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

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

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

標簽: