【数据库题型大总结】简答题总结
文章目錄
- (1)非常重要
- (2)可以了解
(1)非常重要
1.數(shù)據(jù)庫系統(tǒng)的特點
【答案】
- 數(shù)據(jù)庫系統(tǒng)具有一個很大的特點,那就是整體結(jié)構(gòu)化。數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無序程序定義和解釋
- 數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的共享度高,冗余度低,易擴充
- 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)獨立性高(物理獨立性和邏輯獨立性),也即程序和數(shù)據(jù)之間相互獨立,互不影響
- 數(shù)據(jù)由DBMS統(tǒng)一管理和控制,他可以提供安全性、完整性、并發(fā)等諸多服務(wù)
2.數(shù)據(jù)庫管理系統(tǒng)的主要功能
【答案】
- 數(shù)據(jù)定義功能(提供數(shù)據(jù)定義語言DDL)
- 數(shù)據(jù)組織、存儲和管理功能
- 數(shù)據(jù)操縱功能(提供數(shù)據(jù)操縱語言DML)
- 數(shù)據(jù)庫的事務(wù)管理和運行管理
- 數(shù)據(jù)庫的建立和維護功能
3.什么是概念模型?
【答案】
- 定義:是按照用戶的觀點對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設(shè)計
- 作用:概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計人員進行數(shù)據(jù)庫設(shè)計的有力工具,也是數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言
4.試述數(shù)據(jù)模型的概念、和三個要素
【答案】
- 概念:計算機是不可能直接處理現(xiàn)實世界中的具體事物的,所以人們必須事先把具體事物轉(zhuǎn)化為計算機能夠處理的數(shù)據(jù)。因此數(shù)據(jù)模型是對現(xiàn)實世界數(shù)據(jù)特征的抽象,也即數(shù)據(jù)模型是用來描述數(shù)據(jù)、組織數(shù)據(jù)和對數(shù)據(jù)進行操作的
- 三個要素:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操縱和數(shù)據(jù)完整性約束
5.試述數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),并說明這種結(jié)構(gòu)的優(yōu)點是什么(★★★★★)
【答案】
6.試述關(guān)系模型的完整性規(guī)則(★★★★★)
【答案】
7.關(guān)系代數(shù)的基本運算有哪些?如何用這些基本運算來表示其他運算?
【答案】
并、差、笛卡爾積、投影和選擇是基本運算。其余運算(交、連接、除)均可由基本運算導(dǎo)出
8.試述等值連接與自然連接的區(qū)別和聯(lián)系
【答案】
等值連接:連接運算符是“=”的連接運算稱為等值連接,它是從關(guān)系R和S的廣義笛卡爾積中選取A,B屬性值相等的那些元組
自然連接:自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉
9.試述SQL特點(★★★★★)
【答案】
10.說明在DROP TABLE時,RESTRICT和CASCADE的區(qū)別
【答案】
11.什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么
【答案】
- 基本表:基本表是本身獨立存在的表,在SQL中一個關(guān)系就對應(yīng)一個表
- 視圖:視圖是從一個或幾個基本表導(dǎo)出的表。視圖本身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖
12.試述視圖的優(yōu)點
【答案】
13.舉例說明對數(shù)據(jù)庫安全性產(chǎn)生威脅的因素
【答案】
14.試述實現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)(★★★★★)
【答案】
用戶身份鑒別:每個用戶在系統(tǒng)中都有一個用戶標識。每個用戶標識由用戶名(user name)和用戶標識號(UID)組成。系統(tǒng)內(nèi)部記錄著所有合法用戶的標識,每次用戶進入系統(tǒng)時,系統(tǒng)會核對用戶的身份,只有通過鑒定后才提供相關(guān)數(shù)據(jù)庫管理系統(tǒng)的權(quán)限
存取控制:存取控制的目的就是確保只授權(quán)給有資格的用戶訪問數(shù)據(jù)庫的權(quán)限,其余人等無法接近數(shù)據(jù)
視圖:通過視圖機制把要保密的數(shù)據(jù)對無權(quán)存取的用戶隱藏起來,從而自動對數(shù)據(jù)提供一定程度的安全保護
審計:審計功能把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志(audit log)中。審計員可以利用審計日志監(jiān)控數(shù)據(jù)庫中的各種行為,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。還可以通過對審計日志分析,對潛在的威脅提前采取措施加以防范
數(shù)據(jù)加密:將明文轉(zhuǎn)換密文,從而無法獲知數(shù)據(jù)的內(nèi)容,是防止數(shù)據(jù)庫中的數(shù)據(jù)在存儲和傳輸中失密的有效手段
15.舉例說明強制存取控制機制是如何確定主體能否存取客體的
【答案】
16.簡述數(shù)據(jù)庫的完整性
【答案】
17.數(shù)據(jù)庫的完整性概念與數(shù)據(jù)庫的安全性概念有什么區(qū)別和聯(lián)系?
【答案】
18.在關(guān)系系統(tǒng)中,當操作違反實體完整性、參照完整性和用戶定義的完整性約束條件時,一般是如何分別進行處理的?
【答案】
實體完整性
參照完整性
19.試述數(shù)據(jù)庫設(shè)計過程
【答案】
20.試述查詢優(yōu)化在關(guān)系數(shù)據(jù)庫系統(tǒng)中的重要性和可能性
【答案】
21.試述關(guān)系數(shù)據(jù)庫管理系統(tǒng)查詢優(yōu)化的一般準則
【答案】
22.試述關(guān)系數(shù)據(jù)庫管理系統(tǒng)查詢優(yōu)化的一般步驟
【答案】
23.試述事務(wù)的概念及事務(wù)的4個特性。恢復(fù)技術(shù)能保證事務(wù)的哪些特性
【答案】
事務(wù)的概念
四個特性
恢復(fù)技術(shù)可以保證事務(wù)的原子性和持久性
24.針對不同的故障,試給出恢復(fù)的策略和方法。(即如何進行事務(wù)故障的恢復(fù),如何進行系統(tǒng)故障的恢復(fù),以及如何進行介質(zhì)故障的恢復(fù))
【答案】
25.在數(shù)據(jù)庫中為什么要并發(fā)控制?并發(fā)控制技術(shù)能保證事務(wù)的哪些特性?
【答案】
并發(fā)控制:如果多個用戶并發(fā)存取數(shù)據(jù)的行為不加以控制,那么極有可能破壞事務(wù)的隔離性和一致性。因此并發(fā)控制就是為了保證多用戶并發(fā)操作數(shù)據(jù)庫中信息時的正確性、一致性所采取的措施
26.并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一-致?用什么方法能避免各種不一致的情況?
- 丟失修改:兩個以上事務(wù)從數(shù)據(jù)庫中讀入同一數(shù)據(jù)并修改,其中后提交事務(wù)的提交結(jié)果破壞了先提交事務(wù)的提交結(jié)果,導(dǎo)致了先提交事務(wù)對數(shù)據(jù)庫的修改丟失
- 讀臟數(shù)據(jù):事務(wù)1修改某一數(shù)據(jù),并將其寫回磁盤;事務(wù)2讀取同一數(shù)據(jù)后,事務(wù)1由于某種原因被撤銷,這時事務(wù)1已修改過的數(shù)據(jù)被恢復(fù)為原值,事務(wù)2讀到的不穩(wěn)定的瞬間數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)產(chǎn)生了不一致,是不正確的數(shù)據(jù),又稱為臟數(shù)據(jù)
- 不可重復(fù)讀:事物1讀取數(shù)據(jù)后,事物2執(zhí)行更新操作,使事物1無法再現(xiàn)前一次讀取結(jié)果
27.什么是封鎖?基本的封鎖類型有幾種?試述它們的含義
【答案】
28.如何用封鎖機制保證數(shù)據(jù)的一致性?
【答案】
例如在三級封鎖協(xié)議中,事務(wù)T在修改數(shù)據(jù)R之前必須對其先加X鎖直到事務(wù)結(jié)束才可以釋放,事務(wù)T在讀取數(shù)據(jù)R之前必須對其先加S鎖,直到事務(wù)結(jié)束才可以釋放
29.什么是活鎖?試述活鎖的產(chǎn)生原因和解決方法
【答案】
30.什么是死鎖?請給出預(yù)防死鎖的若干方法
【答案】
在操作系統(tǒng)中,預(yù)防死鎖可以破壞其四個必要條件
- 破壞互斥條件
- 破壞不可剝奪條件
- 破壞持有并等待條件(對應(yīng)一次封鎖法)
- 破壞循環(huán)等待條件(對應(yīng)順序封鎖法)
31.請給出檢測死鎖發(fā)生的一一種方法,當發(fā)生死鎖后如何解除死鎖?
【答案】
死鎖檢測
- 超時法:如果一個事務(wù)的等待時間超過了規(guī)定的時限,就認為發(fā)生了死鎖
- 等待圖法(資源分配圖)
死鎖解除
32.什么樣的調(diào)度是正確的調(diào)度
【答案】
33.關(guān)系數(shù)據(jù)庫中查詢處理的步驟是什么?每一步進行簡要概括
- 查詢分析:對查詢語句進行詞法分析、語法分析(檢查其是否正確)
- 查詢檢查:對合法的查詢語句進行語義檢查(語義檢查就是檢查其是否存有效)
- 查詢優(yōu)化:選擇一個高效執(zhí)行的查詢處理策略
- 查詢執(zhí)行:依據(jù)優(yōu)化得到的執(zhí)行策略生成查詢執(zhí)行計劃,并生成相應(yīng)的查詢執(zhí)行計劃代碼
34.什么是存儲過程?用什么來調(diào)用?
存儲過程是個預(yù)編譯的SQL語句集合,優(yōu)點是可以建立非常復(fù)雜的查詢,只需創(chuàng)建一次,在程序中即可多次調(diào)用,且比執(zhí)行單純的SQL語句要快。可以創(chuàng)建一個命令對象進行調(diào)用
35.合并E-R圖時主要包括哪幾種沖突
- 屬性沖突:不同的實體對同一屬性的定義不同
- 命名沖突:同名異義、異名同義
- 結(jié)構(gòu)沖突:同一實體在不同的局部E-R圖中有不同的抽象
36.規(guī)范化
什么是觸發(fā)器?觸發(fā)器的作用
觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程,類似于約束,但是比約束更靈活,是保證數(shù)據(jù)庫完整性的一種方法。任何用戶對表進行增刪改操作都會有數(shù)據(jù)庫服務(wù)器自動激活相應(yīng)的觸發(fā)器,對數(shù)據(jù)庫進行相應(yīng)的檢查和操作
什么是斷言
斷言是指更具有一般性的約束,斷言創(chuàng)建后,任何涉及到斷言中的關(guān)系的操作都會引發(fā)數(shù)據(jù)庫對斷言的檢查,任何使斷言為假的操作都會被拒絕執(zhí)行。
數(shù)據(jù)庫中常用的索引有哪些
- B+樹索引:B+樹是對B樹優(yōu)化處理了的多路搜索樹,與B樹的區(qū)別在于,B樹的每個結(jié)點都可以存儲數(shù)據(jù),而B+樹只有葉子結(jié)點可以存儲數(shù)據(jù),且每個葉子結(jié)點都用鏈表鏈接。
在數(shù)據(jù)庫的查詢中一般都是批量查詢數(shù)據(jù),采用B+樹一次查詢多條時,確定首尾位置,便可以方便的確定多條數(shù)據(jù)位置,提高查詢效率。 - Hash索引:通過一定的算法計算出哈希值,然后映射出對應(yīng)的數(shù)據(jù)存儲位置。檢索速度快,但是哈希值可能存在碰撞。
(2)可以了解
1.試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系
【答案】
區(qū)別:
- 文件系統(tǒng)面向某一應(yīng)用程序,共享性差,冗余度大,數(shù)據(jù)獨立性差,記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu),由應(yīng)用程序自己控制
- 數(shù)據(jù)庫系統(tǒng)面向現(xiàn)實世界,共享性高,冗余度小,具有較高的物理獨立性和一定的邏輯獨立性,整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述,由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)的安全性、完整性、并發(fā)控制和恢復(fù)能力
聯(lián)系:
- 文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)都是計算機系統(tǒng)中管理數(shù)據(jù)的軟件
- DBMS是在操作系統(tǒng)的基礎(chǔ)上實現(xiàn)的,數(shù)據(jù)庫中數(shù)據(jù)的組織和存儲是通過操作系統(tǒng)中的文件系統(tǒng)來實現(xiàn)的
2.簡述關(guān)系數(shù)據(jù)語言的特點和分類
【答案】
這些關(guān)系數(shù)據(jù)語言的共同特點是:語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用
3.
【答案】
①:層次模型
②:網(wǎng)狀模型
4.自主存取控制有哪些缺點
【答案】
自主存取控制其優(yōu)點在于靈活,但其缺點也源自于靈活,用戶可以自由地決定將數(shù)據(jù)的存取權(quán)限授予何人,以及決定是否也將“授權(quán)”的權(quán)限授予別人,在這種授權(quán)機制下,仍可能存在數(shù)據(jù)的“無意泄露”,造成這一問題的根本原因就在于,這種機制僅僅通過對數(shù)據(jù)的存取權(quán)限來進行安全控制,而數(shù)據(jù)本身并無安全性標記
5.什么是數(shù)據(jù)庫的完整性約束條件
【答案】
完整性約束條件:是指數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該滿足的語義約束條件。一般可以分為六類:
- 靜態(tài)列級約束
- 靜態(tài)元組約束
- 靜態(tài)關(guān)系約束
- 動態(tài)列級約束
- 動態(tài)元組約束
- 動態(tài)關(guān)系約束
①靜態(tài)列級約束是對一個列的取值域的說明,包括以下幾個方面:
-
對數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長度、單位、精度等
-
對數(shù)據(jù)格式的約束
-
對取值范圍或取值集合的約束
-
對空值的約束
-
其他約束
②靜態(tài)元組約束就是規(guī)定組成一個元組的各個列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個元組上
③靜態(tài)關(guān)系約束是在一個關(guān)系的各個元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束,常見的靜態(tài)關(guān)系約束有
- 實體完整性約束
- 參照完整性約束
- 函數(shù)依賴約束
④動態(tài)列級約束是修改列定義或列值時應(yīng)滿足的約束條件,包括下面兩方面:
- 修改列定義時的約束
- 修改列值時的約束
⑤動態(tài)元組約束是指修改某個元組的值時需要參照其舊值,并且新舊值之間需要滿足某種約束條件
⑥動態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、 原子性等約束條件
6.關(guān)系數(shù)據(jù)庫管理系統(tǒng)的完整性控制機制應(yīng)具有哪三方面的功能?
【答案】
7.試述數(shù)據(jù)庫設(shè)計過程中形成的數(shù)據(jù)庫模式
【答案】
- 在概念結(jié)構(gòu)設(shè)計階段,形成獨立于各機器特點之外,獨立于各個數(shù)據(jù)模型之外的概念模型
- 在邏輯結(jié)構(gòu)設(shè)計階段,將概念結(jié)構(gòu)設(shè)計階段設(shè)計好的概念模型轉(zhuǎn)化為與選用DBMS產(chǎn)品相適應(yīng)的邏輯結(jié)構(gòu),形成數(shù)據(jù)庫的邏輯模式,并根據(jù)用戶的需求,安全性的考慮,建立必要的視圖,形成數(shù)據(jù)庫的外模式
- 在物理結(jié)構(gòu)設(shè)計階段,根據(jù)關(guān)系數(shù)據(jù)庫的特點和處理的需要,進行物理存儲安排,建立索引,形成數(shù)據(jù)庫的內(nèi)模式
8.需求分析階段的設(shè)計目標是什么?調(diào)查內(nèi)容是什么
【答案】
①:目標
②:內(nèi)容
9.什么是數(shù)據(jù)庫的概念結(jié)構(gòu)?試述其設(shè)計特點和設(shè)計策略
【答案】
①:特點
- 能真實、 充分地反映現(xiàn)實世界, 包括事物和事物之間的聯(lián)系, 能滿足用戶對數(shù)據(jù)的處理要求, 是對現(xiàn)實世界的一個真實模型
- 易于理解, 從而可以用它和不熟悉計算機的用戶交換意見, 用戶的積極參與是數(shù)據(jù)庫設(shè)計成功的關(guān)鍵
- 易于更改, 當應(yīng)用環(huán)境和應(yīng)用要求改變時, 容易對概念模型修改和擴充;
- 易于向關(guān)系、 網(wǎng)狀、 層次等各種數(shù)據(jù)模型轉(zhuǎn)換
②:設(shè)計策略
- 自頂向下, 即首先定義全局概念結(jié)構(gòu)的框架, 然后逐步細化
- 自底向上, 即首先定義各局部應(yīng)用的概念結(jié)構(gòu), 然后將它們集成起來, 得到全局概念結(jié)構(gòu)
- 逐步擴張, 首先定義最重要的核心概念結(jié)構(gòu), 然后向外擴充, 以滾雪球的方式逐步生成其他概念結(jié)構(gòu), 直至總體概念結(jié)構(gòu)
- 混合策略, 即將自頂向下和自底向上相結(jié)合, 用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架, 以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)
10.為什么事務(wù)非正常結(jié)束時會影響數(shù)據(jù)庫數(shù)據(jù)的正確性?請舉例說明之
【答案】
事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。如果數(shù)據(jù)庫系統(tǒng)運行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,這些未完成事務(wù)對數(shù)據(jù)庫所做的修改有一部分已寫入物理數(shù)據(jù)庫,這時數(shù)據(jù)庫就處于一種不正確的狀態(tài),或者說是不一致性狀態(tài)。
例如,某工廠的庫存管理系統(tǒng)中,要把數(shù)量為Q的某種零件從倉庫1移到倉庫2存放,則可以定義一個事務(wù)T。T包括兩個操作:Q1=Q1-Q,Q2=Q2+Q。如果T非正常終止時只做了第一個操作,則數(shù)據(jù)庫就處于不一致性狀態(tài),庫存量無緣無故少了Q
11.登記日志文件時為什么必須先寫日志文件,后寫數(shù)據(jù)庫?
【答案】
如果先寫了數(shù)據(jù)庫修改,而在運行記錄中沒有登記下這個修改,則以后就無法恢復(fù)這個修改了。如果先寫日志,但沒有修改數(shù)據(jù)庫,按日志文件恢復(fù)時只不過是多執(zhí)行一次不必要的UNDO操作,并不會影響數(shù)據(jù)庫的正確性。所以為了安全,一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫的修改
12.什么是檢查點記錄?檢查點記錄包括哪些內(nèi)容?
【答案】
13.試述使用檢查點方法進行恢復(fù)的步驟
【答案】
總結(jié)
以上是生活随笔為你收集整理的【数据库题型大总结】简答题总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lintcode: k Sum II
- 下一篇: 关于android开源类库StickyL