當前位置:成語大全網 - 新華字典 - 什麽是數據庫的概念結構

什麽是數據庫的概念結構

={ E→G,G→E,F→(E,G),H→(E,G),

(F,H)→E}

(1)求出R的所有候選關鍵字;

(2)根據函數依賴關系,確定關系模式R屬於第幾範式;

(3)將R分解為3NF,並保持無損連接性和函數依賴保持性;

(4)求出F的最小函數依賴集。

參考答案:

(1)R的候選關鍵字為:(F,H)

(2)R為:1NF

(3)分解為:

(,)、(,)、(,)、(,{})

(4)最小函數依賴集為:

按定理4.3,求最小函數依賴集步驟:

F=

=

=

10、試問下列關系模式最高屬於第幾範式,並解釋其原因。

(1)R(A,B,C,D),F=。

(2)R(A,B,C,D,E),F=。

(3)R(A,B,C,D),F=。

(4)R(A,B,C),F=。

(5)R(A,B,C),F=。

(6)R(A,B,C,D),F=。

(7)R(A,B,C,D),F=。

參考答案:

只依次寫出候選關鍵字與範式等級(範式按定義判定,具體略)

(1)AB 1NF

(2)AB,E 2NF

(3)AB,AD 3NF

(4)A,B BCNF

(5)C 2NF

(6)AD 1NF

(7)AD 1NF

二、填空題

1、對數據庫的保護壹般包括 安全性 、 完整性 、 並發控制 和 數據恢復 四個方面的內容。

2、對數據庫 安全 性的保護就是指要采取措施,防止庫中數據被非法訪問、修改,甚至惡意破壞。

3、安全性控制的壹般方法有 用戶標識和鑒別 、 用戶存取權限控制 、 視圖機制 、

數據加密 和 審計 五種。

4、用戶鑒定機制包括 用戶標識定義 和 用戶身份驗證 兩個部分。

5、每個數據均需指明其數據類型和取值範圍,這是數據 完整性 約束所必需的。

6、在SQL中, COMMIT 語句用於提交事務, ROLLBACK 語句用於回滾事務。

7、加鎖對象的大小被稱為加鎖的 粒度 。

8、對死鎖的處理主要有兩類方法,壹是 預防死鎖的發生 ,二是 檢測死鎖發現後予以消除死鎖 。

9、解除死鎖最常用的方法是 撤消壹些陷入死鎖的事務 。

10、基於日誌的恢復方法需要使用兩種冗余數據,即 後備數據庫 和 日誌文件 。

三、簡單題

1、簡述數據庫保護的主要內容。

對數據庫的保護壹般包括4個方面的內容,壹是對數據庫完整性的保護,即保證庫中的數據是正確的和相容的,符合完整性約束條件的;二是對數據庫安全性的保護,即防止庫中數據被非法訪問、修改,甚至惡意破壞;三是對並發的事務進行控制,保證數據庫的壹致性;四是在發生故障後,對數據庫進行恢復,盡量減少故障造成的損失。

2、什麽是數據庫的安全性?簡述DBMS提供的安全性控制功能包括哪些內容。

解:

(1)數據庫的安全性是指保護數據庫以防止非法使用所造成數據的泄露、更改或破壞。

(2)常采取的安全保護措施有用戶鑒定、存取控制、視圖保護、審計和數據加密等。

4、什麽是數據庫的完整性?DBMS提供哪些完整性規則,簡述其內容。

(1)數據庫的完整性是指保護數據庫中數據的正確性、有效性和相容性,防止錯誤的數據進入數據庫造成無效操作。

(2)DBMS提供實體完整性規則、參照完整性規則及用戶自定義完整性規則

為保障數據庫的完整性,數據庫管理系統應提供完整性約束的定義機制和檢查機制。

5、數據庫的安全性保護和完整性保護有何主要區別?

解:

數據庫的完整性和安全性是數據庫保護的兩個不同的方面。

安全性是保護數據庫,以防止非法使用所造成數據的泄露、更改或破壞,安全性措施的防範對象是非法用戶和非法操作;完整性是防止合法用戶使用數據庫時向數據庫中加入不符合語義的數據,完整性措施的防範對象是不合語義的數據,即不正確的數據。

6、什麽是事務?簡述事務的ACID特性,事務的提交和回滾是什麽意思?

解:

(1)事務是數據庫系統中執行的壹個工作單位,它是由用戶定義的壹組操作序列組成。

壹個事務可以是壹組SQL語句、壹條SQL語句或整個程序,壹個應用程序可以包括多個事務。事務的開始與結束可以由用戶顯式控制。如果用戶沒有顯式地定義事務,則由DBMS按照缺省規定自動劃分事務。

(2)事務是由有限的數據庫操作序列組成,但並不是任意的數據庫操作序列都能成為事務,為了保護數據的完整性,壹般要求事務具有以下四個特征:

1)原子性(Atomicity)2)壹致性(Consistency)3)隔離性(Isolation)4)持久性(Durability)事務上述四個性質的英文術語的第壹個字母分別為A、C、I、D。因此,這四個性質也稱為事務的ACID準則。

(3)

COMMIT表示事務的提交,即將事務中所有對數據庫的更新寫回到磁盤上的物理數據庫中去,此時事務正常結束;

ROLLBACK表示事務的回滾,即在事務運行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對數據庫的所有已完成的更新操作全部撤銷,再回滾到事務開始時的狀態。

7、數據庫管理系統中為什麽要有並發控制機制?

解:

每個用戶在存取數據庫中的數據時,可能是串行執行,即每個時刻只有壹個用戶程序運行,也可能是多個用戶並行地存取數據庫。數據庫的最大特點之壹就是數據資源是***享的,串行執行意味著壹個用戶在運行程序時,其他用戶程序必須等到這個用戶程序結束才能對數據庫進行存取,這樣數據庫系統的利用率會極低。因此,為了充分利用數據庫資源,很多時候數據庫用戶都是對數據庫系統並行存取數據,但這樣就會發生多個用戶並發存取同壹數據塊的情況,如果對並發操作不加控制可能會產生操作沖突,破壞數據的完整性。即發生所謂的丟失更新、汙讀、不可重讀等現象。

(2)實現並發控制的方法主要有兩種:封鎖(Lock)技術和時標(Timestamping)技術。

9、什麽是封鎖?封鎖的基本類型有哪幾種?含義是什麽?

解:

(1)所謂封鎖就是當壹個事務在對某個數據對象(可以是數據項、記錄、數據集、以至整個數據庫)進行操作之前,必須獲得相應的鎖,以保證數據操作的正確性和壹致性。

(2)基本的封鎖類型有兩種:排它鎖和***享鎖。

1)排它鎖(Exclusive Lock):排它鎖又稱寫鎖,簡稱為X鎖,其采用的原理是禁止並發操作。當事務T對某個數據對象R實現X封鎖後,其他事務要等T解除X封鎖以後,才能對R進行封鎖。這就保證了其他事務在T釋放R上的鎖之前,不能再對R進行操作。

2)***享鎖(Share Lock):***享鎖又稱讀鎖,,簡稱為S鎖,其采用的原理是允許其他用戶對同壹數據對象進行查詢,但不能對該數據對象進行修改。當事務T對某個數據對象R實現S封鎖後,其他事務只能對R加S鎖,而不能加X鎖,直到T釋放R上的S鎖。這就保證了其他事務在T釋放R上的S鎖之前,只能讀取R,而不能再對R作任何修改。

11、什麽是活鎖?如何處理?

解:

(1)封鎖技術可有效解決並行操作引起的數據不壹致性問題,但也可產生新的問題,即可能產生活鎖和死鎖問題。

活鎖(Livelock):當某個事務請求對某壹數據的排它性封鎖時,由於其他事務壹直優先得到對該數據的封鎖與操作而使這個事務壹直處於等待狀態,這種狀態形成活鎖。

(2)避免活鎖的簡單方法是采用先來先服務的策略,按照請求封鎖的次序對事務排隊,壹旦記錄上的鎖釋放,就使申請隊列中的第壹個事務獲得鎖。

12、什麽是死鎖?消除死鎖的常用方法有哪些?請簡述之。

(1)在同時處於等待狀態的兩個或多個事務中,每個事務都在等待其中另壹個事務解除封鎖,它才能繼續執行下去,造成任何壹個事務都無法繼續執行,這種狀態稱為死鎖。

(2)發生死鎖的必要條件有以下四條:

①互斥條件②不可搶占條件③部分分配條件:④循環等待條件

①壹次加鎖法

壹次加鎖法是每個事物必須將所有要使用的數據對象全部依次加鎖,並要求加鎖成功,只要壹個加鎖不成功,表示本次加鎖失敗,則應該立即釋放所有已加鎖成功的數據對象,然後重新開始從頭加鎖。

②順序加鎖法

順序加鎖法是預先對所有可加鎖的數據對象規定壹個加鎖順序,每個事務都需要按此順序加鎖,在釋放時,按逆序進行。

14、數據庫運行過程中可能產生的故障有哪幾類

(1)數據庫運行過程中可能會出現各種各樣的故障,這些故障可分為以下三類:事務故障、系統故障和介質故障。

16、什麽是日誌文件?為什麽要在系統中建立日誌文件?

解:

(1)日誌文件是用來記錄事務對數據庫的更新操作的文件。對數據庫的每次修改,都將把被修改項目的舊值和新值寫在壹個叫做運行日誌的文件中,目的是為數據庫的恢復保留依據。

典型的日誌文件主要包含以下內容:1)更新數據庫的事務標識(標明是哪個事務);2)操作的類型(插入、刪除或修改);3)操作對象;4)更新前數據的舊值(對於插入操作而言,沒有舊值);5)更新後數據的新值(對於刪除操作而言,沒有新值);6)事務處理中的各個關鍵時刻(事務的開始、結束及其真正回寫的時間)。

二、填空題

1、在設計分E-R圖時,由於各個子系統分別面向不同的應用,所以各個分E-R圖之間難免存在沖突,這些沖突主要包括 命名沖突 、 屬性沖突 和 結構沖突 三類。

2、數據字典中的 數據項 是不可再分的數據單位。

3、若在兩個局部E-R圖中都有實體“零件”的“重量”屬性,而所用重量單位分別為公斤和克,則稱這兩個E-R圖存在 屬性 沖突。

5、確定數據庫的物理結構主要包括三方面內容,即: 確定數據存放位置和存儲結構 、 確定數據存取方法 和 系統配置 。

6、將關系R中在屬性A上具有相同值的元組集中存放在連續的物理塊上,稱為對關系R基於屬性A進行 聚簇 。

7、數據庫設計的重要特點之壹要把 結構(數據) 設計和 行為(處理) 設計密切結合起來,並以 結構(數據) 為核心而展開。

8、數據庫設計壹般分為如下六個階段: 需求分析 、 概念結構設計 、 邏輯結構設計 、數據庫物理設計、數據庫實施、數據庫運行與維護。

9、概念設計的結果是得到壹個與 計算機與DBMS 無關的模型。

10、在數據庫設計中, 數據字典 是系統各類數據的描述的集合。

三、簡答題

1、數據庫設計分為哪幾個了階段?每個階段的主要工作是什麽?

解:

(1) 按照規範化的設計方法,以及數據庫應用系統開發過程,數據庫的設計過程可分為以下六個設計階段需求分析、概念結構設計、邏輯結構設計、物理結構設計、數據庫的實施、數據庫運行和維護。

(2) 以下是數據庫設計六個步驟的具體內容:

1、需求分析階段2、概念結構設計階段3、邏輯結構設計階段4、物理設計階段

5、數據庫實施階段6、數據庫運行與維護階段

5、什麽是E-R圖?構成E-R圖的基本要素是什麽?

(1)E-R圖即是實體-聯系圖,是信息世界概念模型的壹種。

(2)E-R圖提供了表示實體型、屬性和聯系的方法。

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

屬性:用橢圓表示,橢圓形內寫明屬性名。並用無向邊將其與相應的實體連接起來。

聯系:用菱形表示,菱形框內寫明聯系名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)。

6、用E-R圖表示概念模式有什麽好處?

解:

概念模式是各種數據模型的***同基礎,它比數據模型更獨立於機器、更抽象。將概念結構設計從設計過程中獨立出來,可以帶來以下好處:

(1) 任務相對單壹化,設計復雜程度大大降低,便於管理。

(2) 概念模式不受具體的DBMS的限制,也獨立於存儲安排和效率方面的考慮,因此,更穩定。

(3) 概念模型不含具體DBMS所附加的技術細節,更容易被用戶理解,因而更能準確的反映用戶的信息需求。

8、壹個圖書館理系統中有如下 信息:

圖書:書號、書名、數量、位置

借書人:借書證號、姓名、單位

出版社:出版社名、郵編、地址、電話、E-mail

其中約定:任何人可以借多種書,任何壹種書可以被多個人借,借書和還書時,要登記相應的借書日期和還書日期;壹個出版社可以出版多種書籍,同壹本書僅為壹個出版社所出版,出版社名具有惟壹性。

根據以上情況,完成如下設計:

(1)設計系統的E-R圖;

(2)將E-R圖轉換為關系模式;

(3)指出轉換後的每個關系模式的關系鍵。

解:

(1)

(2)與(3)(帶下劃線的為主碼)

借書人(借書證號,姓名,單位)

借閱(借書證號,書號,借書日期,還書日期)

圖書(書號,書名,數量,位置)

出版(書號,出版社名)

出版社(出版社名,郵編,地址,電話,E-mail)