• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            TanZek's 技術(shù)空間

            勇往直前,專注于技術(shù)...

            首頁 新隨筆 聯(lián)系 聚合 管理
              7 Posts :: 19 Stories :: 13 Comments :: 0 Trackbacks
            Trackback: http://51zk.csai.cn/sjkyl

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

              本章屬于基礎(chǔ)知識,主要是對一些概念的理解和記憶。沒有難點(diǎn),相對的重點(diǎn)在于ER模型的設(shè)計(jì)和關(guān)系模型的掌握。

            一、數(shù)據(jù)管理技術(shù)的發(fā)展階段( 識記 )

            數(shù)據(jù)管理技術(shù)共經(jīng)歷了三個階段: 人工管理階段 、 文件系統(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ù)不再屬于某個特定程序,可以重復(fù)使用。

            其缺陷是:

              數(shù)據(jù)冗余性

              數(shù)據(jù)不一致性

              數(shù)據(jù)聯(lián)系弱

            3、數(shù)據(jù)庫階段的特點(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)三級)

              數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口,可以使用查詢語言、終端命令或程序方式操作數(shù)據(jù)庫。

              系統(tǒng)提供了四個方面的數(shù)據(jù)控制功能:數(shù)據(jù)庫的恢復(fù)、并發(fā)控制、數(shù)據(jù)完整性和數(shù)據(jù)安全性。

              對數(shù)據(jù)的操作不一定以記錄為單位,還可以數(shù)據(jù)項(xiàng)為單位。

            數(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是實(shí)現(xiàn)有組織地、動態(tài)地存儲大量關(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)、存儲、管理和使用的軟件學(xué)科。

            二、數(shù)據(jù)描述的術(shù)語( 領(lǐng)會 )

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

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

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

            2、數(shù)據(jù)描述的兩種形式: 物理描述 和 邏輯描述 。前者是指數(shù)據(jù)在存儲設(shè)備上的存取方式,后者是指程序員或用戶以用以操作的數(shù)據(jù)形式。

            3、物理描述用到的術(shù)語有:位、字節(jié)、字、塊、桶、卷

            4、數(shù)據(jù)聯(lián)系的描述:

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

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

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

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

            1、 數(shù)據(jù)模型 的概念( 領(lǐng)會 ):

              表示實(shí)體類型及實(shí)體類型間聯(lián)系的模型稱為“數(shù)據(jù)模型”。它可分為兩種類型: 概念數(shù)據(jù)模型 和 結(jié)構(gòu)數(shù)據(jù)模型 。

            2、 概念數(shù)據(jù)模型( 簡單應(yīng)用 ) :

              它是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關(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)會 ):是由若干個關(guān)系模式組成的集合,其主要特征是用二維表格結(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)會 )

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

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

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

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

            2、兩級映象:

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

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

            3.兩級數(shù)據(jù)獨(dú)立性:

              物理數(shù)據(jù)獨(dú)立性 :修改內(nèi)模式時盡量不影響概念模式及外模式,則達(dá)到物理數(shù)據(jù)獨(dú)立性。   邏輯數(shù)據(jù)獨(dú)立性 :修改概念模式時盡量不影響外模式和應(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ù)庫的保護(hù)功能
              (4)數(shù)據(jù)庫的存儲管理
              (5)數(shù)據(jù)庫的維護(hù)功能
              (6)數(shù)據(jù)字典

            2、DBMS的組成:

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

            六、數(shù)據(jù)庫系統(tǒng)(DBS 領(lǐng)會 )

              DBS由四部分組成:數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員。

              DBS的全局結(jié)構(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)系模型的基本術(shù)語:

              用二維表格 結(jié)構(gòu)表示實(shí)體集、外鍵表示實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為 關(guān)系模型 。

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

              鍵 :由一個或幾個屬性組成。(注意鍵不一定是唯一的一個屬性)。

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

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

                主鍵 :用戶選作元組標(biāo)識的一個候選鍵為主鍵。

                外鍵 :某個關(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)系模式實(shí)際上就是記錄類型。它包括:模式名,屬性名,值域名以及模式的主鍵。關(guān)系模式僅是對數(shù)據(jù)特性的描述。 (這通常在數(shù)據(jù)庫中表現(xiàn)為一個數(shù)據(jù)表的結(jié)構(gòu))

              關(guān)系子模式 :就是用戶所用到那部分?jǐn)?shù)據(jù)的描述。

              存儲模式 :關(guān)系存儲時的基本組織方式是文件,元組是文件中的記錄。

            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)用)

            1、關(guān)系代數(shù)的五個基本操作:并、差、笛卡爾積、投影和選擇。

              并 (∪):兩個關(guān)系需有相同的關(guān)系模式,并的對象是元組,由兩個關(guān)系所有元組構(gòu)成。

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

              投影( σ):對關(guān)系進(jì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)從實(shí)際運(yùn)算方面進(jìn)行理解和運(yùn)用,對其形式定義可不必深究。注意課本上的例子。

            3、關(guān)系代數(shù)表達(dá)式及應(yīng)用

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

            在列關(guān)系表達(dá)式時,通常有以下形式:

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

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

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

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

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

              域演算表達(dá)式的一般形式為:{t1...tk|P(t1...,tk)},其含義為:這是一個域集合,其中每個域變量的取值關(guān)系滿足公式P所規(guī)定的條件。也是注意公式P的表達(dá)。

              以上兩類演算需要一定的離散數(shù)學(xué)基礎(chǔ),如果不能很深刻的掌握,問題也不大,主要應(yīng)看懂表達(dá)式即可,對于給定的表達(dá)式和給定的關(guān)系,應(yīng)當(dāng)能計(jì)算表達(dá)式的結(jié)果(得到一個關(guān)系)

            四、查詢優(yōu)化

              查詢優(yōu)化的目的就是為了系統(tǒng)在執(zhí)行時既省時間又能提高效率,在關(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)同時計(jì)算一連串的選擇和投影操作(同時算)

              (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é)合上機(jī)操作進(jìn)行理解和掌握。

            一、SQL概述。

            1、SQL發(fā)展歷程( 識記 )

               SQL從1970年美國IBM研究中心的E.F.Codd發(fā)表論文到1974年Boyce和Chamberlin把SQUARE語言改為SEQUEL語 言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL(結(jié)構(gòu)式查詢語言)雖然名為查詢,但實(shí)際上具有定義、查詢、更新和控制等多種功能。

            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)要點(diǎn)如下:

              (1)一個SQL數(shù)據(jù)庫是表的匯集。

              (2)一個SQL表由行集構(gòu)成,行是列的序列,每列對應(yīng)一個數(shù)據(jù)項(xiàng)。

              (3)表或者是基本表,或者是視圖。基本表是實(shí)際存儲在數(shù)據(jù)庫中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。

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

              (5)用戶可以用SQL語句對表進(jìn)行操作,包括視圖和基本表。

              (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 ]

              方括號中的選項(xiàng)參數(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)用 )

            這一段是本章的重點(diǎn)內(nèi)容,應(yīng)該熟練掌握。首先了解基本句法:

            1、 SELECT -FROM- WHERE 句型

            • SELECT 列名表(逗號隔開) FROM 基本表或視圖序列 WHERE 條件表達(dá)式

              在這里,重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用,如=,>,<,<>等算術(shù)比較運(yùn)算符、邏輯運(yùn)算符 AND、OR、NOT 、集合成員資格運(yùn)算符: IN,NOT IN ,以及嵌套的 SELECT 語句的用法要特別注意理解。 針對課本的例題和課后習(xí)題進(jìn)行掌握。

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

            2. SELECT 語句完整的句法:

            • SELECT 列名表(逗號隔開)
              FROM 基本表或視圖序列
              [ WHERE 條件表達(dá)式] (此為和條件子句)
              [GROUP BY 列名序列] (分組子句)
              [HAVING 組條件表達(dá)式] (組條件子句)
              [ORDER BY列名[ASC|DESC]..] (排序子句)

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

            3、 SELECT 語句中的限定

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

            • 要求輸出表格中不出現(xiàn)重復(fù)元組,則在 SELECT 后加一DISTINCT
            • SELECT 子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達(dá)式
            • WHERE 子句中可以用BETWEEN...AND...來限定一個值的范圍
            • 同一個基本表在 SELECT 語句中多次引用時可用AS來增加別名
            • WHERE 子句中字符串匹配用LIKE和兩個通配符,%和下劃線_.
            • 查詢結(jié)果的結(jié)構(gòu)完全一致時可將兩個查詢進(jìn)行并(UNION)交(INTERSECT)差(EXCPT)操作
            • 查詢空值操作不是用='null',而是用 IS NULL來測試。
            • 集合成員資格比較用 IN/NOT IN ,集合成員算術(shù)比較用元組θSOME/ALL
            • 可以用子查詢結(jié)果取名(表名(列名序列))來作為導(dǎo)出表使用
            • 基本表的自然聯(lián)接操作是用 NATURAL INNER JOIN來實(shí)現(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 條件表達(dá)式]

            3、數(shù)據(jù)修改:

            UPDATE 基本表名
            SET 列名=值表達(dá)式,[列名=值表達(dá)式...]
            [ WHERE 條件表達(dá)式]

            4、對視圖的更新:

            我們知道,對視圖的查詢是和基本表相同的,但是更新操作則受到下列三條規(guī)則的限制:(領(lǐng)會一下)

            • 如果視圖是從多個基本表使用聯(lián)接操作導(dǎo)出的,則不允許更新。
            • 如果導(dǎo)出的視圖使用了分組和聚合操作,也不允許更新。
            • 如果視圖是從單個基本表使用選擇和投影操作導(dǎo)出的,并且包括了基本表的主鍵或某個候選鍵,則可以執(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í)時有無從下手的感覺,在學(xué)習(xí)時應(yīng)多加思考,從概念出發(fā)去理解理論,前后的理論有較強(qiáng)的聯(lián)系,因此要逐個理解,但對于理論的證明等內(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í)世界。一個關(guān)系既可以用來描述一個實(shí)體及其屬性 ,也可以用來描述實(shí)體間的聯(lián)系。關(guān)系實(shí)質(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è)計(jì)理論包括三個方面內(nèi)容: 數(shù)據(jù)依賴 、范式 、模式設(shè)計(jì)方法。核心內(nèi)容是數(shù)據(jù)依賴。

              泛關(guān)系模式 :把現(xiàn)實(shí)問題的所有屬性組成一個關(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)系模式實(shí)例(表)→記錄(行、列.)

              關(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ù)依賴。

              這個定義可以這樣理解 :有一張?jiān)O(shè)計(jì)好的二維表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等,那么必有t1行和t2行上的Y值也相等,這就是說Y函數(shù)依賴于X。

            2、函數(shù)依賴的邏輯蘊(yùn)涵 ( 識記 )

              設(shè)F是關(guān)系模式R的一個函數(shù)依賴集,X,Y是R的屬性子集,如果從F中的函數(shù)依賴能夠推出X→Y,則稱F邏輯蘊(yùn)涵X→Y,記為F|=X→Y.

              而函數(shù)依賴的閉包F + 是指被F邏輯蘊(yùn)涵的函數(shù)依賴的全體構(gòu)成的集合。

            3、鍵和FD的關(guān)系 ( 領(lǐng)會 )

              鍵是唯一標(biāo)識實(shí)體的屬性集。對于鍵和函數(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)用 )

              前面我們舉的例子中是以實(shí)際經(jīng)驗(yàn)來確定一個函數(shù)依賴的邏輯蘊(yùn)涵,但是我們需要一個推理規(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ù)依賴推理規(guī)則系統(tǒng)(自反律、增廣律和傳遞律)是完備的。由推理規(guī)則的完備性可得到兩個重要結(jié)論:

            • 屬性集X + 中的每個屬性A,都有X→A被F邏輯蘊(yùn)涵,即X + 是所有由F邏輯蘊(yùn)含X→A的屬性A的集合。
            • F + 是所有利用Amstrong推理規(guī)則從F導(dǎo)出的函數(shù)依賴的集合

            6、函數(shù)依賴集的等價(jià)和覆蓋 ( 識記)

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

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

            • 如果函數(shù)依賴集合F滿足:
            • (1)F中每一個函數(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的一個 最小覆蓋 。

            這一段并不要求掌握最小集的求法,但是應(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)問題。

              衡量一個分解的標(biāo)準(zhǔ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)系實(shí) 例)都有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)系能由它的那些投影進(jìn)行自然聯(lián)接得到恢復(fù)。

              同時,分解關(guān)系模式時還應(yīng)保證關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫模式中保持不變,這就是保持函數(shù)依賴的問題。也就是所有分解出的模式所滿足的函數(shù)依賴的全體應(yīng)當(dāng)?shù)葍r(jià)于原模式的函數(shù)依賴集。只有這樣才能確保整個數(shù)據(jù)庫中數(shù)據(jù)的語義完整性不受破壞。

            四、關(guān)系模式的范式( 領(lǐng)會 )

            1、1NF、2NF、3NF、BCNF的定義:

            • 1NF:第一范式 。
              即關(guān)系模式中的屬性的 值域 中 每一個值 都是 不可再分解 的值。如果某個數(shù)據(jù)庫模式都是第一范式的,則稱該數(shù)據(jù)庫模式是屬于第一范式的數(shù)據(jù)庫模式。
            • 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)系進(jì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的改進(jìn)形式。若關(guān)系模式R是 第一范式 ,且 每個屬性 都 不 傳遞依賴于R的候選鍵。這種關(guān)系模式就是BCNF模式。

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

            5、 分解成BCNF模式集的算法( 識記 )

              對于任一關(guān)系模式,可找到一個分解達(dá)到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è)S 1 =XA,S 2 =S-A,用分解S 1 ,S 2 代替S,轉(zhuǎn)(2);
            • (4)分解結(jié)束。輸出ρ。

              在這個過程中, 重點(diǎn)在于(3)步 ,判斷哪個關(guān)系不是BCNF,并找到X和A。這里,S的判斷用BCNF的定義,而X不是S的鍵則依靠分析。

            6、 分解成3NF模式集( 識記 )

              算法:
            • (1)如果R中的某些屬性在F的所有依賴的左邊和右邊都不出現(xiàn),那么這些屬性可以從R中分出去,單獨(dú)構(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→A 1 ,X→A 2 ...X→A n ,則可以用模式XA 1 A 2 ...A n 代替n個模式XA 1 ,XA 2 ...XA n ;
            • (4)w分解結(jié)束,輸入ρ。

              這個過程的 重點(diǎn)是這一句 “對于F中每一個X→A,構(gòu)成一個關(guān)系模式XA”,這使我們的分解十分容易,然后依據(jù)合并律(合并律:如果X→Y和X→Z成立,那么X→YZ成立)將有關(guān)模式合并即得到所需3NF模式。

            7、 模式設(shè)計(jì)方法的原則( 識記 )

              關(guān)系模式R相對于函數(shù)依賴集F分解成數(shù)據(jù)庫模式ρ={R 1 ,R 2 ...R k },一般具有下面 四項(xiàng)特性 :

            • ρ中每個關(guān)系模式R i 上應(yīng)具有某種 范式性質(zhì) (3NF或BCNF)
            • 無損聯(lián)接 性。
            • 保持函數(shù)依賴 集。
            • 最小性 ,即ρ中模式個數(shù)應(yīng)最少且模式中屬性總數(shù)應(yīng)最少。

            一個好的模式設(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)行后的維護(hù)、直到它被新的軟件所取代而停止使用的整個期間。它包括六個階段:( 規(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)也有生存期的概念,通常包括七個階段:

            • (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é)

              一個好的數(shù)據(jù)庫設(shè)計(jì)方法應(yīng)該能在合理的期限內(nèi),以合理的工作量產(chǎn)生一個有實(shí)用價(jià)值的數(shù)據(jù)庫結(jié)構(gòu)。

              數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計(jì)分為以下幾個階段:規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)。

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

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

            三、需求分析( 識記 )

              需求分析階段應(yīng)對系統(tǒng)的整個應(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)行個人訪問得到。還應(yīng)了解系統(tǒng)將來要發(fā)生的變化,充分考慮系統(tǒng)的可能的擴(kuò)充和變動,使系統(tǒng)設(shè)計(jì)更符合未來發(fā)展方向。

              需求分析的步驟大致分為三步:即 需求信息的收集、分析整理和評審。

              數(shù)據(jù)字典:是對系統(tǒng)中數(shù)據(jù)的詳盡描述,它提供對數(shù)據(jù)庫數(shù)據(jù)描述的集中管理。它包含以下幾個部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲和加工過程。

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

            1、 概念模型 :可以看成是現(xiàn)實(shí)世界到機(jī)器世界的一個過渡的中間層次。在設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時,要把現(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ù)抽象的兩種形式:聚集和概括:

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

              概括 :是從一類其他對象形成一個對象。如有桃樹、李樹、杏樹等對象,我們通過概括或以得到一個對象"樹"。概括表示的是"is_a"的關(guān)系,如“李樹”是一種“樹”。

            4、基本ER模型的擴(kuò)展( 領(lǐng)會 )

              ER(實(shí)體聯(lián)系)模型 是對現(xiàn)實(shí)世界的一種抽象,它的主要成份是 實(shí)體 、 聯(lián)系 和 屬性 。但是在現(xiàn)實(shí)世界中還有一些特殊的語義。需要擴(kuò)展ER模型的概念才能更好地模擬現(xiàn)實(shí)世界。

               依賴聯(lián)系 :在現(xiàn)實(shí)世界中,有些實(shí)體對一另一些實(shí)體有很強(qiáng)的依賴關(guān)系,即一個實(shí)體的存在必須以另一實(shí)體的存在為前提。前者就稱為"弱實(shí)體",如在人事管理系統(tǒng)中,職 工子女的信息就是以職工的存在為前提的,子女實(shí)體是弱實(shí)體,子女與職工的聯(lián)系是一種依賴聯(lián)系。在ER圖中用雙線框表示弱實(shí)體。用箭頭表示依賴聯(lián)系。

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

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

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

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

              注意:在垂直分割時,鍵必須在分裂后的每個實(shí)體類型中出現(xiàn)。在聯(lián)系類型合并時,所合并的聯(lián)系類型必須是定義在相同的實(shí)體類型中。

            6、 采用ER方法的數(shù)據(jù)庫概念設(shè)計(jì)( 領(lǐng)會 )

            采用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é)果是得到一個與DBMS無關(guān)的概念模式。而 邏輯設(shè)計(jì) 的目的是把概念設(shè)計(jì)階段設(shè)計(jì)好的基本 ER圖轉(zhuǎn)換 為與選用的具體機(jī)器上的DBMS所支持的數(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)會 )

            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ù)方法

            4、恢復(fù)的基本原則和實(shí)現(xiàn)方法

              恢復(fù)的基本原則 很簡單,就是“ 冗余 ”,即數(shù)據(jù)的重復(fù)存儲 。

              實(shí)現(xiàn)方法有:
            • (1)定期對數(shù)據(jù)庫進(jìn)行 復(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ùn)行記錄優(yōu)先原則 (即 先記錄,再更新,先記完,再結(jié)束 )

            • (1)至少要等相應(yīng)的運(yùn)行記錄已經(jīng)寫入“日志”文件后,才能允許事務(wù)往數(shù)據(jù)庫在寫數(shù)據(jù)。
            • (2)直到事務(wù)的所有運(yùn)行記錄都已寫入運(yùn)行“日志”文件后,才能允許事務(wù)完成“END TRANSACTION”處理。

            6、SQL中的恢復(fù)操作,可上機(jī)觀察。

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

              簡記為: 先鎖S,再執(zhí)行,鎖不到,就等待,若要修改則升X 。

              PSC協(xié)議:由PS協(xié)議和“將S封鎖保持到事務(wù)終點(diǎn)”組成。

            3、 活鎖 :是指某個事務(wù)永遠(yuǎn)處于等待狀態(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ù)進(jìn)行讀寫操作之前,事務(wù)首先要獲得對該數(shù)據(jù)的封鎖;(2)在釋放一個封鎖之后,事務(wù)不再獲得任何其他封鎖。

              針對課本的例子來理解。

            三、數(shù)據(jù)庫的完整性( 領(lǐng)會 )

            1、數(shù)據(jù)庫的 完整性 是指數(shù)據(jù)的 正確性和相容性 。數(shù)據(jù)庫中數(shù)據(jù)發(fā)生錯誤,往往是由非法更新引起的。

            數(shù)據(jù)庫完整性是通過DBMS的 完整性子系統(tǒng) 實(shí)現(xiàn)的,它有兩個功能:

            • (1)監(jiān)督事務(wù)的執(zhí)行,并測試是否違反完整性規(guī)則。
            • (2)如有違反,則采取恰當(dāng)?shù)牟僮鳎缇芙^、報(bào)告違反情況,改正錯誤等方法進(jìn)行處理。

              數(shù)據(jù)庫完整性子系統(tǒng) 是根據(jù)“ 完整性規(guī)則集 ” 工作的,這些完整性規(guī)則包括: 域 完整性規(guī)則、 域聯(lián)系 的規(guī)則、 關(guān)系完整性 規(guī)則(一個比一個大)

            2、SQL中的完整性約束

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

            • 主鍵約束:可用主鍵子句或主鍵短語 PRIMARY KEY 來定義。
            • 外鍵約束:可用外鍵子句來定義如 FOREIGN KEY (S#) REFERNCE S(S#)
            • 屬性值約束:包括非空值約束( NOT NULL )和基于屬性的檢查子句( CHECK ) 及域約束子句 如 CREAT DOMAIN AGE SMALLINT CHECK (&#118alue>10)
            • 全局約束:包括基于元組的檢查子句( CHECK )和斷言( CREATE ASSERTION 斷言名 CHECK 條件)。

            四、數(shù)據(jù)庫的安全性( 識記 )

            數(shù)據(jù)庫的安全性是指保護(hù)數(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é)點(diǎn)到用戶結(jié)點(diǎn)之間存在一條 路徑 ,那么它就有權(quán)限,回收時就是刪去某些路徑。

            4、SQL中的安全性控制

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

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

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

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

            6、數(shù)據(jù)加密可更好地保證數(shù)據(jù)庫中數(shù)據(jù)的安全性,采用加密算法給把源文變?yōu)槊芪膩韺?shí)現(xiàn)。常用的加密算法有“ 替換方法 ”和 明鍵加密法 。

              同時,為保證數(shù)據(jù)庫的安全,也應(yīng)注意自然環(huán)境的安全性。


            posted on 2006-05-27 10:22 TanZek 閱讀(815) 評論(0)  編輯 收藏 引用 所屬分類: Subject-Study
            久久精品一本到99热免费| 亚洲性久久久影院| 国产精品99久久久久久猫咪| 久久99精品免费一区二区| 狠狠色丁香久久婷婷综合_中| 无码人妻久久一区二区三区免费| 久久99国产综合精品免费| 久久久久久久综合日本| 无码AV中文字幕久久专区| 久久91精品综合国产首页| 久久久久亚洲AV无码专区体验| 精品多毛少妇人妻AV免费久久| 久久精品国产亚洲AV嫖农村妇女| 天天做夜夜做久久做狠狠| 伊人久久大香线蕉精品| 亚洲国产精品久久久天堂| 怡红院日本一道日本久久 | 久久国产精品国语对白| 亚洲av日韩精品久久久久久a | 国产精品丝袜久久久久久不卡| 久久久久久久久久久久久久| 久久精品亚洲男人的天堂| 国产精品毛片久久久久久久| 97精品伊人久久久大香线蕉| 亚洲精品美女久久久久99小说| 国产精品99久久久久久董美香| 国产精品福利一区二区久久| 亚洲AV日韩精品久久久久久| 久久人人爽人人爽人人片AV麻烦| 久久久久人妻精品一区三寸蜜桃 | 嫩草影院久久99| 精品久久久久久久无码| 人妻少妇久久中文字幕| 一本久道久久综合狠狠爱| 久久精品国产乱子伦| 久久精品国产99国产精品导航 | 91精品国产乱码久久久久久| 久久99精品久久久久子伦| 亚洲AV日韩AV永久无码久久| 性欧美丰满熟妇XXXX性久久久 | 国产高清美女一级a毛片久久w|