-
數據庫:長期存儲在計算機內、有組織、可共享的大量數據的集合。冗余度較小,數據獨立性較高,易擴展,為用戶共享
-
數據庫系統:數據庫系統是由數據庫、數據庫管理系統、應用程序和數據庫管理員組成的存儲、管理、處理和維護數據的系統
-
數據庫管理系統:數據庫管理系統是位於用戶與操作系統之間的一層數據管理軟件。他和操作系統一樣是計算機的基礎軟件
-
數據模型是數據庫系統的核心和基礎
-
數據模型包括兩類,第一類是概念模型第二類是邏輯模型和物理模型
-
數據模型的三要素:數據模型通常由數據結構、數據操作和數據的完整性約束條件三部分組成。
-
數據模型的概念:數據模型是對現實世界數據特征的抽象,一般來講,數據模型是嚴格定義的概念的集合
-
數據結構三級模式兩層映像:外模式/模式映像(保證了數據的邏輯獨立性);模式/內模式映像(保持數據的物理獨立性)
-
查詢操作:選擇,投影,連接,除,並,差,交,笛卡爾積
-
關系模型中的三類完整性約束條件:實體完整性,參照完整性,用戶定義的完整性
-
SQL的功能:數據查詢SELECT; 數據定義:CREATE,DROP,ALTER; 數據操縱:INSERT,UPDATE,DELETE; 數據控制:GRANT,REVOKE
-
視圖:視圖是從一個或幾個基本表導出來的表,是虛表,數據庫中只存放視圖的定義,不存放視圖對應的數據
-
數據庫的數據保護主要包括數據的安全性和完整性
-
數據庫的安全性是指保護數據庫以防止不合法使用所造成的數據泄露,更改或破壞
-
數據庫的完整性即數據的正確性和相容性。是為了防止數據庫中存在不符合語義的數據
-
函數依賴:R(u)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等而在Y上的屬性值不等,則稱X函數確定Y,或者Y函數依賴於X,記作X->Y
-
數據庫設計的基本步驟:需求分析;概念結構設計;邏輯結構設計;物理結構設計;數據庫的實施;數據庫運行和維護
-
查詢樹的啟發式優化:先執行選擇操作,把投影操作和選擇運算同時進行
-
事務:是用戶定義的一個數據庫操作序列,這些操作要么全做、要么全不做,是一個不可分割的工作單位
-
事務的ACID特性:原子性;一致性;隔離性;持續性
-
數據庫系統故障的種類:事務故障;系統故障;介質故障;計算機病毒
-
數據庫恢復采用的技術:數據轉儲,登記日志文件
- 三級封鎖協議:一級封鎖協議可防止丟失修改,並保證事務T是可恢復的;二級封鎖協議防止丟失修改和防止讀“臟數據”,三級封鎖協議防止丟失修改,讀“臟數據”,和不可重復讀
-
事務T1等待T2,T2又在等待T1,兩個事務永遠不能結束,形成死鎖
-
多個事務的並發執行是正確的,當且僅當其結果與按某一次序串行執行這些事務的結果相同,成這種調度策略為可串行化調度
-
可串行化是並發事務正確調度的准則
-
簡述三級封鎖協議的內容以及不同級別的封鎖協議能解決哪些數據不一致性問題
-
一級封鎖協議是: 事務T在修改數據R之前必須先對其加X鎖,直到事務結束才釋放/一級封鎖協議能夠解決“丟失修改”問題
-
二級封鎖協議是:在一級封鎖協議的基礎上增加上事務T在讀取數據R之前必須先對其加S鎖,讀完即可釋放S鎖。二級封鎖協議不僅可以解決“丟失修改”問題,而且可以解決讀“臟”數據問題
- 三級封鎖協議是: 在一級封鎖協議的基礎上增加上事務T在讀取數據R之前必須先對其加S鎖,直到事務結束才釋放。三級封鎖協議不僅解決了“丟失修改”、讀“臟”數據問題,而且進一步解決了“不可重復讀”問題
答案:
-
封鎖技術通常采用兩種鎖:排他鎖(x鎖),共享鎖(S鎖)。
X鎖:如果事務對數據R實現X鎖則其他事務必須要等待該事物解除X鎖之后才能對該數據進行封鎖。
S鎖:如果事務對數據R實現S鎖,則其他事務仍可以對該數據加S鎖,但在事務對該數據沒有解除S鎖之前,其他任何事務不能對該數據加X鎖。
-
SQL的數據更新包括數據插入,數據刪除,數據更改,分別用insert,delete和update語句實現
-
采用ER方法的數據庫概念設計包括以下步驟: 設計局部ER模式;設計全局ER模式;全局ER模式的優化
-
數據庫中的關鍵碼包括超鍵、候選鍵、主鍵、外鍵。超鍵和候選鍵是唯一地標示關系中元組的屬性或屬性集,但候選鍵中不含有多余的屬性;主鍵是從候選鍵中人為指定的; 外鍵是指一個關系中包含的另一個關系的主鍵所對應的屬性
-
試述視圖的作用?
-
視圖能夠簡化用戶的操作
-
視圖能夠使用戶從多個角度看待同一數據
-
視圖對重構數據庫提供了一定程度的邏輯獨立性
-
視圖對機密數據提供安全保護
3. 登記日志文件時必須遵循什么原則?
-
登記的次序嚴格按照並發事務執行的時間次序
-
先登記日志文件再寫入數據庫
4. 兩段鎖協議是:
-
在對任何數據進行讀寫操作之前,首先要申請並獲得對該數據的封鎖
-
在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖
作用: 若並發執行的所有事務均遵循兩段鎖協議,則對這些事務的任何並發調度策略都是可串行化的
5. 死鎖的診斷與解除
超時法:如果一個事務等待時間超過了規定的時限,就認為該事務發生了死鎖。解除死鎖的辦法: 將其撤銷
等待圖法:用事務等待圖動態反映所有事務的等待情況。 解除死鎖:選擇一個處理代價最小的事務,將其撤銷,並釋放該事務所持有的所有鎖,使其它事務能繼續運行下去
6. 什么是死鎖?請給出預防死鎖的若干方法
-
如果事務T1封鎖了數據R1,事務T2封鎖了數據R2。T1又申請封鎖數據R2,因為數據R2已被事務T2封鎖,所以事務T1需要等待。T2又申請封鎖數據數據R1,因為數據R1已被數據T1封鎖,所以事務T2需要等待。事務T1和T2相互等待而永不能結束,形成死鎖
-
預防死鎖發生通常可以有兩種方法
-
一次封鎖法:要求每個事務必須一次將所用到的所有數據全部加鎖,否則就不能執行
-
順序封鎖法: 預先對數據對象規定一個封鎖順序,所有事務都按照這個順序實行封鎖。
7. 考慮如下的調度,說明這些調度集合之間的包含關系
-
正確的調度
-
可串行化的調度
-
遵循兩段鎖的調度
-
串行調度
答案:(3)Ç(2)Ç(4)Ç(1)
8. 什么是數據庫中的自主存取控制方法和強制存取控制方法?
-
自主存取控制定義:用戶對不同的數據對象具有不同的存取權限,不同的用戶對同一數據對象也有不同的權限,而且用戶還可以將其所有的權限轉授給其他用戶。
-
強制存取控制的定義:每一個數據庫對象被標以一定的密級,每一個用戶也被授予某一級別的許可證。對於任意一個對象,只有具有合法許可證的用戶才可以存取
9. 什么是數據庫鏡像?它有什么用途?
-
數據庫鏡像即根據DBA的要求,自動把整個數據庫或者其中的部分關鍵數據復制到另一個磁盤上。每當主數據庫更新時,DBMS自動把更新后的數據復制過去,即DBMS自動保證了鏡像數據與主數據的一致性。
數據鏡像的用途有兩點:
-
用於數據庫的恢復。
-
提高數據的可用性
10. 試述數據庫系統的三級模式和兩級映像/數據的邏輯獨立性和物理獨立性
數據系統的三級模式結構由外模式、模式、內模式組成
兩級映像:外模式/模式,模式/內模式
當模式改變時,由數據庫管理員對各個外模式/模式的映像做相應改變可以使外模式保持不變,從而不必修改應用程序,保證了數據與程序的邏輯獨立性。簡稱數據的邏輯獨立性。
當內模式改變時,由數據庫管理員對各個模式/內模式的映像做相應改變可以使模式保持不變,從而不必修改應用程序,保證了數據與程序的物理獨立性。簡稱數據的物理獨立性
11. 事務的特點
事務的ACID特性
原子性:事務中包括的諸操作要么全做,要么全部做
一致性:事務執行的結果必須是使數據庫從一個一致性的狀態變到另一個一致性的狀態
隔離性:一個事務內部的操作及使用的數據對其他並發事務是隔離的
持續性: 一個事務一旦提交,它對數據庫中的數據的改變就應該是永久性的
12. 完全函數依賴
13. 什么是數據庫的完整性?
數據庫的完整性是指數據的正確性和相容性。數據庫的完整性是為了防止數據庫中存在不符合語義的數據,也就是防止數據庫中存在不正確的數據
14. 說明視圖與基本表的區別和聯系
-
-
數據庫保護分為:安全性控制、 完整性控制 、並發性控制和數據的恢復。
-
試述數據庫管理系統的基本功能:
-
數據庫定義和創建:創建數據庫主要是用數據定義語言DDL定義和創建數據庫模式、外模式、內模式等數據庫對象
-
數據組織、存儲和管理:DBMS要分類組織、存儲和管理各種數據
-
數據存取:提供用戶對數據的操作功能,實現對數據庫數據的檢索、插入、修改和刪除
-
數據庫事務管理和運行:DBMS運行控制和管理功能。這些功能保證了數據庫的正常運行,保證了事務的ACID特性
-
數據庫的建立和維護:數據庫的建立和維護包括數據庫的初始建立、數據的轉換、數據庫的轉儲和恢復等
-
其他功能
18. 實體完整性:若屬性(或屬性組)F為基本關系R的主碼,則F不能取空值
19. 參照完整性:若屬性(或屬性組)F為基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系)則對於R中的每個元組在F上的取值必須:
或者取空值;或者等於S中某個元組的主碼值
20. 數據的獨立性:數據的獨立性表示應用程序與數據庫中存儲的數據不存在依賴關系,包括數據的邏輯獨立性和物理獨立性
21. 數據字典:數據字典是數據庫中各種描述信息和控制信息的集合。
數據字典的基本內容有:數據項,數據結構,數據流,數據存儲和處理
