• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            數據庫課后習題作業答案

            更新時間:2025-12-26 18:15:00 閱讀: 評論:0


            2022年8月1日發
            (作者:婚姻獵頭)

            《數據庫系統概論》課程習題及參考答案?

            ?

            ?

            第一章緒論(教材37頁)

            1.試述數據、數據庫、數據庫系統、數據庫管理系統的概念。

            ?答:數據:描述事物的符號記錄稱為數據。數據的種類有文字、圖形、圖

            像、聲音、正文等等。數據與其語義是不可分的。?

            數據庫:數據庫是長期儲存在計算機內、有組織的、可共享的數據集合。數

            據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的

            數據獨立性和易擴展性,并可為各種用戶共享。?

            數據庫系統:數據庫系統(DBS)是指在計算機系統中引入數據庫后的系統構

            成。數據庫系統由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫

            管理員構成。?

            數據庫管理系統:數據庫管理系統(DBMS)是位于用戶與操作系統之間的一

            層數據管理軟件。用于科學地組織和存儲數據、高效地獲取和維護數據。DBMS

            主要功能包括數據定義功能、數據操縱功能、數據庫的運行管理功能、數據庫的

            建立和維護功能。?

            2.使用數據庫系統有什么好處?

            答:使用數據庫系統的好處是由數據庫管理系統的特點或優點決定的。使用

            數據庫系統的好處很多,例如可以大大提高應用開發的效率,方便用戶的使用,

            減輕數據庫系統管理人員維護的負擔等。?

            為什么有這些好處,可以結合第?5題來回答。?

            使用數據庫系統可以大大提高應用開發的效率。因為在數據庫系統中應用程

            序不必考慮數據的定義、存儲和數據存取的具體路徑,這些工作都由?DBMS來

            完成。?

            此外,當應用邏輯改變,數據的邏輯結構需要改變時,由于數據庫系統提供

            了數據與程序之間的獨立性。數據邏輯結構的改變是?DBA的責任,開發人員不

            必修改應用程序,或者只需要修改很少的應用程序。從而既簡化了應用程序的編

            制,又大大減少了應用程序的維護和修改。?

            使用數據庫系統可以減輕數據庫系統管理人員維護系統的負擔。因為?DBMS

            在數據庫建立、運用和維護時對數據庫進行統一的管理和控制,包括數據的完整

            性、安全性,多用戶并發控制,故障恢復等等都由DBMS執行。?

            總之,使用數據庫系統的優點是很多的,既便于數據的集中管理,控制數據

            冗余,可以提高數據的利用率和一致性,又有利于應用程序的開發和維護。?

            3.試述文件系統與數據庫系統的區別和聯系。?

            ?答:文件系統與數據庫系統的區別:文件系統面向某一應用程序,共享性

            差、冗余度大,獨立性差,紀錄內有結構、整體無結構,應用程序自己控制。?

            數據庫系統面向現實世界,共享性高、冗余度小,具有高度的物理獨立性和

            一定的邏輯獨立性,整體結構化,用數據模型描述,由數據庫管理系統提供數據

            安全性、完整性、并發控制和恢復能力。??

            文件系統與數據庫系統的聯系是:文件系統與數據庫系統都是計算機系統中

            管理數據的軟件。?

            5.試述數據庫系統的特點。??

            ?答:數據庫系統的主要特點:?

            ①數據結構化??數據庫系統實現整體數據的結構化,這是數據庫的主要特征

            之一,也是數據庫系統與文件系統的本質區別。??

            ②數據的共享性高,冗余度低,易擴充??數據庫的數據不再面向某個應用而

            是面向整個系統,因此可以被多個用戶、多個應用、用多種不同的語言共享使用。

            由于數據面向整個系統,是有結構的數據,不僅可以被多個應用共享使用,而且

            容易增加新的應用,這就使得數據庫系統彈性大,易于擴充。??

            ③數據獨立性高數據獨立性包括數據的物理獨立性和數據的邏輯獨立性。??

            數據庫管理系統的模式結構和二級映象功能保證了數據庫中的數據具有很高

            的物理獨立性和邏輯獨立性。??

            ④數據由?DBMS統一管理和控制??數據庫的共享是并發的共享,即多個用

            戶可以同時存取數據庫中的數據甚至可以同時存取數據庫中同一個數據。為此,?

            DBMS必須提供統一的數據控制功能,包括數據的安全性保護,數據的完整性檢

            查,并發控制和數據庫恢復。?

            6.數據庫管理系統的主要功能有哪些???

            ?答:數據庫管理系統的主要功能:?

            ①數據庫定義功能;?

            ②數據存取功能;?

            ③數據庫運行管理;?

            ④數據庫的建立和維護功能。?

            7.試述數據模型的概念、數據模型的作用和數據模型的三個要素。??

            答:數據模型是數據庫中用來對現實世界進行抽象的工具,是數據庫中用于

            提供信息表示和操作手段的形式構架。??

            一般地講,數據模型是嚴格定義的概念的集合。這些概念精確地描述系統的

            靜態特性、動態特性和完整性約束條件。因此數據模型通常由數據結構、數據操

            作和完整性約束三部分組成。??

            ①數據結構??是所研究的對象類型的集合,是對系統的靜態特性的描述。?

            ②數據操作??是指對數據庫中各種對象(型)的實例(值)允許進行的操作的集

            合,包括操作及有關的操作規則,是對系統動態特性的描述。?

            ③數據的約束條件??是完整性規則的集合,完整性規則是給定的數據模型中

            數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態以

            及狀態的變化,以保證數據的正確、有效、相容。?

            8.試述概念模型的作用。?

            答:概念模型實際上是現實世界到機器世界的一個中間層次。概念模型用于

            信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行

            數據庫設計的有力工具,也是數據庫設計人員和用戶之間進行交流的語言。?

            9.定義并解釋概念模型中以下術語:??實體,實體型,實體集,屬性,碼,

            實體聯系圖(E-R圖)

            答:實體??客觀存在并可以相互區分的事物叫實體。?

            實體型??具有相同屬性的實體具有相同的特征和性質,用實體名及其屬性名

            集合來抽象和刻畫同類實體稱為實體型。?

            實體集??同型實體的集合稱為實體集。?

            屬性??實體所具有的某一特性,一個實體可由若干個屬性來刻畫。?

            碼??唯一標識實體的屬性集稱為碼。?

            實體聯系圖??E‐R圖提供了表示實體型、屬性和聯系的方法:?

            ??實體型:用矩形表示,矩形框內寫明實體名。?

            ??屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。?

            ??聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連

            接起來,同時在無向邊旁標上聯系的類型(1?:?1,1?:?n或m?:?n)。?

            ?

            ?

            第二章關系數據庫(教材74頁)

            1.試述關系模型的三個組成部分。?

            答:關系模型由關系數據結構、關系操作集合和關系完整性約束三部分組成。?

            2.試述關系數據語言的特點和分類。?

            答:關系數據語言可以分為三類:?

            ?關系代數語言?例如?ISBL。?

            ?關系演算語言?(元組關系演算語言?例如?APLHA,QUEL?和?域關系演算語

            言?例如QBE)。?

            ?具有關系代數和關系演算雙重特點的語言?例如?SQL。?

            ?這些關系數據語言的共同特點是,具有完備的表達能力,是非過程化的集

            合操作語言,功能強,能夠嵌入高級語言中使用。?

            3.定義并理解下列術語,說明它們之間的聯系與區別:?

            (1)域,關系,元組,屬性

            答:域??域是一組具有相同數據類型的值的集合。??

            關系??在域?D1,D2,…,Dn上笛卡爾積D1×D2×…×Dn的子集稱為關系,

            表示為?R(D1,D2,…,Dn)。?

            元組??關系中的每個元素是關系中的元組。??

            屬性??關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。

            由于域可以相同,為了加以區分,必須對每列起一個名字,稱為屬性(Attribute)。?

            (2)主碼,候選碼,外部碼?

            答:候選碼??若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬

            性組為候選碼(Candidate?key)。?

            主碼??若一個關系有多個候選碼,則選定其中一個為主碼(Primary?key)。?

            外部碼??設?F是基本關系R的一個或一組屬性,但不是關系R的碼,如果F

            與基本關系S的主碼Ks相對應,則稱F是基本關系R的外部碼(Foreign?key),簡

            稱外碼。基本關系R稱為參照關系(Referencing?relation),基本關系S稱為被參照

            關系(Referenced?relation)或目標關系(Target?relation)。關系R和S可以是相同的關

            系。??

            (3)關系模式,關系,關系數據庫

            答:關系模式??關系的描述稱為關系模式(Relation?Schema)。它可以形式化

            地表示為R(U,D,dom,F)。其中?R為關系名,U為組成該關系的屬性名集合,

            D為屬性組U中屬性所來自的域,dom為屬性向域的映象集合,F為屬性間數據

            的依賴關系集合。?

            關系??在域?D1,D2,…,Dn上笛卡爾積D1×D2×…×Dn的子集稱為關系,

            表示為R(D1,D2,…,Dn)。關系是關系模式在某一時刻的狀態或內容。關系模

            式是靜態的、穩定的,而關系是動態的、隨時間不斷變化的,因為關系操作在不

            斷地更新著數據庫中的數據。?

            關系數據庫??關系數據庫也有型和值之分。關系數據庫的型也稱為關系數據

            庫模式,是對關系數據庫的描述,它包括若干域的定義以及在這些域上定義的若

            干關系模式。關系數據庫的值是這些關系模式在某一時刻對應的關系的集合,通

            常就稱為關系數據庫。?

            4.試述關系模型的完整性規則。在參照完整性中,為什么外部碼屬性

            的值也可以為空?什么情況下才可以為空??

            答:關系模型的完整性規則是對關系的某種約束條件。關系模型中可以有三

            類完整性約束:實體完整性、參照完整性和用戶定義的完整性。參見教材?

            在參照完整性中,外部碼屬性的值可以為空,它表示該屬性的值尚未確定。

            但前提條件是該外部碼屬性不是其所在關系的主屬性。?

            例如,在下面的?“學生”表中,“專業號”是一個外部碼,不是學生表的主

            屬性,可以為空。其語義是,該學生的專業尚未確定。?

            學生(學號,姓名,性別,專業號,年齡)?

            專業(專業號,專業名)?

            而在下面的“選修”表中的“課程號”雖然也是一個外部碼屬性,但它又是

            “選修”表的主屬性,所以不能為空。因為關系模型必須滿足實體完整性。?

            課程(課程號,課程名,學分)?

            選修(學號,課程號,成績)?

            5.設有一個SPJ數據庫,包括S、P、J、SPJ四個關系模式:

            ?S(SO,SAME,STATUS,CITY);?

            ?P(P0,PAME,COLOR,WEIGHT);?

            ?J(JO,JAME,CITY);?

            ?SPJ(SO,PO,JO,QTY);?

            供應商表S由供應商(SO)、供應商姓名(SAME)、供應商狀態(STATUS)、供

            應商所在城市(CITY)組成;?

            零件表P由零件代碼(PO)、零件名(PAME)、顏(COLOR)、重量(WEIGHT)

            組成;?

            工程項目表J由工程項目代碼(JO)、工程項目名(JAME)、工程項目所在城

            市(CITY)組成;?

            供應情況表SPJ由供應商代碼(SO)、零件代碼(PO)、工程項目代碼(JO)、

            供應數量(QTY)組成,表示某供應商供應某種零件給某工程項目的數量為QTY。?

            各表中均有若干數據(略)?

            試用關系代數、ALPHA語言、QBE語言完成如下查詢:?

            (1)求供應工程J1零件的供應商號碼SO;?

            (2)求供應工程J1零件P1的供應商號碼SO;?

            (3)求供應工程J1零件為紅的供應商號碼SO;?

            (4)求沒有使用天津供應商生產的紅零件的工程號JO;?

            (5)求至少用了供應商S1所供應的全部零件的工程號JO。?

            答:(1)關系代數??πSO(σJO=‘J1’(SPJ))?

            ??????ALPHA??GET?W?(??)?:?=‘?J1?’?

            ??????QBE?????????

            ?

            ????(2)關系代數??πSO(σJO=‘J1’?∧?PO=‘SPJ’?(SPJ))?

            ??????ALPHA??GET?W?(??)?:?=‘?J1?’?∧?=?‘?P1?’?

            ??????QBE?

            ?

            ????(3)關系代數??πSO(σCOLOR=‘紅’?∧?JO=‘J1’?(P?∞SPJ))?

            ??????ALPHA??RAGE??P??PX??

            GET?W?()?:???PX?(?=??∧?

            ???????????????=?‘?J1?’?∧?=‘?RED?’)?

            ??????QBE?

            ?

            ?

            ?????(4)關系代數??π

            JO

            (J)-π

            JO

            COLOR=‘紅’

            ?∧

            ?

            ????????ALPHA??RAGE??SPJ??SPJX?

            CITY=‘天津’

            (P?∞SPJ?∞S))?

            ?

            ?

            ????????????????????S??SX?

            ????????????????????P??PX?

            GET?W?(??)?:?

            ┓??SPJX?(?=?∧??SX?(?=?∧

            =‘?天津’∧??PX?(?=?∧

            =‘?紅’?)?)?)?

            ???????QBE?

            ?

            ?

            ?

            ?

            ????????(5)關系代數??π

            PO,JO

            ?(SPJ)?÷?π

            PO

            ?(σ

            SO?=‘S1’

            ?(SPJ))?

            ??????????ALPHA??RAGE??P???PX?

            ?????????????????????????SPJ???SPJX?

            ?????????????????????????SPJ???SPJY?

            GET?W?()?:???PX?(??SPJX?(=?∧?=‘?S1?’)?

            ????????????=>???SPJY?(=?∧?=)?)?

            6.等值連接與自然連接的區別是什么???

            答:自然連接(atural?join)是一種特殊的等值連接,它要求兩個關系中進行

            比較的分量必須是相同的屬性組,并且要在結果中把重復的屬性去掉。?

            ?

            ?

            第三章關系數據庫標準語言SQL(教材127頁)?

            1.試述SQL語言的特點。

            答:①綜合統一,SQL語言集數據定義語言DDL、數據操縱語言DML、數據控

            制語言DCL的功能于一體。??

            ②高度非過程化,用SQL語言進行數據操作,只要提出“做什么”,而無須

            指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操作

            過程由系統自動完成。??

            ③面向集合的操作方式,SQL語言采用集合操作方式,不僅操作對象、查

            結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的

            集合。??

            ④以同一種語法結構提供兩種使用方式,SQL語言既是自含式語言,又是嵌

            入式語言。作為自含式語言,它能夠獨立地用于聯機交互的使用方式,也能夠嵌

            入到高級語言程序中,供程序員設計程序時使用。??

            ⑤語言簡捷,易學易用。?

            2.試述SQL的定義功能。?

            答:SQL的數據定義功能包括定義表、定義視圖和定義索引。?

            SQL語言使用CREATE?TABLE語句定義建立基本表;?

            ALTER?TABLE語句修改基本表定義,DROP?TABLE語句刪除基本表;?

            建立索引使用CREATE?IDEX語句建立索引,?DROP?IDEX語句刪除索引表;

            SQL語言使用CREATE?VIEW命令建立視圖,DROP?VIEW語句刪除視圖。?

            3.用SQL語句建立第3章習題3中的四個表。?

            答:S表:S(SO,SAME,STATUS,CITY);??

            建S表??

            CREATE?TABLE?S??

            (SO?CHAR(3),?

            SAME?CHAR(10),STATUS?CHAR(2),?

            CITY?CHAR(10));?

            P(PO,PAME,COLOR,WEIGHT);?

            ?建P表、建J表、建SPJ表略。?

            4.針對上題中建立的四個表用SQL語言完成第3章習題3中的查詢。?

            答:(1)求供應工程J1零件的供應商號碼SO;?

            SELECT??SO??

            FROM??SPJ??

            WHERE??JO=’J1’;?

            (2)求供應工程J1零件P1的供應商號碼SO;?

            SELECT??SO?

            FROM??SPJ?

            WHERE??JO=‘J1'?

            AD??PO=’P1’;?

            (3)求供應工程J1零件為紅的供應商號碼SO;?

            SELECT??SO?

            FROM??SPJ?

            WHERE??JO=‘J1'?AD?PO?I?

            (SELECT??PO?

            FROM??P?

            WHERE??COLOR=’紅’);??

            (4)求沒有使用天津供應商生產的紅零件的工程號JO;?

            SELECT?JO?

            FROM?J?

            WHERE?OT?EXISTXS?

            (SELECT?*?

            ?FROM?SPJ,S,P?

            WHERE?=?AD?=?AD?=?AD?=’天

            津’?AD?=’紅’?

            ?(5)求至少用了S1供應商所供應的全部零件的工程號JO;?

            SELECT??DISTICT??JO?

            FROM??SPJ??SPJZ?

            WHERE??OT??EXISTS?

            ?(SELECT??*?

            ?FROM?SPJ??SPJX?

            ?WHERE?SO=‘S1’?

            ????AD??OT??EXISTS?

            ??(SELECT??*?

            ????????FROM??SPJ??SPJY?

            ?????WHERE??=?

            ??AD??=))?

            5.針對習題3中的四個表試用SQL語言完成以下各項操作:?

            ??(1)出所有供應商的姓名和所在城市。?

            ?(2)出所有零件的名稱、顏、重量。?

            ?(3)出使用供應商S1所供應零件的工程號碼。?

            ?(4)出工程項目J2使用的各種零件的名稱及其數量。?

            ?(5)出上海廠商供應的所有零件號碼。?

            ?(6)出使用上海產的零件的工程名稱。?

            ?(7)出沒有使用天津產的零件的工程號碼。?

            ?(8)把全部紅零件的顏改成藍。?

            ?(9)由S5供給J4的零件P6改為由S3供應,請作必要的修改。?

            ?(10)從供應商關系中刪除S2的記錄,并從供應情況關系中刪除相應的記錄。?

            (11)請將(S2,J6,P4,200)插入供應情況關系。?

            答:(1)出所有供應商的姓名和所在城市。?

            SELECT??SAME,?CITY?

            FROM??S;?

            (2)出所有零件的名稱、顏、重量。?

            SELECT??PAME,?COLOR,?WEIGHT?

            FROM??P;?

            (3)出使用供應商S1所供應零件的工程號碼。?

            SELECT??JO?

            FROM??SPJ?

            WHERE??SO=‘S1';?

            (4)出工程項目J2使用的各種零件的名稱及其數量。?

            SELECT??,??

            FROM??P,?SPJ?

            WHERE??=?

            AD??='J2';?

            (5)出上海廠商供應的所有零件號碼。?

            SELECT??DISTICT?PO?

            FROM??SPJ?

            WHERE??SO?I?

            (SELECT??SO?

            FROM??S?

            WHERE??CITY='上海');??

            (6)出使用上海產的零件的工程名稱。?

            SELECT??JAME?

            FROM??J,?SPJ,?S?

            WHERE??J.?JO=SPJ.?JO?

            AD??SPJ.?SO=?

            AD??='上海';?

            (7)出沒有使用天津產的零件的工程號碼。?

            ?SELECT??JO?

            ???FROM??J?

            ???WHERE?OT?EXISTS?

            ????????????(SELECT?*?

            ???????????????FROM?SPJ,S?

            ???????????????WHERE?=?AD?=?AD??=’天津’)?

            (8)把全部紅零件的顏改成藍。?

            UPDATE??P?

            SET??COLOR='藍'?

            WHERE??COLOR='紅';?

            (9)由S5供給J4的零件P6改為由S3供應,請作必要的修改。?

            UPDATE??SPJ?

            SET??SO='S3'?

            WHERE??SO='S5'?AD?JO='J4'?AD?PO='P6';?

            (10)從供應商關系中刪除S2的記錄,并從供應情況關系中刪除相應的記錄。?

            ?DELETE??FROM??SPJ?

            ???WHERE??SO=’S2’;?

            ???DELETE??FROM??S?

            ???WHERE??SO=’S2’;?

            注意刪除順序,應該先從SPJ表中刪除供應商S2所供應零件的記錄,然后從S

            表中刪除S2。?

            (11)請將(S2,J6,P4,200)插入供應情況關系。?

            ISERT??ITO??SPJ(SO,?JO,?PO,?QTY)?

            VALUES??(S2,J6,P4,200);?

            6.什么是基本表?什么是視圖?兩者的區別和聯系是什么??

            答:基本表是本身獨立存在的表,在?SQL中一個關系就對應一個表。?

            視圖是從一個或幾個基本表導出的表。視圖本身不獨立存儲在數據庫中,是一個

            虛表。即數據庫中只存放視圖的定義而不存放視圖對應的數據,這些數據仍存放

            在導出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣

            使用視圖,可以在視圖上再定義視圖。?

            7.試述視圖的優點。

            答:(1)視圖能夠簡化用戶的操作。?

            (2)視圖使用戶能以多種角度看待同一數據。?

            (3)視圖對重構數據庫提供了一定程度的邏輯獨立性。?

            (4)視圖能夠對機密數據提供安全保護。?

            8.所有的視圖是否都可以更新?為什么?

            答:不是。視圖是不實際存儲數據的虛表,因此對視圖的更新,最終要轉換為

            對基本表的更新。因為有些視圖的更新不能唯一地有意義地轉換成對相應基本表

            的更新,所以,并不是所有的視圖都是可更新的。?

            9.哪類視圖是可以更新的,哪類視圖是不可更新的?各舉一例說明。?

            答:基本表的行列子集視圖一般是可更新的。如教材?3.5.3中的例1。若視圖

            的屬性來自集函數、表達式,則該視圖肯定是不可以更新的。如教材?3.5.3中的

            S_G視圖。?

            11.請為三建工程項目建立一個供應情況的視圖,包括供應商代碼

            (SO)、零件代碼(PO)、供應數量(QTY)。針對該視圖完成下列查

            詢:?

            ?(1)出三建工程項目使用的各種零件代碼及其數量。?

            (2)出供應商S1的供應情況。?

            答:建視圖:?

            CREATE??VIEW??V_SPJ??AS?

            SELECT??SO,?PO,?QTY?

            FROM??SPJ?

            WHERE??JO??I?

            (SELECT??JO?

            FROM??J?

            WHERE??JAME='三建');?

            對該視圖查詢:?

            (1)出三建工程項目使用的各種零件代碼及其數量。?

            SELECT??PO,?QTY?

            FROM??V_SPJ;?

            (2)出供應商S1的供應情況。?

            SELECT??PO,?QTY???/*?S1供應三建工程的零件號和對應的數量*/?

            FROM??V_SPJ?

            WHERE??SO='S1';?

            ?

            ?

            第四章數據庫安全性(148頁)

            1.什么是數據庫的安全性?

            答:數據庫的安全性是指保護數據庫以防止不合法的使用所造成的數據泄漏、

            更改或破壞。?

            2.數據庫安全性和計算機系統的安全性有什么關系?

            答:安全性問題不是數據庫系統所獨有的,所有計算機系統都有這個問題。只

            是在數據庫系統中大量數據集中存放,而且為許多最終用戶直接共享,從而使安

            全性問題更為突出。系統安全保護措施是否有效是數據庫系統主要技術指標之

            一。?

            ??數據庫的安全性和計算機系統的安全性,包括計算機硬件、操作系統、網絡系

            統等的安全性,是緊密聯系、相互支持的,因此在討論數據庫的安全性之前首先

            討論計算機系統安全性的一般問題。?

            4.試述CC評估保證級劃分的基本內容。

            答:CC的文本由三部分組成,三個部分相互依存,缺一不可。?

            ??第一部分是“簡介和一般模型”,介紹CC中的有關術語、基本概念和一般模型

            以及與評估有關的一些框架,CC的附錄部分主要介紹“保護輪廓”和“安全目

            標”的基本內容。?

            ??第二部分是安全功能要求,列出了一系列功能組件、子類和類。具體來說有

            11類,分別是安全審計、通信、密碼支持、用戶數據保護、標識和鑒別、安全

            管理、隱私、TSF保護、資源利用、TOE訪問、可信路徑和信道。這11大類分為

            66個子類,由135個組件構成。?

            ??第三部分是安全保證要求,列出了一系列保證組件、子類和類,包括7個類,

            分別是配置管理、交付和運行、開發、指導性文檔、生命周期支持、測試、脆弱

            性評定。這7個大類分為26個子類,由74個組件構成。另外,第三部分中根據

            系統對安全保證要求的支持情況提出了評估保證級,并定義了保護輪廓PP和安

            全目標ST的評估準則,用于對PP和ST的評估。?

            5.試述實現數據庫安全性控制的常用方法和技術。

            答:實現數據庫安全性控制的常用方法和技術有:?

            (1)用戶標識和鑒別:該方法由系統提供一定的方式讓用戶標識自己的名字或

            身份。每次用戶要求進入系統時,由系統進行核對,通過鑒定后才提供系統的使

            用權。?

            (2)存取控制:通過用戶權限定義和合法權檢查確保只有合法權限的用戶訪問

            數據庫,所有未被授權的人員無法存取數據。例如C2級中的自主存取控制(DAC),

            B1級中的強制存取控制(MAC)。?

            (3)視圖機制:為不同的用戶定義視圖,通過視圖機制把要保密的數據對無權

            存取的用戶隱藏起來,從而自動地對數據提供一定程度的安全保護。?

            (4)審計:建立審計日志,把用戶對數據庫的所有操作自動記錄下來放入審計

            日志中,?DBA可以利用審計跟蹤的信息,重現導致數據庫現有狀況的一系列事

            件,出非法存取數據的人、時間和內容等。?

            (5)數據加密:對存儲和傳輸的數據進行加密處理,從而使得不知道解密算法

            的人無法獲知數據的內容。?

            6.什么是數據庫中的自主存取控制方法和強制存取控制方法?

            答:在自主存取控制中,用戶對于不同的數據庫對象有不同的存取權限,不同

            的用戶對同一對象也有不同的權限,而且用戶還可將其擁有的存取權限傳授給其

            他用戶。因此自主存取控制非常靈活。?

            ??在強制存取控制中每一個,每一個數據庫對象被標以一定的密級,每一個用戶

            也被授予某一個級別的許可證。對于任意一個對象,只有具有合法許可證的用戶

            才可以存取。強制存取控制因此也相對比較嚴格。?

            語言中提供了哪些數據控制(自主存取控制)的語句?請試舉

            幾例說明它們的使用方法。?

            答:SQL中?的自主存取控制是通過GRAT?語句和?REVOKE?語句來實現的。

            如:?

            GRAT?SELECT,ISERT?O?Student?

            TO?王平?

            WITH?GRAT?OPTIO;?

            就將Student表的SELECT和ISERT權限授予了用戶王平,后面的“WITH?GRAT?

            OPTIO”子句表示用戶王平同時也獲得了“授權”的權限,即可以把得到的權

            限繼續授予其他用戶。?

            REVOKE?ISERT?O?Student?FROM?王平?CASCADE;?

            就將Student表的ISERT權限從用戶王平處收回,選項CASCADE表示,如果

            用戶王平將Student的ISERT權限又轉授給了其他用戶,那么這些權限也將從其

            他用戶處收回。?

            8.今有兩個關系模式:

            ?職工(職工號,姓名,年齡,職務,工資,部門號)?

            ?部門(部門號,名稱,經理名,地址,電話號)?

            請用SQL的GRAT和REVOKE語句(加上視圖機制)完成以下授權定

            義或存取控制功能:?

            (a)用戶王明對兩個表有SELECT權力;?

            GRAT?SELECT?O?職工,部門?

            TO?王明;?

            (b)用戶李勇對兩個表有ISERT和DELETE權力;?

            GRAT?ISERT,DELETE?O?職工,部門?

            TO?李勇;?

            (c)?*每個職工只對自己的記錄有SELECT權力;?

            GRAT?SELECT?O?職工?

            WHE?USER()=?AME?

            TO?ALL;?

            這里假定系統的GRAT語句支持WHE子句和USER()的使用。用戶將自己

            的名字作為ID。注意,不同的系統這些擴展語句可能是不同的。讀者應該了解

            你使用的DBMS產品的擴展語句。?

            (d)用戶劉星對職工表有SELECT權力,對工資字段具有更新權力;?

            GRAT?SELECT,UPDATE(工資)?O?職工?

            TO?劉星;?

            (e)用戶張新具有修改這兩個表的結構的權力;?

            GRAT?ALTER?TABLE?O?職工,部門?

            TO?張新;?

            (f)用戶周平具有對兩個表所有權力(讀,插,改,刪數據),并具有給其他用戶

            授權的權力;?

            GRAT?ALL?PRIVILIGES?O?職工,部門?

            TO?周平?

            WITH?GRAT?OPTIO;?

            (g)用戶楊蘭具有從每個部門職工中SELECT最高工資,最低工資,平均工資的

            權力,他不能查看每個人的工資。?

            答:首先建立一個視圖。然后對這個視圖定義楊蘭的存取權限。?

            CREATE?VIEW?部門工資?AS?

            SELECT?部門.名稱,AX(工資),I(工資),AVG(工資)?

            FROM?職工,部門?

            WHERE?職工.部門號=部門.部門號?

            GROUP?BY?職工.部門號;?

            GRAT?SELECT?O?部門工資?

            TO?楊蘭;?

            9.把習題8中(a)~(g)的每一種情況,撤銷各用戶所授予的權力。

            答:(a)??REVOKE?SELECT?O?職工,部門??

            FROM?王明;?

            (b)??REVOKE?ISERT,DELETE?O?職工,部門?

            FROM?李勇;?

            (c)??REOVKE?SELECT?O?職工?

            WHE?USER()=AME?

            FROM?ALL;?

            這里假定用戶將自己的名字作為?ID,且系統的REOVKE語句支持WHE子句,

            系統也支持USER()的使用。?

            (d)??REVOKE?SELECT,UPDATE?O?職工?

            FROM?劉星;?

            (e)??REVOKE?ALTER?TABLE?O?職工,部門?

            FROM?張新;?

            (f)??REVOKE?ALL?PRIVILIGES?O?職工,部門?

            FROM?周平;?

            (g)??REVOKE?SELECT?O?部門工資?

            FROM?楊蘭;?

            DROP?VIEW?部門工資;?

            10.為什么強制存取控制提供了更高級別的數據庫安全性?

            答:強制存取控制(MAC)是對數據本身進行密級標記,無論數據如何復制,

            標記與數據是一個不可分的整體,只有符合密級標記要求的用戶才可以操縱數據

            庫,從而提供了更高級別的安全性。?

            11.理解并解釋MAC機制中主體、客體、敏感度標記的含義。

            答:主體是系統中的活動實體,既包括DBMS所管理的實際用戶,也包括代表

            用戶的各進程。?

            ??客體是系統中的被動實體,是受主體操縱的,包括文件、基本表、索引、視圖

            等。對于主體和客體,DBMS為它們每個實例指派一個敏感度標記。?

            ??敏感度標記被分成若干級別,例如絕密、機密、可信、公開等。主體的敏感度

            標記稱為許可證級別,客體的敏感度標記稱為密級。?

            13.什么是數據庫的審計功能,為什么要提供審計功能?

            答:審計功能是指?DBMS的審計模塊在用戶對數據庫執行操作的同時把所有

            操作自動記錄到系統的審計日志中。?

            因為任何系統的安全保護措施都不是完美無缺的,蓄意盜竊破壞數據的人總可

            能存在。利用數據庫的審計功能,?DBA可以根據審計跟蹤的信息,重現導致數

            據庫現有狀況的一系列事件,出非法存取數據的人、時間和內容等。?

            ?

            ?

            第五章數據庫完整性(教材164頁)

            1.什么是數據庫的完整性??

            答:數據庫的完整性是指數據的正確性和相容性。?

            2.數據庫的完整性概念與數據庫的安全性概念有什么區別和聯系?

            答:數據的完整性和安全性是兩個不同的概念,但是有一定的聯系。?

            前者是為了防止數據庫中存在不符合語義的數據,防止錯誤信息的輸入和輸

            出,即所謂垃圾進垃圾出(Garbage?In?Garbage?Out)所造成的無效操作和錯誤結果。?

            后者是保護數據庫防止惡意的破壞和非法的存取。?

            也就是說,安全性措施的防范對象是非法用戶和非法操作,完整性措施的防范

            對象是不合語義的數據。?

            3.什么是數據庫的完整性約束條件?可分為哪幾類?

            答:完整性約束條件是指數據庫中的數據應該滿足的語義約束條件。?

            ?一般可以分為六類:?

            靜態列級約束、靜態元組約束、靜態關系約束、動態列級約束、動態元組約束、

            動態關系約束。?

            的完整性控制機制應具有哪些功能?

            答:RDBMS的完整性控制機制應具有三個方面的功能:?

            (1)定義功能,即提供定義完整性約束條件的機制。?

            (2)檢查功能,即檢查用戶發出的操作請求是否違背了完整性約束條件。?

            (3)違約反應:如果發現用戶的操作請求使數據違背了完整性約束條件,則采

            取一定的動作來保證數據的完整性。?

            在實現參照完整性時需要考慮哪些方面?

            答:RDBMS在實現參照完整性時需要考慮以下幾個方面:?

            ①外碼是否可以接受空值?

            ②刪除被參照關系的元組時的考慮,這時系統可能采取的作法有三種:?

            (a)級聯刪除(CASCADES)?

            (b)受限刪除(RESTRICTED)?

            (c)置空值刪除(ULLIFIES)?

            ③在參照關系中插入元組時的問題,這時系統可能采取的作法有:?

            ???(a)受限插入?

            (b)遞歸插入?

            ④修改關系中主碼的問題?

            一般是不能用?UPDATE語句修改關系主碼的。如果需要修改主碼值,只能先刪

            除該元組,然后再把具有新主碼值的元組插入到關系中。?

            如果允許修改主碼,首先要保證主碼的唯一性和非空,否則拒絕修改。然后要

            區分是參照關系還是被參照關系。?

            6.假設有下面兩個關系模式:

            ?職工(職工號,姓名,年齡,職務,工資,部門號),其中職工號為主碼;?

            ?部門(部門號,名稱,經理名,電話),其中部門號為主碼;?

            用SQL語言定義這兩個關系模式,要求在模式中完成以下完整性約

            束條件的定義:定義每個模式的主碼;定義參照完整性;定義職工年

            齡不得超過60歲。?

            答:?

            CREATE??TABLE??DEPT?

            (Deptno??UMBER(2),?

            Deptname??VARCHAR(10),?

            Manager??VARCHAR(10),?

            Phoneumber??Char(12)?

            COSTRAIT??PK_SC??PRIMARY?KEY?(Deptno));?

            CREATE??TABLE??EMP?

            (Empno??UMBER(4),?

            Ename??VARCHAR(10),?

            Age??UMBER(2),?

            COSTRAIT??C1??CHECK?(Age<<=60),?

            Job??VARCHAR(9),?

            Sal??UMBER(7,2),?

            Deptno??UMBER(2),?

            COSTRAIT??FK_DEPTO?

            FOREIG?KEY?(Deptno)?

            REFERECES??DEPT(Deptno));?

            7.關系系統中,當操作違反實體完整性、參照完整性和用戶定義的完

            整性約束條件時,一般是如何分別進行處理的??

            答:對于違反實體完整性和用戶定義的完整性的操作一般都采用拒絕執行的方

            式進行處理。而對于違反參照完整性的操作,并不都是簡單地拒絕執行,有時要

            根據應用語義執行一些附加的操作,以保證數據庫的正確性。具體的處理可以參

            見上面第?5題或《概論》10.2中相應部分。?

            ?

            ?

            第六章關系數據理論(教材195頁)

            1.理解并給出下列術語的定義:函數依賴、部分函數依賴、完全函數依賴、

            候選碼、主碼、外碼、全碼。?

            答:函數依賴??設R?(U)是一個關系模式,U是R的屬性集合,X和Y是U的

            子集。對于R?(U)的任意一個可能的關系r,如果r中不存在兩個元組,它們在X

            上的屬性值相同,?而在Y上的屬性值不同,?則稱"X函數確定Y"或"Y函數依賴

            于X",記作X→Y。?

            完全函數依賴、部分函數依賴??在?R(U)中,如果X→Y,并且對于X的任

            何一個真子集X,都有X→Y,則稱Y對X完全函數依賴;若X→Y,但Y不完全函

            數依賴于X,則稱Y對X部分函數依賴;?

            候選碼、主碼??設?K為R(U,F)中的屬性或屬性組合,若K→U則K為R的

            候選碼。若候選碼多于一個,則選定其中的一個為主碼。?

            外碼:關系模式?R中屬性或屬性組X并非R的碼,但X是另一個關系模式的碼,

            則稱X是R的外部碼也稱外碼。?

            全碼??整個屬性組是碼,稱為全碼(All‐key)。?

            2.建立一個關于系、學生、班級、學會等諸信息的關系數據庫。?

            ?描述學生的屬性有:學號、姓名、出生年月、系名、班號、宿舍區。?

            描述班級的屬性有:班號、專業名、系名、人數、入校年份。?

            描述系的屬性有:系名、系號、系辦公室地點、人數。?

            描述學會的屬性有:學會名、成立年份、地點、人數。?

            有關語義如下:一個系有若干專業,每個專業每年只招一個班,每個班有若

            干學生。一個系的學生住在同一宿舍區。每個學生可參加若干學會,每個學會有

            若干學生。學生參加某學會有一個入會年份。?

            ?請給出關系模式,寫出每個關系模式的極小函數依賴集,指出是否存在傳

            遞函數依賴,對于函數依賴左部是多屬性的情況討論函數依賴是完全函數依賴,

            還是部分函數依賴。?

            ?指出各關系的候選碼、外部碼,有沒有全碼存在??

            答:關系模式:學生S(S#,S,SB,D,C#,SA)?

            班級C(C#,CS,D,CUM,CDATE)?

            系D(D#,D,DA,DUM)?

            學會P(P,DATE1,PA,PUM)?

            學生‐‐學會SP(S#,P,DATE2)?

            其中,S#—學號,S—姓名,SB—出生年月,SA—宿舍區,C#—班號,CS—

            專業名,CUM—班級人數,CDATE—入校年份,D#—系號,D—系名,DA—系

            辦公室地點,DUM—系人數,P—學會名,DATE1—成立年月,PA—地點,PUM—

            學會人數,DATE2—入會年份?

            每個關系模式的極小函數依賴集:?

            S:S#→S,S#→SB,S#→C#,C#→D,D→SA?

            C:C#→CS,C#→CUM,C#→CDATE,CS→D,(CS,CDATE)→C#?

            D:D#→D,D→D#,D#→DA,D#→DUM?

            P:P→DATE1,P→PA,P→PUM?

            SP:(S#,P)→DATE2?

            S中存在傳遞函數依賴:S#→D,?S#→SA,?C#→SA?

            C中存在傳遞函數依賴:C#→D?

            (S#,P)→DATE2?和(CS,CDATE)→C#均為SP中的函數依賴,是完全函數依賴?

            關系?候選碼????外部碼????全碼??

            S????S#?C#??????D???????無??

            C?????C#???(CS,CDATE)?D??無??

            D???D#和D?????無????????無??

            P?????P????????無????????無??

            SP??(S#,P)?S#???P???????無?

            5.試舉出三個多值依賴的實例。

            答:(1)關系模式MSC(M,S,C)中,M表示專業,S表示學生,C表示該專業的

            必修課。假設每個專業有多個學生,有一組必修課。設同專業內所有學生的選修

            的必修課相同,實例關系如下。按照語義對于M的每一個值M?i,S有一個完整

            的集合與之對應而不問C取何值,所以M→→S。由于C與S的完全對稱性,必

            然有M→→C成立。?

            M?S?C?

            M?1?S1?C1?

            M?1?S1?C2?

            M?1?S2?C1?

            M?1?S2?C2?

            ?……?……?……?

            (2)關系模式ISA(I,S,A)中,I表示學生興趣小組,S表示學生,A表示某興趣

            小組的活動項目。假設每個興趣小組有多個學生,有若干活動項目。每個學生必

            須參加所在興趣小組的所有活動項目,每個活動項目要求該興趣小組的所有學生

            參加。按照語義有I→→S,I→→A成立。?

            (3)關系模式RDP(R,D,P)中,R表示醫院的病房,D表示責任醫務人員,P表示

            病人。假設每個病房住有多個病人,有多個責任醫務人員負責醫治和護理該病房

            的所有病人。按照語義有R→→D,R→→P成立。?

            ?

            ?

            第七章數據庫設計(教材234頁)

            1.試述數據庫設計過程。?

            答:數據庫設計過程為:?

            (1)需求分析?

            (2)概念結構設計?

            (3)邏輯結構設計?

            (4)數據庫物理設計?

            (5)數據庫實施?

            (6)數據庫運行和維護?

            這是一個完整的實際數據庫及其應用系統的設計過程。不僅包括設計數據庫本

            身,還包括數據庫的實施、數據庫運行和維護。?

            設計一個完善的數據庫應用系統往往是上述六個階段的不斷反復。?

            2.試述數據庫設計過程的各個階段上的設計描述。?

            答:各階段的設計要點如下:?

            (1)需求分析:準確了解與分析用戶需求(包括數據與處理)。?

            (2)概念結構設計:通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于

            具體DBMS的概念模型。?

            (3)邏輯結構設計:將概念結構轉換為某個DBMS所支持的數據模型,并對其進

            行優化。?

            (4)數據庫物理設計:為邏輯數據模型選取一個最適合應用環境的物理結構(包

            括存儲結構和存取方法)。?

            (5)數據庫實施:設計人員運用DBMS提供的數據語言、工具及宿主語言,根據

            邏輯設計和物理設計的結果建立數據庫,編制與調試應用程序,組織數據入庫,

            并進行試運行。?

            (6)數據庫運行和維護:在數據庫系統運行過程中對其進行評價、調整與修改。?

            3.試述數據庫設計過程中結構設計部分形成的數據庫模式。?

            答:數據庫結構設計的不同階段形成數據庫的各級模式,即:?

            在概念設計階段形成獨立于機器特點,獨立于各個?DBMS產品的概念模式,

            在本篇中就是E‐R圖;??

            在邏輯設計階段將?E‐R圖轉換成具體的數據庫產品支持的數據模型,如關系模

            型,形成數據庫邏輯模式;然后在基本表的基礎上再建立必要的視圖(View),形

            成數據的外模式;?

            在物理設計階段,根據?DBMS特點和處理的需要,進行物理存儲安排,建立

            索引,形成數據庫內模式。?

            概念模式是面向用戶和設計人員的,屬于概念模型的層次;邏輯模式、外模式、

            內模式是?DBMS支持的模式,屬于數據模型的層次。可以在DBMS中加以描述

            和存儲。?

            4.試述數據庫設計的特點。?

            答:數據庫設計既是一項涉及多學科的綜合性技術又是一項龐大的工程項目。

            其主要特點有:?

            (1)數據庫建設是硬件、軟件和干件(技術與管理的界面)的結合。?

            (2)從軟件設計的技術角度看,數據庫設計應該和應用系統設計相結合,也就

            ?是說,整個設計過程中要把結構(數據)設計和行為(處理)設計密切結合起來。

            5.需求分析階段的設計目標是什么?調查的內容是什么??

            答:需求分析階段的設計目標是通過詳細調查現實世界要處理的對象(組織、

            部門、企業等),充分了解原系統(手工系統或計算機系統)工作概況,明確用

            戶的各種需求,然后在此基礎上確定新系統的功能。?

            調查的內容是?“數據”和“處理”,即獲得用戶對數據庫的如下要求:?

            (1)信息要求。指用戶需要從數據庫中獲得信息的內容與性質。由信息要求可

            以導出數據要求,即在數據庫中需要存儲哪些數據。?

            (2)處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,

            處理方式是批處理還是聯機處理。?

            (3)安全性與完整性要求。?

            6.數據字典的內容和作用是什么??

            答:數據字典是系統中各類數據描述的集合。數據字典的內容通常包括:數據

            項、數據結構、數據流、數據存儲、處理過程五個部分。其中數據項是數據的最

            小組成單位,若干個數據項可以組成一個數據結構。數據字典通過對數據項和數

            據結構的定義來描述數據流、數據存儲的邏輯內容。?

            數據字典的作用:數據字典是關于數據庫中數據的描述,在需求分析階段建立,

            是下一步進行概念設計的基礎,并在數據庫設計過程中不斷修改、充實、完善。?

            (注意,數據庫設計階段形成的數據字典與后面講到的數據字典不同,后者是?

            DBMS關于數據庫中數據的描述,當然兩者是有聯系的)。?

            7.什么是數據庫的概念結構?試述其特點和設計策略。?

            答:概念結構是信息世界的結構,即概念模型,其主要特點是:?

            (1)能真實、充分地反映現實世界,包括事物和事物之間的聯系,能滿足用戶

            對數據的處理要求。是對現實世界的一個真實模型。?

            (2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參

            與是數據庫的設計成功的關鍵。?

            (3)易于更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充。?

            (4)易于向關系、網狀、層次等各種數據模型轉換。?

            概念結構的設計策略通常有四種:?

            (1)自頂向下。即首先定義全局概念結構的框架,然后逐步細化;?

            (2)自底向上。即首先定義各局部應用的概念結構,然后將它們集成起來,得

            到全局概念?

            結構;?

            (3)逐步擴張。首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的

            方式逐步生成其他概念結構,直至總體概念結構;?

            (4)混合策略。即將自頂向下和自底向上相結合,用自頂向下策略設計一個全

            ?局概念結構的框架,以它為骨架集成由自底向上策略中設計的各局部概念結構。

            8.什么叫數據抽象?試舉例說明。?

            答:數據抽象是對實際的人、物、事和概念進行人為處理,抽取所關心的共同

            特性,忽略非本質的細節,并把這些特性用各種概念精確地加以描述,這些概念

            組成了某種模型。?

            如分類這種抽象是:定義某一類概念作為現實世界中一組對象的類型。這些對

            象具有某些共同的特性和行為。它抽象了對象值和型之間的?“is?member?of”的

            語義。在E‐R模型中,實體型就是這種抽象。例如在學校環境中,李英是老師,

            表示李英是教師類型中的一員,則教師是實體型,李英是教師實體型中的一個實

            體值,具有教師共同的特性和行為:在某個系某個專業教學,講授某些課程,從

            事某個方向的科研。?

            9.試述數據庫概念結構設計的重要性和設計步驟。?

            答:重要性:數據庫概念設計是整個數據庫設計的關鍵,將在需求分析階段所

            得到的應用需求首先抽象為概念結構,以此作為各種數據模型的共同基礎,從而

            能更好地、更準確地用某一?DBMS實現這些需求。?

            設計步驟:概念結構的設計方法有多種,其中最經常采用的策略是自底向上方

            法,該方法的設計步驟通常分為兩步:第?1步是抽象數據并設計局部視圖,第2

            步是集成局部視圖,得到全局的概念結構。?

            10.為什么要視圖集成?視圖集成的方法是什么??

            答:在對數據庫系統進行概念結構設計時一般采用自底向上的設計方法,把繁

            雜的大系統分解子系統。首先設計各個子系統的局部視圖,然后通過視圖集成的

            方式將各子系統有機的融合起來,綜合成一個系統的總視圖。這樣設計清晰,由

            簡到繁。由于數據庫系統是從整體角度看待和描述數據的,因此數據不再面向某

            個應用而是整個系統。因此必須進行視圖集成,使得數據庫能被全系統的多個用

            戶、多個應用共享使用。?

            一般說來,視圖集成可以有兩種方式:?

            (1)多個分?E‐R圖一次集成;?

            (2)逐步集成,用累加的方式一次集成兩個分?E‐R圖。?

            無論采用哪種方式,每次集成局部?E‐R圖時都需要分兩步走:?

            (1)合并。解決各分E‐R圖之間的沖突,將各分E‐R圖合并起來生成初步E‐R圖。?

            (2)修改和重構。消除不必要的冗余,生成基本E‐R圖。?

            11.什么是數據庫的邏輯結構設計?試述其設計步驟。?

            答:數據庫的邏輯結構設計就是把概念結構設計階段設計好的基本?E‐R圖轉換

            為與選用的DBMS產品所支持的數據模型相符合的邏輯結構。?

            設計步驟為:?

            (1)將概念結構轉換為一般的關系、網狀、層次模型;?

            (2)將轉換來的關系、網狀、層次模型向特定DBMS支持下的數據模型轉換;?

            (3)對數據模型進行優化。?

            ?

            ?

            第十章數據庫恢復技術(教材289頁)

            1.試述事務的概念及事務的四個特性。?

            答:事務是用戶定義的一個數據庫操作序列,這些操作要么全做要么全不做?,

            是一個不可分割的工作單位。?

            事務具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)

            和持續性(Durability)。這個四個特性也簡稱為ACID特性。?

            原子性??事務是數據庫的邏輯工作單位,事務中包括的諸操作要么都做,要么

            都不做。?

            一致性??事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致

            性狀態。?

            隔離性??一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用

            的數據對其他并發事務是隔離的,并發執行的各個事務之間不能互相干擾。?

            持續性??持續性也稱永久性(Permanence),指一個事務一旦提交,它對數據庫

            中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其執行結果

            有任何影響。?

            2.為什么事務非正常結束時會影響數據庫數據的正確性,請列舉一例

            說明之。?

            答:事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀

            態。如果數據庫系統運行中發生故障,有些事務尚未完成就被迫中斷,這些未完

            成事務對數據庫所做修改有一部分已寫入物理數據庫,這時數據庫就處于一種不

            正確的狀態,或者說是不一致的狀態。?

            例如某工廠的庫存管理系統中,要把數量為?Q的某種零件從倉庫1移到倉庫

            2存放。?

            則可以定義一個事務?T,T包括兩個操作;Q1=Q1‐Q,Q2=Q2+Q。如果T非正

            常終止時只做了第一個操作,則數據庫就處于不一致性狀態,庫存量無緣無故少

            了Q。?

            3.數據庫中為什么要有恢復子系統?它的功能是什么??

            答:因為計算機系統中硬件的故障、軟件的錯誤、操作員的失誤以及惡意的破

            壞是不可避免的,這些故障輕則造成運行事務非正常中斷,影響數據庫中數據的

            正確性,重則破壞數據庫,使數據庫中全部或部分數據丟失,因此必須要有恢復

            子系統。?

            恢復子系統的功能是:把數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱

            為一致狀態或完整狀態)。?

            4.數據庫運行中可能產生的故障有哪幾類?哪些故障影響事務的正

            常執行?哪些故障破壞數據庫數據??

            答:數據庫系統中可能發生各種各樣的故障,大致可以分以下幾類:?

            (1)事務內部的故障;?

            (2)系統故障;?

            (3)介質故障;?

            (4)計算機病毒。?

            事務故障、系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒

            破壞數據庫數據。?

            5.據庫恢復的基本技術有哪些??

            答:數據轉儲和登錄日志文件是數據庫恢復的基本技術。?

            當系統運行過程中發生故障,利用轉儲的數據庫后備副本和日志文件就可以將

            數據庫恢復到故障前的某個一致性狀態。?

            6.數據庫轉儲的意義是什么?試比較各種數據轉儲方法。?

            答:數據轉儲是數據庫恢復中采用的基本技術。所謂轉儲即?DBA定期地將數

            據庫復制到磁帶或另一個磁盤上保存起來的過程。當數據庫遭到破壞后可以將后

            備副本重新裝入,將數據庫恢復到轉儲時的狀態。?

            靜態轉儲??在系統中無運行事務時進行的轉儲操作。靜態轉儲簡單,但必須等

            待正運行的用戶事務結束才能進行。同樣,新的事務必須等待轉儲結束才能執行。

            顯然,這會降低數據庫的可用性。?

            動態轉儲??指轉儲期間允許對數據庫進行存取或修改。動態轉儲可克服靜態轉

            儲的缺點,它不用等待正在運行的用戶事務結束,也不會影響新事務的運行。但

            是,轉儲結束時后援副本上的數據并不能保證正確有效。因為轉儲期間運行的事

            務可能修改了某些數據,使得后援副本上的數據不是數據庫的一致版本。?

            為此,必須把轉儲期間各事務對數據庫的修改活動登記下來,建立日志文件(log?

            file)。這樣,后援副本加上日志文件就能得到數據庫某一時刻的正確狀態。?

            轉儲還可以分為海量轉儲和增量轉儲兩種方式:?

            海量轉儲??每次轉儲全部數據庫。?

            增量轉儲??每次只轉儲上一次轉儲后更新過的數據。從恢復角度看,使用海量

            轉儲得到的后備副本進行恢復一般說來更簡單些。但如果數據庫很大,事務處理

            又十分頻繁,則增量轉儲方式更實用更有效。?

            7.什么是日志文件?為什么要設立日志文件??

            答:(1)日志文件是用來記錄事務對數據庫的更新操作的文件。?

            (2)設立日志文件的目的是:?進行事務故障恢復;進行系統故障恢復;協助后

            備副本進行介質故障恢復。?

            8.登記日志文件時為什么必須先寫日志文件,后寫數據庫??

            答:把對數據的修改寫到數據庫中和把表示這個修改的日志記錄寫到日志文件

            中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完

            成了一個。?

            如果先寫了數據庫修改,而在運行記錄中沒有登記這個修改,則以后就無法恢

            復這個修改了。如果先寫日志,但沒有修改數據庫,在恢復時只不過是多執行一

            次?UDO操作,并不會影響數據庫的正確性。所以一定要先寫日志文件,即首

            先把日志記錄寫到日志文件中,然后寫數據庫的修改。?

            9.針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故

            障的恢復?系統故障的恢復?介質故障恢復?)?

            答:事務故障的恢復:?

            事務故障的恢復是由?DBMS自動完成的,對用戶是透明的。?

            DBMS執行恢復步驟是:?

            (1)反向掃描文件日志(即從最后向前掃描日志文件),查該事務的更新操作。??

            (2)對該事務的更新操作執行逆操作。即將日志記錄中“更新前的值”寫入數

            據庫。?

            (3)繼續反向掃描日志文件,做同樣處理。?

            (4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。?

            系統故障的恢復:?

            系統故障可能會造成數據庫處于不一致狀態:?

            ①是未完成事務對數據庫的更新可能已寫入數據庫。?

            ②是已提交事務對數據庫的更新可能還留在緩沖區,沒來得及寫入數據庫。?

            因此恢復操作就是要撤銷?(UDO)故障發生時未完成的事務,重做(REDO)已完

            成的事務。?

            系統的恢復步驟是:?

            (1)正向掃描日志文件,出在故障發生前已經提交的事務隊列(REDO隊列)

            和未完成的事務隊列(UDO隊列)。?

            (2)對撤銷隊列中的各個事務進行UDO處理。?

            進行?UDO處理的方法是:反向掃描日志文件,對每個UDO事務的更新操

            作執行逆操作,即將日志記錄中“更新前的值”(Before?Image)寫入數據庫。?

            (3)對重做隊列中的各個事務進行REDO處理。?

            進行?REDO處理的方法是:正向掃描日志文件,對每個REDO事務重新執行日

            志文件登記的操作。即將日志記錄中“更新后的值”(After?Image)寫入數據庫。?

            介質故障的恢復:?

            介質故障是最嚴重的一種故障。?

            恢復方法是重裝數據庫,然后重做已完成的事務。具體過程是:?

            (1)DBA裝入最新的數據庫后備副本(離故障發生時刻最近的轉儲副本),使數

            據庫恢復到轉儲時的一致性狀態。?

            (2)DBA裝入轉儲結束時刻的日志文件副本。?

            (3)DBA啟動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務。?

            10.什么是檢查點記錄?檢查點記錄包括哪些內容?

            答:檢查點記錄就是在日志文件中增加一類新的記錄,增加一個重新開始文件,

            并讓恢復子系統在登錄日志文件期間動態地維護日志。?

            ??檢查點記錄的內容包括:?

            ①建立檢查點時刻所有正在執行的事務清單;?

            ??②這些事務最近一個日志記錄的地址。?

            11.具有檢查點的恢復技術有什么優點??

            答:利用日志技術進行數據庫恢復時,恢復子系統必須搜索日志,確定哪些事

            務需要?REDO,哪些事務需要UDO。一般來說,需要檢查所有日志記錄。這樣

            做有兩個問題:?

            ①是搜索整個日志將耗費大量的時間。?

            ②是很多需要?REDO處理的事務實際上已經將它們的更新操作結果寫到數據

            庫中了,恢復子系統又重新執行了這些操作,浪費了大量時間。?

            檢查點技術就是為了解決這些問題。?

            12.試述使用檢查點方法進行恢復的步驟。

            答:檢查點方法的恢復步驟:?

            ①從重新開始文件中到最后一個檢查點記錄在日志文件中的地址,由該地址

            在日志文件中到最后一個檢查點記錄。?

            ②由該檢查點記錄得到檢查點建立時刻所有正在執行的事務清單?

            ACTIVE‐LIST。?

            這里建立兩個事務隊列:?

            (1)UDO‐LIST:需要執行undo操作的事務集合;?

            (2)REDO‐LIST:需要執行redo操作的事務集合;?

            把ACTIVE‐LIST暫時放入UDO‐LIST隊列,REDO隊列暫為空。?

            ③從檢查點開始正向掃描日志文件?

            (1)如有新開始的事務?Ti,把Ti暫時放入UDO‐LIST隊列;?

            (2)如有提交的事務?Tj,把Tj從UDO‐LIST隊列移到REDO‐LIST隊列,直到日

            志文件結束;?

            ④對UDO‐LIST中的每個事務執行UDO操作,?對REDO‐LIST中每個事務執行

            REDO操作。?

            13.什么是數據庫鏡像?它有什么用途?

            答:數據庫鏡像即根據?DBA的要求,自動把整個數據庫或者其中的部分關鍵

            數據復制到另一個磁盤上。每當主數據庫更新時,DBMS自動把更新后的數據復

            制過去,即DBMS自動保證鏡像數據與主數據的一致性。?

            數據庫鏡像的用途有:?

            ①是用于數據庫恢復。當出現介質故障時,可由鏡像磁盤繼續提供使用,同時?

            DBMS自動利用鏡像磁盤數據進行數據庫的恢復,不需要關閉系統和重裝數據庫

            副本。?

            ②是提高數據庫的可用性。在沒有出現故障時,當一個用戶對某個數據加排它

            鎖進行修改時,其他用戶可以讀鏡像數據庫上的數據,而不必等待該用戶釋放鎖。?

            ?

            ?

            第十一章并發控制(教材305頁)

            1.在數據庫中為什么要并發控制?并發控制技術能保證事務的哪些

            特性?

            答:數據庫是共享資源,通常有許多個事務同時在運行。?

            當多個事務并發地存取數據庫時就會產生同時讀取和?/或修改同一數據的情

            況。若對并發操作不加控制就可能會存取和存儲不正確的數據,破壞數據庫的一

            致性。所以數據庫管理系統必須提供并發控制機制。?

            ??并發控制技術可以保證事務的隔離性和一致性。?

            2.并發操作可能會產生哪幾類數據不一致?用什么方法能避免各種

            不一致的情況??

            答:并發操作帶來的數據不一致性包括三類:丟失修改、不可重復讀和讀?“臟”

            數據。?

            (1)丟失修改(Lost?Update)?

            兩個事務?T1和T2讀入同一數據并修改,T2提交的結果破壞了(覆蓋了)T1

            提交的結果,導致T1的修改被丟失。?

            (2)不可重復讀(on‐Repeatable?Read)?

            不可重復讀是指事務?T1讀取數據后,事務T2執行更新操作,使T1無法再現

            前一次讀取結果。?

            (3)讀“臟”數據(Dirty?Read)?

            讀“臟”數據是指事務T1修改某一數據,并將其寫回磁盤,事務T2讀取同一

            數據后,T1由于某種原因被撤銷,這時T1已修改過的數據恢復原值,T2讀到的

            數據就與數據庫中的數據不一致,則T2讀到的數據就為“臟”數據,即不正確

            的數據。?

            避免不一致性的方法和技術就是并發控制。最常用的并發控制技術是封鎖技

            術。?

            也可以用其他技術,例如在分布式數據庫系統中可以采用時間戳方法來進行并

            發控制。?

            3.什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。?

            答:封鎖就是事務?T在對某個數據對象例如表、記錄等操作之前,先向系統

            發出請求,對其加鎖。加鎖后事務T就對該數據對象有了一定的控制,在事務T

            釋放它的鎖之前,其他的事務不能更新此數據對象。?

            封鎖是實現并發控制的一個非常重要的技術。?

            基本的封鎖類型有兩種:排它鎖(Exclusive?Locks,簡稱X鎖)和共享鎖(Share?

            Locks,簡稱S鎖)。?

            排它鎖又稱為寫鎖。若事務?T對數據對象A加上X鎖,則只允許T讀取和修

            改A,其他任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就

            保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。?

            共享鎖又稱為讀鎖。若事務?T對數據對象A加上S鎖,則事務T可以讀A但

            不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S

            鎖。這就保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何

            修改。?

            4.什么是封鎖協議?不同級別的封鎖協議的主要區別是什么?

            答:在運用封鎖技術對數據加鎖時,要約定一些規則。例如,在運用?X鎖和S

            鎖對數據對象加鎖時,要約定何時申請X鎖或S鎖、何時釋放封鎖等。這些約定

            或者規則稱為封鎖協議(Locking?Protocol)。對封鎖方式約定不同的規則,就形成

            了各種不同的封鎖協議。不同級別的封鎖協議,例如《概論》中介紹的三級封鎖

            協議,三級協議的主要區別在于什么操作需要申請封鎖,何時申請封鎖以及何時

            釋放鎖(即持鎖時間的長短)。?

            一級封鎖協議??事務?T在修改數據R之前必須先對其加X鎖,直到事務結束

            才釋放。?

            二級封鎖協議??一級封鎖協議加上事務?T在讀取數據R之前必須先對其加S

            鎖,讀完后即可釋放S鎖。?

            三級封鎖協議??一級封鎖協議加上事務?T在讀取數據R之前必須先對其加S

            鎖,直到事務結束才釋放。?

            5.什么是活鎖?試述活鎖的產生原因和解決方法。?

            答:如果事務T1封鎖了數據R,事務T2又請求封鎖R,于是T2等待。T3也

            請求封鎖R,當T1釋放了R上的封鎖之后系統首先批準了T3的請求,T2仍然等

            待。然后T4又請求封鎖R,當T3釋放了R上的封鎖之后系統又批準了T4的請

            求……T2有可能永遠等待,這就是活鎖的情形。?

            活鎖產生的原因是當一系列封鎖不能按照其先后順序執行時,就可能導致一些

            事務無限期等待某個封鎖,從而導致活鎖。?

            避免活鎖的簡單方法是采用先來先服務的策略。當多個事務請求封鎖同一數據

            對象時,封鎖子系統按請求封鎖的先后次序對事務排隊,數據對象上的鎖一旦釋

            放就批準申請隊列中第一個事務獲得鎖。?

            6.什么是死鎖?請給出預防死鎖的若干方法。

            答:如果事務T1封鎖了數據R1,T2封鎖了數據R2,然后T1有請求封鎖R2,

            因T2已封鎖了R2于是T1等待T2釋放R2上的鎖。接著T2又申請封鎖R1,因

            T1已封鎖了R1,T2也只能等待T1釋放R1上的鎖。這樣就出現了T1在等待T2,

            而T2又在等待T1的局面,T1和T2兩個事務永遠不能結束,形成死鎖。?

            在數據庫中,產生死鎖的原因是兩個或多個事務都已封鎖了一些數據對象,然

            后又都請求已被其他事務封鎖的數據加鎖,從而出現死等待。?

            防止死鎖的發生其實就是要破壞產生死鎖的條件。預防死鎖通常有兩種方法:?

            (1)一次封鎖法?

            要求每個事務必須一次將所有要使用的數據全部加鎖,否則就不能繼續執行。?

            (2)順序封鎖法?

            預先對數據對象規定一個封鎖順序,所有事務都按這個順序實行封鎖。?

            不過,預防死鎖的策略不大適合數據庫系統的特點。?

            7.請給出檢測死鎖發生的一種方法,當發生死鎖后如何解除死鎖?

            答:數據庫系統一般采用允許死鎖發生,DBMS檢測到死鎖后加以解除的方法。?

            DBMS中診斷死鎖的方法與操作系統類似,一般使用超時法或事務等待圖法。?

            超時法是:如果一個事務的等待時間超過了規定的時限,就認為發生了死鎖。

            超時法實現簡單,但有可能誤判死鎖,事務因其他原因長時間等待超過時限時,

            系統會誤認為發生了死鎖。若時限設置得太長,又不能及時發現死鎖發生。?

            DBMS并發控制子系統檢測到死鎖后,就要設法解除。通常采用的方法是選擇

            一個處理死鎖代價最小的事務,將其撤消,釋放此事務持有的所有鎖,使其他事

            務得以繼續運行下去。當然,對撤銷的事務所執行的數據修改操作必須加以恢復。?

            8.什么樣的并發調度是正確的調度?

            答:可串行化(?Serializable)的調度是正確的調度。?

            可串行化的調度的定義:多個事務的并發執行是正確的,當且僅當其結果與按

            某一次序串行地執行它們時的結果相同,我們稱這種調度策略為可串行化的調

            度。?

            9.不同封鎖協議與系統一致性級別的關系是什么??

            答:不同的封鎖協議對應不同的一致性級別。?

            一級封鎖協議可防止丟失修改,并保證事務?T是可恢復的。在一級封鎖協議

            中,對讀數據是不加S鎖的,所以它不能保證可重復讀和不讀“臟”數據。?

            ?二級封鎖協議除防止了丟失修改,還可進一步防止讀?“臟”數據。在二級封

            鎖協議中,由于讀完數據后立即釋放S鎖,所以它不能保證可重復讀。?

            在三級封鎖協議中,無論是讀數據還是寫數據都加長鎖,即都要到事務結束時

            才釋放封鎖。所以三級封鎖協議除防止了丟失修改和不讀?“臟”數據外,還進

            一步防止了不可重復讀。?

            10.試述兩段鎖協議的概念。

            答:兩段鎖協議是指所有事務必須分兩個階段對數據項加鎖和解鎖。?

            (1)在對任何數據進行讀、寫操作之前,首先要申請并獲得對該數據的封鎖;?

            (2)在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖。?

            “兩段”的含義是,事務分為兩個階段:?

            第一階段是獲得封鎖,也稱為擴展階段。在這階段,事務可以申請獲得任何數

            據項上的任何類型的鎖,但是不能釋放任何鎖。?

            第二階段是釋放封鎖,也稱為收縮階段。在這階段,事務釋放已經獲得的鎖,

            但是不能再申請任何鎖。?

            13.為什么要引進意向鎖?意向鎖的含義是什么?

            答:引進意向鎖是為了提高封鎖子系統效率。該封鎖子系統支持多種封鎖粒度。?

            原因是:在多粒度封鎖方法中一個數據對象可能以兩種方式加鎖?—顯式封鎖

            和隱式封鎖。因此系統在對某一數據對象加鎖時不僅要檢查該數據對象上有無

            (顯式和隱式)封鎖與之沖突;還要檢查其所有上級結點和所有下級結點,看申

            請的封鎖是否與這些結點上的(顯式和隱式)封鎖沖突;顯然,這樣的檢查方法

            效率很低。為此引進了意向鎖。?

            意向鎖的含義是:對任一個結點加鎖時,必須先對它的上層結點加意向鎖。?

            例如事務T要對某個元組加X鎖,則首先要對關系和數據庫加IX鎖。換言之,

            對關系和數據庫加IX鎖,表示它的后裔結點—某個元組擬(意向)加X鎖。?

            引進意向鎖后,系統對某一數據對象加鎖時不必逐個檢查與下一級結點的封鎖

            沖突了。例如,事務?T要對關系R加X鎖時,系統只要檢查根結點數據庫和R

            本身是否已加了不相容的鎖(如發現已經加了IX,則與X沖突),而不再需要搜

            索和檢查R中的每一個元組是否加了X鎖或S鎖。?

            14.試述常用的意向鎖:IS鎖,IX鎖,SIX鎖。?

            答:IS鎖如果對一個數據對象加?IS鎖,表示它的后裔結點擬(意向)加S

            鎖。例如,要對某個元組加S鎖,則要首先對關系和數據庫加IS鎖?

            IX鎖如果對一個數據對象加?IX鎖,表示它的后裔結點擬(意向)加X鎖。

            例如,要對某個元組加X鎖,則要首先對關系和數據庫加IX鎖。?

            SIX鎖如果對一個數據對象加?SIX鎖,表示對它加S鎖,再加IX鎖,即SIX?=?

            S?+?IX。?

            ?

            ?

            第十二章數據庫管理系統(教材330頁)

            1.試述DBMS的基本功能??

            答:DBMS主要是實現對共享數據有效的組織、管理和存取。其基本功能有:?

            (1)數據庫定義功能;?

            (2)數據存取功能;?

            (3)數據庫運行管理功能;?

            (4)數據組織、存儲和管理功能;?

            (5)數據庫的建立和維護功能;?

            (6)其他功能。?

            2.試述DBMS四種進程組織方案,并分析各種方案的特點和優缺點。?

            答:DBMS?四種進程組織方案是:?

            方案??個DB用戶應用程序對應?個用戶進程,DBMS作為應用程序的子

            程序被連入用戶應用程序中。因此這種方案也稱為連入式方案。數據庫系統中共

            有個進程。?

            2方案??每個用戶進程有一個DBMS進程為之服務,因此個用戶進程就有

            個DBMS進程,共2個進程。?

            +1方案??個用戶進程僅有一個DBMS進程為它們服務,因此共+1個進程,

            共+1個進程。?

            +M方案??用M個DBMS進程為個用戶進程提供服務,一般M小于。?

            3.理解并解釋下列術語的含義:進程、任務、“輕權”進程、線程、

            線索。

            答:進程??操作系統中的核心概念,進程是程序的一次執行過程。進程既是資

            源分配的最小單位也是操作系統調度的基本單位。?

            任務??在單處理器系統中任務與進程是類似的概念。隨著多處理器系統以及并

            行計算技術的發展,進程概念被進一步細劃為任務(Task)與線程(Thread)的

            概念。任務是申請資源的基本單位,而線程是調度和運行的基本單位。?

            輕權進程??線程又被稱為?“輕權”或“輕量”?進程。?

            線索??是數據庫系統中的概念,它借鑒了操作系統中?“線程”的概念:整個

            DBMS可以看作是一個Task,當有一個用戶申請數據庫服務時,Task分配多個

            Thread為之服務,多個Thread并行工作,共享資源。一般地講,DBMS中的線

            索是DBMS的一個執行流。?

            4.什么是DBMS的多線索機制?有什么優點?

            答:DBMS借鑒了操作系統中“線程”的概念和技術,在DBMS的實現中采用

            多線索機制。?

            一般地講,DBMS中的線索是DBMS的一個執行流,它服務于整個DBMS系統

            或DBMS中的某個用戶;DBMS服務器響應客戶請求是通過為每個用戶創建線索

            (而不是創建進程)來完成的。DBMS的各個線索能在邏輯上并行執行;它們共

            存于一個服務器進程中,共享DBMS的所有資源,如數據庫緩沖區和CPU時間;

            線索是DBMS的調度單位,服務器進程能按一定的調度算法調度用戶請求。?

            與進程相比,線索具有以下優點:?

            (1)線索比進程占用較少的系統資源,如內存?

            (2)線索調度比較靈活,可控制性強?

            (3)線索切換開銷較小?

            (4)線索間通信簡便?

            由哪些主要的程序模塊組成?

            答:DBMS主要的程序模塊有:?

            (1)數據定義模塊?

            (2)數據操縱模塊?

            (3)數據庫運行管理方面的程序模塊?

            (4)數據庫組織、存儲和管理方面的程序模塊?

            (5)數據庫建立、維護和其他方面的程序模塊?

            的語言處理層是如何處理一個DDL語句的?

            答:對DDL語句,語言處理層首先把它翻譯成內部表示,然后把它存儲在系

            統的數據字典中。?

            7.試述RDBMS的語言處理層處理一個DML語句的大致過程。

            答:先對DML語句進行詞法分析和語法分析,并把外部關系名、屬性名轉換

            為內部名。然后,根據數據字典中的內容進行查詢檢查,包括審核用戶的存取權

            限和完整性檢查。接下來對查詢進行優化。最后將DML語句轉換成一串可執行

            的存取動作的這一過程。?

            8.什么是處理DML語句的解釋方法和預編譯方法?

            答:解釋方法??直到執行前,數據庫DML語句都以原始字符串的形式保存。

            當執行到該語句是,才利用解釋程序去完成全部過程,同時予以執行。該方法通

            過盡量推遲束縛過程來贏得數據獨立性。?

            預編譯方法??在用戶提交DML語句之后,在運行之前對它進行翻譯處理,保

            存產生好的可執行代碼。當需要運行時,取出保存的可執行代碼加以執行。?

            9.試述數據存取層主要的子系統及其功能。

            答:數據存取層的功能子系統有:?

            ①記錄存取、事務管理子系統提供按某個屬性值直接取一個元組和順序取一

            個元組的存取原語。

            ②日志登記子系統與事務管理子系統相配合,完成RDBMS對事務和數據庫的

            恢復任務,把事務開始、回滾、提交;對元組的插入、刪除、修改;對索引記錄

            的插入、刪除、修改等沒一個操作作為一個日志記錄存入日志文件中。

            ③控制信息管理模塊利用專門的數據區登記不同記錄類型以及不同存取路

            徑的說明信息和控制信息。這些信息是存取元組和管理事務的依據。它提供對數

            據字典中說明信息的讀取、增加、刪除和修改操作。

            ④排序/合并子系統完成對關系元組的重新排序以達到用戶所要求的有序輸

            出,加速關系運算的中間步驟。

            ⑤存取路徑維護子系統對數據執行插入、刪除、修改操作的同時對相應的存

            取路徑進行維護。?

            10.操作系統中也有并發控制問題,為什么DBMS還要并發控制機制?

            答:操作系統提供的封鎖機制和?DBMS的封鎖機制在封鎖對象,封鎖對象的

            狀態,封鎖的粒度,及封鎖的類型上存在很大的差別,操作系統的封鎖機制不能

            直接應用在DBMS中,DBMS必須重新設計,來滿足復雜的封鎖需求。?

            中為什么要設置系統緩沖區?

            答:設立系統緩沖區的原因:?

            ①是為了把存儲層以上?DBMS各系統成分和實在的外存設備隔離,外存設備

            的變更不會影響這些系統,使DBMS具有設備獨立性。?

            ②是為了提高效率。DBMS利用系統緩沖區滯留數據。當需要讀取數據時系統

            首先到緩沖區中查。只有當緩沖區中不存在該數據時才真正從外存讀入該數據

            所在的頁面。當要寫回一元組到數據庫中時,系統并不把它立即寫回外存,僅把

            該元組所在的緩沖區頁面作一標志,表示可以釋放。只有當該用戶事務結束或緩

            沖區已滿需要調入新頁時才按一定的淘汰策略把緩沖區中已有釋放標志的頁面

            寫回外存。這樣可以減少I/O次數,提高系統效率。?

            13.數據庫中要存儲和管理的數據內容包括哪些方面?

            答:數據庫中存儲四個方面的數據:?

            (1)數據描述,即數據的外模式、模式、內模式;?

            (2)數據本身;?

            (3)數據之間的聯系;?

            (4)存取路徑。?

            這四個方面的數據內容都要采用一定的方式組織、存儲起來。?

            ?

            ?

            第十三章數據庫技術新發展(教材350頁)

            2.試述數據庫技術的發展過程。

            答:(1)數據模型是數據庫系統的核心和基礎。數據庫技術的三個發展階段應

            該按照數據模型的進展來界定。按照數據模型的進展,數據庫技術可以相應地分

            為三個發展階段。?

            (2)數據模型的發展經歷了格式化數據模型(包括層次數據模型和網狀數據模

            型)、關系數據模型兩個階段,以面向對象數據模型為代表的非傳統數據模型的

            階段。?

            (3)同學們可以從每一代數據庫系統的主要特征、代表性系統、主要成就、優

            點和不足來了解數據庫技術的發展過程。?

            層次數據庫系統和網狀數據庫系統的數據模型雖然分別為層次模型和網狀模

            型,但實質上層次模型是網狀模型的特例。它們都是格式化模型。它們從體系結

            構、數據庫語言到數據存儲管理均具有共同特征,是第一代數據庫系統。?

            關系數據庫系統支持關系模型。關系模型不僅簡單、清晰,而且有關系代數作

            為語言模型,有關系數據理論作為理論基礎。因此,關系數據庫系統具有形式基

            礎好、數據獨立性強、數據庫語言非過程化等特,標志著數據庫技術發展到了

            第二代。?

            第二代數據庫系統的數據模型雖然描述了現實世界數據的結構和一些重要的

            相互聯系,但是仍不能捕捉和表達數據對象所具有的豐富而重要的語義,因此尚

            只能屬于語法模型。?

            第三代的數據庫系統將是以更加豐富的數據模型和更強大的數據管理功能為

            特征,從而滿足傳統數據庫系統難以支持的新的應用要求。?

            3.當前數據庫技術發展的主要特征是什么?

            答:新一代數據庫技術的特點是:?

            (1)面向對象的方法和技術對數據庫發展的影響最為深遠,數據庫研究人員借

            鑒和吸收了面向對象的方法和技術,提出了面向對象數據模型(簡稱對象模型)。

            該模型克服了傳統數據模型的局限性,促進了數據庫技術在一個新的技術基礎上

            繼續發展。?

            (2)數據庫技術與多學科技術的有機結合,計算機領域中其他新興技術的發展

            對數據庫技術產生了重大影響。傳統的數據庫技術和其他計算機技術如,網絡通

            信技術、人工智能技術、面向對象程序設計技術、并行計算技術移動計算技術等

            的互相結合、互相滲透,使數據庫中新的技術內容層出不窮。?

            (3)面向應用領域的數據庫技術的研究在傳統數據庫系統基礎上,結合各個應

            用領域的特點,研究適合該應用領域的數據庫技術,如數據倉庫、工程數據庫、

            統計數據庫、科學數據庫、空間數據庫、地理數據庫等,這是當前數據庫技術發

            展的又一重要特征。?

            4.第三代數據庫系統的主要特點是什么?

            答:經過多年的研究和討論,對第三代數據庫系統的基本特征已有了共識。?

            (1)第三代數據庫系統應支持數據管理、對象管理和知識管理,除提供傳統的

            數據管理服務外,第三代數據庫系統將支持更加豐富的對象結構和規則,應該集

            數據管理、對象管理和知識管理為一體。由此可以導出第三代數據庫系統必須支

            持OO數據模型。?

            (2)第三代數據庫系統必須保持或繼承第二代數據庫系統的技術,第三代數據

            庫系統應繼承第二代數據庫系統已有的技術,。如第二代數據庫系統的非過程化

            數據存取方式和數據獨立性。不僅能很好的支持對象管理和規則管理,而且能更

            好地支持原有的數據管理,支持多數用戶需要的即席查詢等。?

            (3)第三代數據庫系統必須對其他系統開放數據庫系統的開放性表現在:支持

            數據庫語言標準;在網絡上支持標準網絡協議;系統具有良好的可移植性、可連

            接性、可擴展性和可互操作性等。?

            5.試述數據模型在數據庫系統發展中的作用和地位。

            答:(1)數據模型是數據庫系統的核心和基礎。?

            (2)數據庫的發展集中表現在數據模型的發展。?

            6.請闡述以下數據庫系統的主要概念、研究的主要問題及其發展過

            程:

            分布式數據庫系統、并行數據庫系統、主動數據庫系統、多媒體數據庫系統、

            模糊數據庫系統。

            答:分布式數據庫系統??分布式數據庫是由一組數據組成的,這組數據分布在

            計算機網絡的不同計算機上,網絡中的每個結點具有獨立處理的能力(稱為場地

            自治),可以執行局部應用。同時,每個結點也能通過網絡通信子系統執行全局

            應用。?

            并行數據庫系統??并行數據庫系統是在并行機上運行的具有并行處理能力的

            數據庫系統。并行數據庫系統是數據庫技術與并行計算技術相結合的產物。?

            主動數據庫系統??主動數據庫是相對于傳統數據庫的被動性而言的。主動數據

            庫能根據數據庫的當前狀態,主動適時地做出反應,執行某些操作,向用戶提供

            有關信息。主動數據庫是傳統數據庫技術與人工智能技術、面向對象技術相結合

            的產物。?

            多媒體數據庫系統??可實現對格式化和非格式化的多媒體數據的存儲、管理和

            查詢的數據庫系統。?

            模糊數據庫系統??存儲、組織、管理和操作模糊數據的數據庫系統。?

            ?

            ?

            第十七章數據倉庫與聯機分析處理技術(教材417頁)?

            1.試述數據倉庫的產生背景。

            答:(1)數據庫技術的發展和廣泛應用使許多部門、企業積累了大量的原始數

            據,這些數據是寶貴的資源。?

            (2)對這些數據的分析和利用可以了解企業運行的情況,發現存在的問題,預

            測未來的趨勢。?

            (3)數據庫系統作為數據管理的先進技術已經成功用于事務處理。但是它對分

            析處理的支持一直不能令人滿意,具體表現在:?

            ①分析處理時性能低。?

            ②分析的數據對象分散,而且不一致,即缺乏對數據的清洗、集成能力。?

            ③事務處理系統不具備動態集成的能力。?

            ④系統缺乏對歷史數據的有效組織和存儲能力,而分析方法必須以大量的歷史

            數據為依托。?

            ⑤在事務處理系統中存儲的是細節數據,不適合進行分析處理,而事務處理系

            統又不具備對數據的綜合能力。?

            總之,DSS對數據在空間和時間的廣度上都有了更高的要求,。而事務處理環

            境難以滿足這些要求。在事務型環境中直接構建分析型應用是一種失敗的嘗試。

            數據倉庫正是為了構建這種新的分析處理環境而出現的一種數據存儲和組織技

            術。但是數據倉庫的主要驅動力并不是過去的缺點,而是市場商業經營行為的改

            變,市場競爭要求捕獲和分析事務級的業務數據。?

            2.數據倉庫數據的基本特征是什么?

            答:四個基本特征是:?

            (1)數據倉庫的數據是面向主題的;?

            (2)數據倉庫的數據是集成的;?

            (3)數據倉庫的數據是不可更新的;?

            (4)數據倉庫的數據是隨時間不斷變化的。?

            3.什么是聯機分析處理?什么是數據挖掘?

            答:聯機分析處理?OLAP是以海量數據為基礎的復雜分析技術。?

            OLAP支持各級管理決策人員從不同的角度、快速靈活地對數據倉庫中的數據

            進行復雜查詢和多維分析處理,并且能以直觀易懂的形式將查詢和分析結果提供

            給決策人員,以方便他們及時掌握企業內外的情況,輔助各級領導進行正確決策,

            提高企業的競爭力。?

            數據挖掘是從超大型數據庫(VLDB)或數據倉庫中發現并提取隱藏在內的模式

            的過程,這些模式是有效的、新穎的、有潛在使用價值的和易于理解的。目的是

            幫助決策者尋數據間潛在的關聯,發現經營者被忽略的要素,而這些要素對預

            測趨勢、決策行為也許是十分有用的信息。?

            4.基于數據庫技術的DSS解決方案是什么?

            答:基于數據庫技術的?DSS的解決方案是:DW+OLAP+DM?DSS的可行方案。?

            數據倉庫、聯機分析處理和數據挖掘是作為三種獨立的信息處理技術出現的。

            數據倉庫用于數據的存儲和組織,?OLAP集中于數據的分析,數據挖掘則致力于

            知識的發現。由于這三種技術內在的聯系性和互補性,將它們結合起來是一種新

            的DSS構架。是DSS有效而可操作的整體解決方案。?


            本文發布于:2022-08-01 16:33:25,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/falv/fa/82/50878.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 站長QQ:55-9-10-26
            主站蜘蛛池模板: 少妇午夜啪爽嗷嗷叫视频| 国产一区二区高潮视频| 久久天天躁狠狠躁夜夜躁2o2o| 亚洲国产精品午夜福利| 在线天堂最新版资源| 男女xx00xx的视频免费观看| 国产激情艳情在线看视频| 91精品免费久久久| 国产婷婷综合在线视频中文| 国产蜜臀精品一区二区三区| 岛国岛国免费v片在线观看| 九九日本黄色精品视频| 亚洲国产成人久久综合一区| 欧美z0zo人禽交| 久久精品国产亚洲av麻| 国产精品不卡一区二区视频 | 三级国产在线观看| 大地资源免费视频观看| 欧美不卡视频一区发布| 国产伦子沙发午休系列资源曝光| 国产日韩精品免费二三氏| 九九热在线视频中文字幕| 在线中文字幕第一页| 国产一区二区精品网站看黄| 又黄又爽又猛1000部a片| 亚洲国产精品久久久天堂麻豆宅男| 真人无码作爱免费视频| 韩国无码AV片在线观看网站| 久久亚洲精品情侣| 又黄又爽又色的少妇毛片| 潮喷失禁大喷水无码| 精品无码国产污污污免费| 国产麻豆放荡av激情演绎| 大肉大捧一进一出好爽视频mba| 亚洲人成电影网站色mp4| 亚洲一区无码精品色| 我们高清观看免费中国片| 国产精品无码a∨麻豆| 国产99视频精品免费专区| 亚洲av无码片在线播放| 国产成年无码aⅴ片在线观看|