第一篇:數據庫技術復習(基本理論答案)
《數據庫技術》可以分為四部分內容:
第1--2章 關系數據庫模型和關系運算 第3--4章 關系數據庫理論
第5--6章 關系數據庫設計和數據管理系統 第7--9章 數據庫新技術
第1--2章 關系數據庫模型和關系運算
要求掌握的基本概念和理論
1.試述數據庫、數據庫系統、數據庫管理系統的概念。
數據庫:
數據庫是長期儲存在計算機內、有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。
數據庫系統:
數據庫系統(DBS)是指在計算機系統中引入數據庫后的系統構成。數據庫系統由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員構成。
數據庫管理系統:
數據庫管理系統(DBMS)是位于用戶與操作系統之間的一層數據管理軟件。用于科學地組織和存儲數據、高效地獲取和維護數據。DBMS主要功能包括數據定義功能、數據操縱功能、數據庫的運行管理功能、數據庫的建立和維護功能。
2.試述文件系統與數據庫系統的區別
文件系統面向某一應用程序,共享性差、冗余度大,獨立性差,紀錄內有結構、整體無結構,應用程序自己控制。
數據庫系統面向現實世界,共享性高、冗余度小,具有高度的物理獨立性和一定的邏輯獨立性,整體結構化,用數據模型描述,由數據庫管理系統提供數據安全性、完整性、并發控制和恢復能力。
3.解釋下列術語
(1)關系、元組、屬性、域、笛卡兒積(2)候選鍵、主鍵、外鍵
(3)關系模式、關系數據庫、關系模型(4)關系常見的更新
(1)關系、元組、屬性、域、笛卡兒積
關系:在關系模型中唯一的數據結構是關系,一個關系對應一張二維表。關系的每一列稱為關系的屬性,用屬性名表示。關系的每一行稱為關系的元組。域:具有相同數據類型的值的集合。
笛卡爾積:D1,D2,...,Dn的笛卡爾積為:D1×D2×...×Dn ={(d1,d2,...,dn)|di∈Di,i=1,2,...,n }。
其中每一個元素(d1,d2,...,dn)叫做一個n元組(n-tuple),元素中第i個值di叫做第i個分量。
(2)候選鍵、主鍵、外鍵
候選鍵:鍵是能唯一標示元組的最小屬性集。
主鍵:有的關系具有多于一個鍵,這種情況下指派其中一個鍵為主鍵,簡稱為關系的鍵。
外鍵:設F是關系R的一個或一組屬性,但不是R的鍵。若F是另一個關系S的鍵,則稱F是關系R的外鍵。
(3)關系模式、關系數據庫、關系模型
關系模式:對一類實體特征的結構性描述,即對關系的結構性描述,該描述一般包括關系名、屬性名、屬性域的類型和長度,屬性之間固有的依賴聯系等。關系數據庫:一個關系數據庫模式R 對應的所有關系集合 {r1, r2, ?, rp}稱為關系數據庫模式R上的一個關系數據庫d。
關系模型:在關系模型中,基本的數據結構是二維表,由行和列組成。一張二維表稱為一個關系。在關系模型中,實體和實體間的聯系都是用關系表示的。(4)關系常見的更新
插入(ADD(r;d1, d2, …, dn))刪除(DEL(r;d1, d2, … dn))
修改(對關系r(A1,A2,…,An),若屬性集{C1,C2,…,Cp}? {A1,A2,…An},則修改操作形式CH(r;A1=d1,A2=d2,…An=dn;C1=e1,C2=e2,…,Cp=ep)。如果K={B1, B2, … Bm}為鍵,則CH(r;B1=k1,B2=k2,…Bm=km;C1=e1,C2=e2;…Cp=ep))。
4.與網狀和層次數據庫相比,關系數據庫有哪些優點?
(1)數據結構單一,不管實體還是實體之間的聯系都用關系來表示;(2)建立在嚴格的數學概念基礎上,具有堅實的理論基礎;
(3)將數據定義和數據操縱統一在一種語言中,使用方便,易學易用。
5.試述關系模型的完整性規則 答:關系模型的完整性規則包括:實體完整性、參照完整性、用戶定義的完整性。
實體完整性規則是指若屬性A是基本關系R的主屬性,則屬性A不能取空值。
參照完整性:若屬性(或屬性組)F是基本關系R的外鍵,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等于S中某個元組的主碼值。
用戶定義的完整性指數據間應滿足的語義約束關系,由用戶定義,由系統檢查。
6.試述等值連接與自然連接的區別和聯系
答:連接運算符是“=”的連接運算稱為等值連接。它是從關系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組 自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉。
第3--4章 關系數據庫理論
要求掌握的基本概念和理論
1.函數依賴、部分依賴、完全依賴、傳遞依賴、平凡依賴.函數依賴:對X中的任一值x,ΠY(σX=x(r))的值僅有一個元組,則有X→Y。設FD X→Y,如果對任意的X??X,X?→Y都不成立,則稱X→Y是完全函數依賴;若對X的真子集X?有X??X,而X?→Y成立,則稱FD X→Y是部分函數依賴。設關系模式R,X、Y、Z是R的屬性子集,若FD X→Y,Y → X,Y→Z,則有FD X→Z,稱FD X→Z為傳遞函數依賴。
設FD X→Y,如果Y?X,則稱 FD X→Y為非平凡的函數依賴;否則,若Y?X,稱FD X→Y為平凡的函數依賴。
2.侯選鍵、主鍵、主屬性、非主屬性.候選鍵:鍵是能唯一標示元組的最小屬性集。
主鍵:有的關系具有多于一個鍵,這種情況下指派其中一個鍵為主鍵,簡稱為關系的鍵。
主屬性、非主屬性:包含在候選鍵中的屬性成為主屬性,不包含在候選鍵中的屬性成為非。主屬性
3.函數依賴集F、F的閉包F+、屬性集X關于F的閉包X+.由關系模式R上的函數依賴組成的集合F稱為R上的函數依賴集。
設F是關系r(R)上的函數依賴集,F所蘊含的所有FD的集合稱為F的閉包,記作F+。
設關系模式R(U, F),U=A1A2?An ,X ? U, 所有用公理和F推出的函數依賴X→Ai中Ai的集合,稱X對于函數依賴集F的閉包,記作:X+。X+ ={ Ai | F |= X→Ai 且Ai ? U}
4.函數依賴公理和推論.Armstrong公理:設r是R(U)上的一個關系,X、Y、Z、W?U。
1.自反律: 若Y?X?U, 則 X→Y;2.增廣律: 若X→Y且Z?U,則 XZ→YZ;3.傳遞律: 若X→Y, Y→Z,則 X→Z。
推論1:若X→Y,X→Z,則X→YZ 推論2:若X→Y且Z?Y,則X→Z 推論3:若X→Y,YZ→W,則XZ→W。
5.函數依賴的覆蓋和等價、無冗余覆蓋、規范覆蓋.對于在模式R上的函數依賴集F和G,如果對G中的每一個函數依賴X→Y,都有F|=X→Y,稱F是G的一個覆蓋。記為:F|= G。在模式R上的函數依賴集F和G,若F+=G+,則稱F和G等價,記作F?G。
如果函數依賴集F不存在真子集F?使F??F成立,則F是無冗余的。如果F是G的一個覆蓋且F是無冗余的,則F是G的一個無冗余覆蓋。
如果函數依賴集F是G的一個覆蓋,F中的每個FD都具有X→A形式而且F是左化簡的和無冗余的,稱F是G的一個規范覆蓋。
6.多值依賴及其性質、依賴基、連接依賴.多值依賴:設關系模式R,X、Y?R且Z=R-(XY)。若關系模式R滿足多值依賴(MVD)X→→Y,當且僅當對R上的任一關系r,給定一對(x, z)的值,有一組y的值,這組值僅僅決定于x值而與z的值無關。
連接依賴:設R={R1,R2, ?,Rp}是屬性集U上的關系模式集。若r(U)無損地分解成R1,R2,?,Rp,那么,關系r(U)滿足連接依賴,即:r=?R1(r)?R2(r)? ?Rp(r)。記為:(JD)*[R1, R2,?,Rp],或 *[R1,R2,?,Rp]。
7.1NF、2NF、3NF、BCNF 如果一個關系模式R中的每個屬性A的域值都是原子的,即屬性值是不可再分的,則關系模式R?1NF。
設關系模式R(U, F),如果R?1NF且所有的非主屬性完全依賴于R的每個鍵,則R?2NF。
設關系模式R(U, F),若R?1NF且在R中沒有非主屬性傳遞依賴于R的鍵,則R?3NF。
設關系模式R(U,F),若R?1NF且R中沒有任何屬性傳遞依賴于R的任一鍵,則R?Boyce-Codd范式(BCNF)。
8.無損連接、保持函數依賴性.設模式R(U,F),ρ={R1,R2,?,RK}是R的一個分解,若對R的任一滿足F的關系r下式成立:r = ?R1(r)、?R2(r)、? ?Rk(r)的自然連接,則稱分解ρ是滿足F的無損連接分解。
設? ={R1,R2,?,Rp }是R的一個分解,F是R上的函數依賴集。F在Ri上投影的集合 G=∪?Ri(F)。若G≡F,則稱分解? 保持函數依賴集F。
第 5-6章 關系數據庫設計和數據庫管理系統 .試述數據庫設計過程,及每個階段的任務。答:各階段的設計要點如下:
(l)需求分析:準確了解與分析用戶需求(包括數據與處理)。
(2)概念結構設計:通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體 DBMS 的概念模型。
(3)邏輯結構設計:將概念結構轉換為某個 DBMS 所支持的數據模型,并對其進行優化。
(4)數據庫物理設計:為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。
(5)數據庫實施:設計人員運用 DBMS 提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果建立數據庫,編制與調試應用程序,組織數據入庫,并進行試運行。
(6)數據庫運行和維護:在數據庫系統運行過程中對其進行評價、調整與修改。
這是一個完整的實際數據庫及其應用系統的設計過程。不僅包括設計數據庫本身,還包括數據庫的實施、運行和維護。設計一個完善的數據庫應用系統往往是上述六個階段的不斷反復。
2.數據字典的內容和作用是什么?
答:數據字典是系統中各類數據描述的集合。數據字典的內容通常包括:
(l)數據項;(2)數據結構;(3)數據流;(4)數據存儲;(5)處理過程五個部分。其中數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構。數據字典通過對數據項和數據結構的定義來描述數據流和數據存儲的邏輯內容。數據字典的作用:數據字典是關于數據庫中數據的描述,在需求分析階段建立,是下一步進行概念設計的基礎,并在數據庫設計過程中不斷修改、充實、完蓋。
3.試述概念模型的作用, 定義并解釋概念模型中以下術語:
實體,屬性,聯系,實體聯系圖(E-R圖)
概念模型實際上是現實世界到機器世界的一個中間層次。概念模型用于信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的有力工具,也是數據庫設計人員和用戶之間進行交流的語言。
實體:客觀存在并可以相互區分的事物叫實體。
屬性:實體所具有的某一特性,一個實體可由若干個屬性來刻畫。聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1 : 1,1 : n或m : n)。
實體聯系圖:E-R圖提供了表示實體型、屬性和聯系的方法:
4.什么是數據庫的邏輯結構設計?試述其設計步驟。
答:數據庫的邏輯結構設計就是把概念結構設計階段設計好的基本 E 一 R 圖轉換為與選用的 DBMS 產品所支持的數據模型相符合的邏輯結構。設計步驟為
(l)將概念結構轉換為一般的關系、網狀、層次模型;
(2)將轉換來的關系、網狀、層次模型向特定 DBMS 支持下的數據模型轉換;(3)對數據模型進行優化。.試述數據庫物理設計的內容和步驟。答:數據庫在物理設備上的存儲結構與存取方法稱為數據庫的物理結構,它依賴于給定的 DBMS。為一個給定的邏輯數據模型選取一個最適合應用要求的物理結構,就是數據庫的物理設計的主要內容。數據庫的物理設計步驟通常分為兩步:(l)確定數據庫的物理結構,在關系數據庫中主要指存取方法和存儲結構;
(2)對物理結構進行評價,評價的重點是時間效率和空間效率。
6.E-R圖向關系模型的轉換規則是什么?
一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼。
對于實體間的聯系則有以下不同的情況:
(1)一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼。如果與某一端實體對應的關系模式合并,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯系本身的屬性。
(2)一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。
(3)一個m:n聯系轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體碼的組合組成該關系的碼,或碼的一部分。
(4)三個或三個以上實體間的一個多元聯系可以轉換為一個關系模式。與該多元聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。
7.會設計一個給定實際數據庫系統的E 一 R 圖,再將其轉換為關系模型。
8.數據庫管理系統的主要功能有哪些?
(1)數據庫定義
(2)數據操縱
(3)數據庫控制
(4)數據庫維護
9.數據庫管理系統有哪幾部分組成?
(1)數據和元數據存儲(2)存儲管理器(3)查詢處理器(4)事務管理器
(5)輸入模塊---模式修改、查詢和修改
.10 試述SQL語言的特點。
SQL語言有以下主要特點:
(1)綜合統一。SQL語言集數據定義語言DDL、數據操縱語言DML、數據控制語言DCL的功能于一體。
(2)高度非過程化。用SQL語言進行數據操作,只要提出“做什么”,而無須指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統自動完成。
(3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對象、查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。
(4)以同一種語法結構提供兩種使用方式。SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能夠獨立地用于聯機交互的使用方式,也能夠嵌入到高級語言程序中,供程序員設計程序時使用。
(5)語言簡捷,易學易用。
11.試述SQL的定義功能。答: SQL的數據定義功能包括定義表、定義視圖和定義索引。
SQL語言使用CREATE TABLE語句定義建立基本表,;ALTER TABLE語句修改基本表定義,DROP TABLE語句刪除基本表;建立索引使用CREATE INDEX語句建立索引,DROP INDEX語句刪除索引表;SQL語言使用CREATE VIEW命令建立視圖,DROP VIEW語句刪除視圖。
12.什么是視圖?試述視圖的優點
視圖是從一個或幾個基本表導出的表。視圖本身不獨立存儲在數據庫中,是一個虛表。即數據庫中只存放視圖的定義而不存放視圖對應的數據,這些數據仍存放在導出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。視圖的優點:
(1)視圖能夠簡化用戶的操作。
(2)視圖使用戶能以多種角度看待同一數據。
(3)視圖對重構數據庫提供了一定程度的邏輯獨立性。
(4)視圖能夠對機密數據提供安全保護。
第7--9章 數據庫新技術
1.分布式數據庫的有哪些特點?
特點:1.數據是分布的 2.數據是邏輯相關的 3.結點自治性
2.分布式數據庫管理系統有哪幾部分組成? 組成:局部數據庫管理系統LDBMS;
全局數據庫管理系統GDBMS; 全局數據字典GDD; 網絡通信管理CM
3.分布式數據庫系統能夠提供哪些分布透明性?不同透明性對應用程序的編程有什么影響?
分片透明性:關系如何分片對用戶是透明的,指用戶不必關心數據是如何分片的。其應用程序的編寫與集中式數據庫相同。
位置透明性:用戶需知道數據在哪個片段,而不必知道所操作的數據放在哪個節點。數據在結點間的轉移不會影響應用程序。
局部映象透明性:該透明性提供數據到局部數據庫的映象。在編程時不但需要了解全局關系的分片模式,還需要了解各片段存放的站點。
4.除了集中式數據庫中常用的查詢優化方法外,分布式數據庫的全局優化還需解決哪些問題?
(1)多副本的選擇(2)執行次序的選擇:主要確定多元連接的連接次序(3)連接方法的選擇(4)執行結點的選擇
5.半連接在分布式查詢優化中的作用?會計算簡單的半連接。
在分布式數據庫的查詢中半連接的作用:減少傳送的數據量,提高查詢效率。
6.試述事務的概念及事務的4 個特性。
事務是用戶定義的一個數據庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。
事務具有4 個特性:原子性(Atomicity)、一致性(consistency)、隔離性(Isolation)和持續性(Durability)。這4 個特性也簡稱為ACID 特性。
原子性:事務是數據庫的邏輯工作單位,事務中包括的諸操作要么都做,要么都不做。一致性:事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。
隔離性:一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對其他并發事務是隔離的,并發執行的各個事務之間不能互相干擾。持續性:持續性也稱永久性(Perfnanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其執行結果有任何影響。
7.分布事務集的可串行化包括哪些內容?
設分布事務集T1,T2,?,Tk,如果滿足以下條件,則 T1,T2,?,Tk的調度執行是可串行化的.(1).對分布事務T1,T2,?,Tk的每個局部結點上的調度Sp都是可串行化的;
(2)存在一個對T1,T2,?,Tk的綜合順序使得在該順序中事務Ti 8.在數據庫中為什么要并發控制? 答:數據庫是共享資源,通常有許多個事務同時在運行。當多個事務并發地存取數據庫時就會產生同時讀取和/或修改同一數據的情況。若對并發操作不加控制就可能會存取和存儲不正確的數據,破壞數據庫的一致性。所以數據庫管理系統必須提供并發控制機制。 9.并發操作可能會產生哪幾類數據不一致?用什么方法能避免各種不一致的情況?常用哪些方法? 答:并發操作帶來的數據不一致性包括三類:丟失修改、不可重復讀和讀“臟’夕數據。 (l)丟失修改(lost update)兩個事務 Tl 和T2讀入同一數據并修改,T2提交的結果破壞了(覆蓋了)Tl 提交的結果,導致 Tl 的修改被丟失。 (2)不可重復讀(Non 一 Repeatable Read)不可重復讀是指事務 Tl 讀取數據后,事務幾執行更新操作,使 Tl 無法再現前一次讀取結果。 (3)讀“臟”數據(Dirty Read)讀“臟’夕數據是指事務 Tl 修改某一數據,并將其寫回磁盤,事務幾讀取同一數據后,Tl 由于某種原因被撤銷,這時 Tl 已修改過的數據恢復原值,幾讀到的數據就與數據庫中的數據不一致,則幾讀到的數據就為“臟”數據,即不正確的數據。避免不一致性的方法和技術就是并發控制。最常用的技術是封鎖技術和時間戳方法。 10.什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。 答:封鎖就是事務 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 做任何修改。 11.什么樣的并發調度是正確的調度? 答:可串行化(Serializable)的調度是正確的調度。可串行化的調度的定義:多個事務的并發執行是正確的,當且僅當其結果與按某一次序串行執行它們時的結果相同,稱這種調度策略為可串行化的調度。 12.什么是兩段封鎖協議? 兩段鎖協議是指所有事務必須分兩個階段對數據項加鎖和解鎖。 在對任何數據進行讀、寫操作之前,首先要申請并獲得對該數據的封鎖; 在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖。 “兩段”的含義是,事務分為兩個階段: 第一階段是獲得封鎖,也稱為擴展階段。在這階段,事務可以申請獲得任何數據項上的任何類型的鎖,但是不能釋放任何鎖。 第二階段是釋放封鎖,也稱為收縮階段。在這階段,事務釋放已經獲得的鎖,但是不能再申請任何鎖。 13.數據庫恢復的基本技術有哪些? 數據轉儲和登錄日志文件是數據庫恢復的基本技術。當系統運行過程中發生故障,利用轉儲的數據庫后備副本和日志文件就可以將數據庫恢復到故障前的某個一致性狀態。 14.什么是日志文件?為什么要設立日志文件? 日志文件是用來記錄事務對數據庫的更新操作的文件。 設立日志文件的目的是:進行事務故障恢復;進行系統故障恢復;協助后備副本進行介質故障恢復。 先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數據庫的修改。15.數據庫運行中可能產生的故障有哪幾類? 在集中式數據庫系統發生的故障,大致可以分以下幾類: (1)事務內部的故障;(2)系統故障;(3)介質故障; 在分布數據庫運行中,除了上面的三種故障外,還有:(1)信息丟失;(2)網絡分割 16.據庫恢復的基本技術有哪些? 數據轉儲和登錄日志文件是數據庫恢復的基本技術。 當系統運行過程中發生故障,利用轉儲的數據庫后備副本和日志文件就可以將數據庫恢復到故障前的某個一致性狀態。 數據轉儲是數據庫恢復中采用的基本技術。所謂轉儲即DBA定期地將數據庫復制到磁帶或另一個磁盤上保存起來的過程。當數據庫遭到破壞后可以將后備副本重新裝入,將數據庫恢復到轉儲時的狀態。如何進行事務故障的恢復?系統故障的恢復?介質故障恢復? 事務故障的恢復: 事務故障的恢復是由DBMS自動完成的,對用戶是透明的。 DBMS執行恢復步驟是: (1)反向掃描文件日志(即從最后向前掃描日志文件),查找該事務的更新操作。 (2)對該事務的更新操作執行逆操作。即將日志記錄中“更新前的值”寫入數據庫。 (3)繼續反向掃描日志文件,做同樣處理。 (4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。 系統故障的恢復: 系統故障可能會造成數據庫處于不一致狀態: 一是未完成事務對數據庫的更新可能已寫入數據庫; 二是已提交事務對數據庫的更新可能還留在緩沖區,沒來得及寫入數據庫。 因此恢復操作就是要撤銷(UNDO)故障發生時未完成的事務,重做(REDO)已完成的事務。 系統的恢復步驟是: (1)正向掃描日志文件,找出在故障發生前已經提交的事務隊列(REDO隊列)和未完成的事務隊列(UNDO隊列)。 (2)對撤銷隊列中的各個事務進行UNDO處理。 進行UNDO處理的方法是,反向掃描日志文件,對每個UNDO事務的更新操作執行逆操作,即將日志記錄中“更新前的值”(Before Image)寫入數據庫。 (3)對重做隊列中的各個事務進行REDO處理。 進行REDO處理的方法是:正向掃描日志文件,對每個REDO事務重新執行日志文件登記的操作。即將日志記錄中“更新后的值”(After Image)寫入數據庫。 介質故障的恢復: 介質故障是最嚴重的一種故障。 恢復方法是重裝數據庫,然后重做已完成的事務。具體過程是: (1)DBA裝入最新的數據庫后備副本(離故障發生時刻最近的轉儲副本),使數據庫恢復到轉儲時的一致性狀態。 (2)DBA裝入轉儲結束時刻的日志文件副本 (3)DBA啟動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務。具有檢查點的恢復技術有什么優點? 利用日志技術進行數據庫恢復時,恢復子系統必須搜索日志,確定哪些事務需要REDO,哪些事務需要UNDO。一般來說,需要檢查所有日志記錄。這樣做有兩個問題: 一是搜索整個日志將耗費大量的時間。 二是很多需要REDO處理的事務實際上已經將它們的更新操作結果寫到數據庫中了,恢復子系統又重新執行了這些操作,浪費了大量時間。 檢查點技術就是為了解決這些問題。 19.試述實現數據庫安全性控制的常用方法和技術。答:實現數據庫安全性控制的常用方法和技術有: (l)用戶標識和鑒別:該方法由系統提供一定的方式讓用戶標識自己的名字或身份。每次用戶要求進入系統時,由系統進行核對,通過鑒定后才提供系統的使用權。 (2)存取控制:通過用戶權限定義和合法權檢查確保只有合法權限的用戶訪問數據庫,所有未被授權的人員無法存取數據。 (3)視圖機制:為不同的用戶定義視圖,通過視圖機制把要保密的數據對無權存取的用戶隱藏起來,從而自動地對數據提供一定程度的安全保護。 (4)審計:建立審計日志,把用戶對數據庫的所有操作自動記錄下來放入審計日志中,DBA 可以利用審計跟蹤的信息,重現導致數據庫現有狀況的一系列事件,找出非法存取數據的人、時間和內容等。 (5)數據加密:對存儲和傳輸的數據進行加密處理,從而使得不知道解密算法的人無法獲知數據的內容。 20.什么是數據庫的完整性?DBMS完整性控制應具有的功能? 完整性則是防止合法用戶使用數據庫時向數據庫中加入不合語義的數據,即防范的對象是不合語義的數據。 DBMS完整性控制有以下三個方面的功能: 定義功能:為用戶提供定義完整性約束條件的命令或工具。 檢查功能:能夠自動檢查用戶發出的操作請求是否違背了完整性約束條件。保護功能:當發現用戶的操作請求使數據違背了完整性約束條件時,能夠自動采取一定的措施確保數據的完整性不遭破壞。 21.給出下列名次的含義 對象、類、封裝、繼承、多態、對象標識、子類、超類。 對象:在面向對象程序中,一切都是為對象,從一個數據元素到一個大的文件以及一個數據結構,一個可執行程序段等都是對象。類:具有相同特征對象的集合;對象為類中的實例。 繼承:繼承只有在類按層次排列時才有意義。一個類可以從另一個類中繼承其特征,包括數據和方法。封裝: 是一種信息隱蔽技術,它把對象的特征和行為隱蔽起來,使得一個對象在程序中可以作為一個獨立的整體使用而不用擔心對象的功能受到影響。多態:表現為同一操作允許有不同的實現細節。 對象標識:每個對象都有一個內部標識符OID,OID在整個系統中 是唯一的,一旦生成就不能改變。 22.敘述面向對象模型中“對象標識”與關系模型中的“鍵”的相同點和不同點。、在面向對象數據庫系統中,每個對象都有一個內部標識OID,用來標識一個對象,對象標識在整個系統中是唯一的。 23.常見的意向鎖有哪幾種?在面向對象數據庫管理系統中使用意向鎖的作用。 ①.意向共享鎖(IS鎖):對一個數據對象加IS鎖,表示事務可能對類中的實例顯式請求S鎖。 ②.意向排它鎖(IX鎖):在類上加IX鎖表示事務可能對類中實例顯式請求X或S鎖。 ③.共享意向排它鎖(SIX鎖):SIX=S+IX,在類上加SIX鎖表示對類中所有實例都隱式地加了S鎖。表示該事務要讀類中實例,還可能對一些實例請求X鎖。因此,僅允許其它事務讀但不允許更新類中的實例。 24數據倉庫數據的基本特征是什么? 四個基本特征是: 數據倉庫的數據是面向主題的數據倉庫的數據是集成的 數據倉庫的數據是不可更新的 數據倉庫的數據是隨時間不斷變化的什么是聯機分析處理? 聯機分析處理OLAP是以海量數據為基礎的復雜分析技術。 OLAP支持各級管理決策人員從不同的角度、快速靈活地對數據倉庫中的數據進行復雜查詢和多維分析處理,并且能以直觀易懂的形式將查詢和分析結果提供給決策人員,以方便他們及時掌握企業內外的情況,輔助各級領導進行正確決策,提高企業的競爭力 26.什么是數據挖掘?數據挖掘常用的技術方法哪幾種? 數據挖掘是從超大型數據庫(VLDB)或數據倉庫中發現并提取隱藏在內的模式的過程,這些模式是有效的、新穎的、有潛在使用價值的和易于理解的。目的是幫助決策者尋找數據間潛在的關聯,發現經營者被忽略的要素,而這些要素對預測趨勢、決策行為也許是十分有用的信息。 常用的技術方法有:人工神經網絡、遺傳算法、決策樹方法、粗集方法等。 數據管理技術的發展經歷了3個階段:人工管理階段、文件系統階段、數據庫管理階段。數據庫的三級模式由[模式]、[外模式]、[內模式]組成。(模式又叫概念模式、邏輯模式,外模式又叫子模式、用戶模式,內模式又叫存儲模式)外模式/模式映像反映了數據的邏輯獨立性,模式/內模式映像反映了數據的物理獨立性 數據模型由數據結構、數據操作、和完整性約束三要素組成 關系模型是第二代數據庫的主要特征,其結構比較簡單,數據本身以二維表形式進行存儲,表之間的數據聯系是通過一個表的碼與另一個表的碼的連接來實現的。數據邏輯獨立性是指模式改變,外模式和應用程序不變。物理獨立性是指內模式改變,模式不變 數據庫系統中,用概念模式(即模式)描述全部數據的整體邏輯結構 數據庫系統中用戶使用的數據視圖用外模式描述,它是用戶與數據庫系統的接口 ∏是投影運算,倒寫的6字是選擇運算 笛卡爾積重點看一下P27中間部分舉的例子 記錄是字段的有序集合 字段:標記實體屬性的命名單位稱為字段如學生有學號、姓名、年齡、性別等字段 元祖:二維表中的行即記錄值稱為元祖 增刪改查語句對應的關鍵字分別為INSERT、DELETE、UPDATE、SELECT 修改表的結構使用的是ALTER TABLE語句添加一列用ADD關鍵字、修改一列用ALTER COLUMN 刪除一列用DROP COLUMN 如ALTER TABLE student ADD 身份證號 VARCHAR(18);表示修改student表的結構,在其中添加身份證號一列(主)數據文件的擴展名為.mdf ,日志文件的擴展名是.ldf 開啟事務:BEGIN TRANSATION 提交事務:COMMIT TRANSACTION 回滾事務:ROLLBACK TRANSACTION 主鍵:PRIMARY KEY 外鍵:FOREIGN KEY 實體之間的聯系有1: 1、1:m、m:n,即1對1,一對多、多對多 聚合函數: SUM:求和 MAX:求最大值 COUNT:計數 AVG:求平均值 GRANT:授權 REVOKE:收回權限 CONSTRAINT:約束 數據庫設計的步驟:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、數據庫實現階段、數據庫的運行與維護階段 事務具有四個特征原子性、一致性、隔離性、持久性 P116參考答案: 1. 題干:數據庫中有四張表客戶表:Customers、代理人表Agents、產品表Products和訂單表Orders; 其中客戶表Customers各屬性如下: Cid 客戶編號、Cname客戶名、City客戶所在城市 代理人表Agents各如下屬性 Aid代理人編號、Aname代理人姓名、City代理人所在城市 產品表Products中各屬性如下 Pid產品編號、Pname產品名稱、Quantity產品銷售數量、Price產品單價 訂單表Orders表中各屬性如下 Ord_no訂單號、Month訂單月份,Cid客戶編號、Aid代理人編號、Pid產品編號、Qty訂貨數量、Amount訂貨總金額; 根據以上四個表編寫存儲過程實現如下要求: ①給指定產品編號的單價增加0.5元 CREATE PROCEDURE pro_update_products @pid CHAR(10)AS UPDATE products SET price=price+0.5 WHERE pid=@pid GO ②插入一個新的產品記錄到產品表Products中 CREATE PROCEDURE pro_insert_products @pid CHAR(10), @pname VARCHAR(30), @quantity INT, @price FLOAT AS INSERT INTO products VALUES(@pid,@pname,@quantity,@price)GO ③查詢某客戶通過某代理訂購產品的訂貨總量 CREATE PROCEDURE pro_Query_Amount @cname VARCHAR(20), @aname VARCHA(20)AS SELECT Amount FROM Customers c,Orders o,Agents a WHERE c.cid=o.cid AND a.aid=o.aid AND c.cname=@cname AND a.anane=@aname GO 2.根據第一題的四個表用觸發器實現以下操作 ①當向產品表products插入數據時,規定產品單價不得低于0.5元,若低于0.5元則統一調整為0.5元,同時提示用戶“產品單價不得低于0.5元” CREATE TRIGGER tri_products ON products FOR INSERT AS DECLARE @pid CHAR(10),@price FLOAT SELECT @pid=pid,@price=price FROM INSERTED IF @price<0.5 BEGIN UPDATE products SET price=0.5 WHERE pid=@pid PRINT ‘產品單價不得低于0.5元’ END GO ②當訂單表Orders中的訂貨數量有變動時,觸發器自動修改該項訂單的訂貨總金額Amount CREATE TRIGGER tri_orders ON Orders FOR UPDATE AS DECLARE @ord_no CHAR(10),@pid CHAR(10),@Qty INT,@price FLOAT IF UPDATE(Qty)BEGIN SELECT @ord_no,@pid=pid,@Qty=Qty FROM INSERTED SELECT @price=price FROM products WHERE pid=@pid UPDATE Orders SET Amount=@price*@Qty WHERE Ord_no=@ord_NO END GO 第四章第2題的參考答案P91 設有三個關系 S(S#,SNAME,SEX,AGE)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)用select語句完成下列查詢 ①檢索LIU老師所受課程的課程號和課程名 SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’; ②檢索年齡大于23歲的男同學的學號和姓名 SELECT S#,SNAME FROM S WHERE SEX=’男’ AND AGE>23; ③檢索學號為S3的學生所學課程的課程名與授課老師名 SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND SC.S#=’S3’; ④檢索至少選修LIU老師所受課程中一門課程的女學生姓名 SELECT DISTINCT SNAME FROM S,SC WHERE S.SEX=’女’ AND S.S#=SC.S# AND SC.C# =ANY(SELECT C# FROM C WHERE TEACHER=’LIU’); ⑤檢索WANG同學不學課程的課程號 SELECT C# FROM C WHERE C# NOT IN(SELECT C# FROM SC,S WHERE SC.S#=C.C# AND S.SNAME=’WANG’); ⑥檢索至少選修兩門課的學生學號 SELECT S# FROM SC GROUP BY S# HAVING COUNT(C#)>=2; ⑦檢索全部學生都選修的課程的課程號和課程名 SELECT C#,CNAME FROM C WHERE C# IN(SELECT C# FROM SC WHERE S#=ALL(SELECT S# FROM S))⑧檢索選修課程包含LIU老師所受全部課程的學生學號 SELECT S# FROM SC WHERE C# =ALL(SELECT C# FROM C WHERE TEACHER=’LIU’) 第一章 數據庫系統概論 1.試述數據、數據庫、數據庫系統、數據庫管理系統的概念。 數據:描述事物的符號記錄稱為數據。數據的種類有文字、圖形、圖象、聲音、正文等等。數據與其語義是不可分的。 數據庫:數據庫是長期儲存在計算機內、有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。 數據庫系統:數據庫系統(DBS)是指在計算機系統中引入數據庫后的系統構成。數據庫系統由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員構成。 數據庫管理系統:數據庫管理系統(DBMS)是位于用戶與操作系統之間的一層數據管理軟件。用于科學地組織和存儲數據、高效地獲取和維護數據。DBMS主要功能包括數據定義功能、數據操縱功能、數據庫的運行管理功能、數據庫的建立和維護功能。 2.什么是數據獨立性?數據獨立性又分為哪兩個層次?為什么需要數據獨立性? 數據獨立性是用來描述數據與應用程序之間的依賴程度,包括數據的物理獨立性和數據的邏輯獨立性,依賴程度越低則獨立性越高 物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫的數據時相互獨立的。邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的。 作用:數據在磁盤上怎樣存儲由DBMS管理,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。數據獨立性是通過數據庫管理系統的兩層映像功能來實現 3.什么是數據模型?數據模型的基本要素有哪些?為什么需要數據模型? 數據模型是描述數據語義、數據與數據之間聯系(數據結構)、數據操作,以及一致性約束的概念和工具的集合數據模型的基本要素: ①數據結構:是所研究的對象類型的集合,是對系統的靜態特性的描述。 ②數據操作:是指對數據庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。 ③數據的約束條件:是完整性規則的集合,完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。 作用:一般地講,數據模型是嚴格定義的概念的集合。這些概念精確地描述系統的靜態特性、動態特性和完整性約束條件。 4.為什么數據模型要分為概念模型,邏輯模型和物理模型三類?試分別解釋概念模型、邏輯模型和物理模型 為什么:數據模型應滿足3方面的要求:一是能比較真實的模擬現實世界;二是容易被人所理解;三是便于在計算機上實現。一種數據模型要很好地同時滿足這3個方面的要求是很困難的,因此,在數據庫管理系統中這對不同的使用對象和應用目的,采用不同的數據模型。 概念模型:指概念層次的數據模型,也稱為信息模型,它按用戶的觀點或認識對現實世界的數據和信息進行建模,主要用于數據庫設計。常用的概念模型有實體聯系模型(E-R模型)和面向對象OO模型 邏輯模型;用來描述數據庫數據的整體邏輯結構。傳統的邏輯數據模型有層次模型、網狀模型和關系模型,非傳統的邏輯數據模型有面向對象模型、XML模型等 物理模型用來描述數據的物理存儲結構和存取方法 5.關系模型中的主要概念有哪些,試分別解釋之。 關系模型由一組關系組成,每個關系的數據結構是一張規范化的二維表。關系模型中的常用術語有:關系、元組、屬性、碼、域、分量和關系模式等。關系模型要求關系必須是規范化的,即關系的每一個分量必須是一個不可分的數據項。關系數據模型的操作主要包括查詢、插入,刪除和修改(更新數據)。關系數據模型的完整性約束條件包括實體完整性、參照完整性和用戶自定義完整性 6.試解釋數據庫的三級模式結構和兩層映像。為什么數據庫管理系統要提供數據庫的三級模式結構和兩層映像? 數據庫管理系統的數據抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象三個級別。對應于數據抽象的三個級別,數據庫管理系統一般也提供觀察數據庫的三個不同角度,以方便不同的而用戶使用數據庫的需要,這就是數據庫的三級模式結構;內模式、模式和外模式 為了能夠在系統內部實現三個抽象層次的數據之間的聯系和轉換,數據庫管理系統在數據庫的三級模式之間提供了兩層映像:外模式/模式映像、模式/內模式映像。正是這兩層映像保證了數據庫中的數據能夠具有較高的邏輯獨立性和物理獨立性 7.解釋模式、外模式、內模式、DDL、DML等概念 內模式也稱存儲模式,對應于物理層數據抽象,它是數據的物理結構和存儲方式的描述,是數據在數據庫內部的表示方式 模式也稱為邏輯模式,賭贏與邏輯層數據抽象,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖 外模式也成子模式或用戶模式,對應于視圖層數據抽象,它是數據庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與莫以具體運用有關的數據的邏輯表示 數據庫模式定義語言DDL(Data Definition Language),是用于描述數據庫中要存儲的現實世界實體的語言。一個數據庫模式包含該數據庫中所有實體的描述定義。這些定義包括結構定義、操作方法定義等。 數據操縱語言DML,命令使用戶能夠查詢數據庫以及操作已有數據庫中的數據的計算機語言。具體是指是SELECT查詢、UPDATE更新、INSERT插入、DELETE刪除。 第二章 關系模型與關系代數 1.名詞解釋 域:一組具有相同數據類型的值的集合 笛卡爾積:兩個分別為N目和m目的關系R和S的笛卡爾積是一個n+m目元組的集合 超碼:屬性集A能唯一標識關系r中的一個元組,則稱A為關系R的一個超碼 候選碼:對于關系r中一個或多個屬性的集合A,若屬性集A中的任意真子集都不能成為關系r的超碼,則、、、、、主碼:在實體集中區分不同實體的候選碼。 外碼:用于建立和加強兩個表數據之間的關系而引用另一個關系的主碼。 關系模式:是型的概念,它定義了元組集合的結構,即定義了一個元組由哪些屬性構成 關系數據庫:在一個給定的應用領域中,所有實體以及實體之間的聯系所對應的關系的集合 空值:是所有可能的域的一個取值,表明值未知或不存在。 2.關系模式的完整性:實體完整性、參照完整性和用戶自定義完整性。實體完整性:若屬性A是關系r中的主碼,則A不能取空值 參照完整性:若屬性F是關系r的外碼,它與關系s的主碼Ks相對應,則對于關系r中的每一個元組在屬性F上的取值,要么為空值,要么等于關系s中的某個元組的值 3.自然連接和等值連接的區別于聯系 等值連接:是從兩個關系的笛卡爾積中選取連接屬性滿足相等條件的所有元組。 自然連接:是一種特殊的等值連接,它要求兩個參與連接的關系具有公共的屬性集,并且在結果中把重復的屬性列去掉 第四章 數據庫建模(實體-聯系模型) 1.請簡要解釋下列術語:實體、實體集、屬性、域、聯系、聯系集、角色、映射基數、超碼、候選碼、主碼、弱實體、類層次、聚合 實體是客觀世界中可區別于其他事物的“事物”或“對象”。實體既可以是有形的,實在的事物,也可以是抽象的、概念上存在的事物。相同類型的實體組成的集合稱為實體集 實體是通過一組屬性來描述的,其屬性是實體集中給每個實體都具有的性質。每個屬性所允許的取值范圍或集合稱為該屬性的域 聯系兩個或兩個以上實體之間的聯系。相同類型聯系組成的集合稱為聯系集。聯系也可擁有自身的描述性屬性 由于參與一個聯系的實體集通常是不同的,因而角色是隱含的并且常常不需聲明。但是,當參與聯系的實體來自相同的實體集,則需要聲明角色 映射基數指一實體集中的一個實體通過一個聯系集能同時與另一個實體集相聯系的實體數目。映射基數可決定聯系集的主碼屬性,甚至可能影響到一個事物是作為實體還是聯系的選擇 超碼是指能夠唯一的標識實體集或聯系集中的一個實體或一個聯系的一個或多個屬性的集合。當一個超碼的任意真子集都不能成為超碼時,稱該最小超碼為候選碼。候選碼和超碼是實體集客觀存在的特性,而主碼是被數據庫設計者主觀選中,用來區分同一實體集中不同實體的候選碼 當一個實體集的所有屬性都不足以形成主碼,就稱該實體集為弱實體集。相反,其屬性可以形成主碼的實體集稱為強實體集。弱實體集所以來的強實體集稱為標識實體集。標識實體集和弱實體集之間必須是一對多關系,并且弱實體集中的實體在聯系集中是全部參與的 E-R模型使用繼承和ISA聯系來描述實體集之間概念上的層次關系。當欲建立聯系間的聯系時,可使用聚合實現 聚合是一種抽象,它將一個聯系集及其相關聯的實體集抽象為一高層實體集對待,然后建立該高層實體集與其他實體集之間的聯系集 2.綜合題:需求分析----E-R圖---關系模式 第七章 數據庫存儲結構 1.數據庫系統的存儲訪問方式是什么?為什么要這樣? 一個數據庫映射為多個不同的文件,這些文件由底層的操作系統來維護,永久地存放在磁盤上,并且具有三級存儲介質上的備份。每個文件分成定長的存儲單元,稱為塊。塊是存儲分配和數據傳輸的基本單位 當數據庫系統中的程序需要磁盤上的塊時,它向緩沖區管理器發出請求(即調用)。如果這個塊已經在緩沖區中,緩沖區管理器將這個塊在主存儲器中的地址返回給請求者。如果這個塊不再緩沖區中,緩沖區管理器首先在緩沖區中為這個塊分配空間,如果需要的話會把其他塊移出主存儲器為這個新塊騰出空間,移出的塊僅當它在最近一次寫回磁盤后修改過才需要寫回磁盤;然后,換紅區管理器把這個塊從磁盤讀入緩沖區,并將這個塊在主存儲器中的地址返回給請求者。緩沖區管理器的內部動作對發出磁盤塊請求的程序是透明的。原因:數據庫系統的一個主要目標就是減少磁盤和主存儲器之間傳輸的塊數。減少磁盤訪問次數的一種方法是在主存儲器中保留盡可能多的塊,目的是最大化要訪問的塊已經在主存儲器中的幾率,這樣就不再需要訪問磁盤了 2.什么是聚集文件組織、什么是多表聚集文件組織?為什么需要多表聚集文件組織?為什么要慎用多表聚集文件組織? 聚集文件組織:很多關系數據庫系統將各個關系存儲在一個個獨立的文件中,不同關系中有聯系的數據是通過關系間的聯接操作得到的,但是當數據的數量比較大時,這種方法速度會很慢。而在聚集文件組織方式中,一個文件可以存儲多個關系的記錄,不同關系中有聯系的記錄存儲在一起可以提高查找速度。 多表聚集文件組織:在一個塊中存儲兩個或多個關系的相關記錄,以加速特定連接的處理。但是它將會導致其他類型查詢的處理變慢 3.為什么需要索引?什么是順序索引和散列索引?什么是主索引和輔助索引?稠密索引和稀疏索引有什么不同?什么是索引順序文件? 許多查詢只涉及到文件中的少量記錄,索引能使系統直接定位這些滿足查詢條件的記錄。DBMS首先會查找索引,找到對應記錄所在的位置(即所在磁盤的塊地址),然后讀取該磁盤塊,得到所需的記錄 順序索引是基于搜索碼的值的順序排列,用于支持快速地對文件中的記錄進行順序或隨機的訪問。散列索引時通過搜索碼值的散列函數的值將所有記錄平均、隨機地分布到若干個散列桶中,用于支持快速地對文件中的記錄進行隨機地訪問 如果索引文件中的記錄按照某個搜索碼值指定的順序物理存儲,那么該搜索碼對應的索引就稱為主索引,也叫聚集索引。與此相反,搜索碼值順序與索引文件中記錄的物理順序不同的那些索引稱為輔助索引或非聚集索引 如果索引文件中的每一個不同的搜索碼值,在索引中都有一個索引記錄(或稱為索引項),則該索引稱為稠密索引。如果只對索引文件中的部分搜索碼值,在索引中存在一個索引記錄,則該索引稱為稀疏索引。每一個索引項包含搜索碼值和指向具有該搜索碼值的第一個數據記錄的指針。利用稠密索引通常可以比稀疏索引能夠更快地定位一條記錄的位置,但是稀疏索引占用空間更小,插入、刪除和更新的開銷也會更小 建立了主索引的索引文件稱為索引順序文件:稠密索引、稀疏索引 4.B+樹索引的根結點,非葉結點和葉結點都具有相同的數據結構,那它們之間有什么不同? 非葉結點的結構與葉結點結構相同,只不過非葉結點中的所有指針都是指向B+樹種下一層節點的指針,根結點與其他非葉結點不同,它包含的指針書可以小于n/2,但至少包含兩個指針 5.散列文件組織和散列索引有什么不同? 在散列文件組織中,通過計算一條記錄的搜索碼值的散列函數值,可以直接獲得包含該記錄的磁盤塊(桶)的地址。在散列索引組織中,把搜索碼值以及與它們先關聯的記錄指針組織成一個散列文件結構 6.在考慮用索引時,是選擇B+樹索引還是散列索引?為什么? 散列其實就是一種不通過值的比較,而通過值的含義來確定存儲位置的方法,它是為有效地實現等值查詢而設計的。不幸的是,基于散列技術不支持范圍檢索。而基于B+樹索引技術能有效的支持范圍檢索,并且它的等值檢索效果也很好。但是,散列技術在等值連接中是很有用的,尤其是在索引嵌套循環連接方法中,基于散列的索引和基于B+樹的所以在代價上會有很大差別 7.數據庫物理設計的主要內容是什么?數據庫物理設計的目標是什么? 數據庫物理設計的目標是:提高數據庫性能,以滿足應用的性能需求;有效利用存儲空間;在性能和代價之間做出最優平衡 數據庫物理設計的內容包括:確定數據庫性能,以滿足應用的性能需求;有效利用存儲空間;在性能和代價之間做出最優平衡 第八章 查詢處理 1.查詢處理的過程分為哪幾個步驟 ?語法分析與翻譯?查詢優化?查詢執行 2.查詢代價如何度量?為什么? 查詢處理的代價可以通過該查詢對各種資源的使用情況進行度量,主要包括磁盤存取時間和執行一個查詢所用CPU時間以及在并行/分布式數據庫系統中的通信開銷等 3.如何實現選擇運算? 用于選擇運算的搜索方法?不用索引的搜索算法----文件掃描?使用索引的搜索算法---索引掃描 4.題見書(1)最壞情況下,緩沖區只能容納每個關系的一個數據塊,因而算法的代價為:EJ = nr * bs + br。這里,nr = 20000,bs =1500,br=800,所以所需要的塊存取數為20000*1500+800,約為30M個塊存取。最好情況下,兩個關系都能放到內存里,因而算法代價為:EJ = bs + br。大約需要2.3K個塊存取。 5.為什么需要查詢優化?什么是查詢執行計劃?查詢優化器的輸入和輸出分別是什么? 處理一個給定的查詢,尤其是復雜的查詢,通常會有許多種策略。查詢優化就是從這多種策略中找出最有效的查詢執行計劃的處理過程。 給定一個關系代數表達式,查詢優化器的任務就是產生一個查詢執行計劃,該計劃能獲得與原關系代數表達式相同的結果,并且執行代價是接近最小的 6.題見書:由于是計算三個關系的自然連接,且連接屬性中的C、E是各自關系的主碼,因此r1r2r3的大小最多為1000個元組。有效地計算這個連接的策略就是讓連接結果較小的連接運算先執行,即:(r1r2)r3。原因就是:由于A是r1的主碼,C是連接屬性,因此r1r2的最大結果為1000個元組;而C是r2的主碼,E是連接屬性,因此r2r3的最大結果為1500個元組。所以,要讓(r1r2)先做連接運算,以減少結果集的大小。7.畫樹 其它章節零散習題 列級約束和元組級約束的區別在哪里? 如果在定義屬性的同時定義約束條件,則為列級約束;如果單獨定義約束條件,則為元組級約束 什么是事物的ACID特性? ①原子性:事務的所有操作要么全部都被執行,要么都不被執行②一致性;即一個單獨執行的事務應保證其執行結果的一致性,即總是將數據庫從一個一致性狀態轉化到另一個一致性狀態③隔離性:即當多個事務并發執行時,一個事務的執行不能影響另一個事務,即并發執行的各個事務不能相互干擾④持久性:即一個事務成功提交后,它對數據庫的改變必須是永久的,即使隨后系統出現故障也不會受到影響 當前主流的數據庫訪問技術是ADO Web服務器的職責是什么?數據庫服務器的職責又是什么? Web服務器負責監聽客戶的請求,一旦收到客戶請求,數據庫服務器 三級數據庫考點分析之計算機基礎知識 1.1計算機系統組成與應用領域 考點1計算機系統組成 一個完整的計算機系統,包括硬件和軟件兩個部分。 硬件系統是指組成一臺計算機的各種物理裝置,它是計算機的物質基礎,由各種器件組成,如主板、CPU、硬盤、顯示器、內存和線路等。 軟件系統是運行在計算機硬件設備上的各種程序及相關資料的總稱。 以存儲程序原理為基礎的馮·諾依曼結構的計算機,一般由五大功能部件組成,它們是運算器、控制、存儲器、輸人設備以及輸出設備。 下面分別對各種設備進行介紹。 1運算器 運算器是用于對數據進行加工的部件,它可以對數據進行算術運算和邏輯運算。算術運算包括加、減、乘、除、求余及復合運算。邏輯運算包括一般的邏輯判斷和邏輯比較。 2控制器 控制器是計算機的控制部件。它控制計算機各部分自動協調地工作,用于對程序的指令進行解釋和執行,協調輸人、輸出設備,以實現數據輸人、運算和輸出等操作。 3存儲器 存儲器的主要功能是存放程序和數據,是計算機的記憶存儲裝置。它分為內部存儲器和外部存儲器。 4輸入設備 輸人設備是計算機從外部接收、獲取信息的裝置。其功能是將數據、程序及其他信息,從人們所熟知的形式轉換成計算機能識別的信息形式,并輸人到計算機內部。 常見輸人設備有鼠標、鍵盤、掃描儀、紙帶輸人機、模/數轉換器(A/D轉換器)等 5輸出設備 輸出設備的主要功能是將計算機處理過的二進制形式的信息轉換成人們所需要的形式或其他設備接受并可以識別的信息形式。常見的輸出設備有顯示器、打印機、聲音合成輸出、繪圖儀和數/模轉換器(D/A轉換器)等 一般把運算器和控制器合稱為中央處理器(Central Processor Unit,簡稱CPU),中央處理器與內存儲器統稱為主機.輸人設備、輸出設備和外存儲器合稱為外部設備,外部設備通過接口與主機相連。考點2計算機的應用領域 l 科學和工程計算 主要是用數值方法對一些數學問題的求解。計算機不僅可以提高計算的速度,還可以使一些人工不能解決的數學問題得到解決。在科學實驗和工程設計中,經常會遇到一些數學方程和函數問題,這些問題人們不能從理論上得出其準確解,但利用計算機可以得到它們的近似解。這種應用稱為科學和工程計算,其特點是計算量大,而邏輯關系相對簡單。 2數據和信息處理 數據處理是指對數據的收集、存儲、加工、分析和傳送的一系列過程。 計算機的一個非常重要的應用領域就是對數據和信息的處理。數據的含義是相當廣泛的,包括聲、像、文字和圖表等,它們都可以用計算機來進行處理。 3過程控制 過程控制是自動化技術的重要技術內容和手段.指計算機對所采集到的數據按一定的方法經過計算,然后輸出到指定的執行設備中去控制生產的過程。 4輔助設計 計算機輔助設計(Computer Aided Design,簡稱CAD)是用計算機來幫助設計人員進行產品、工程設計的重要技術手段,可以節省人力和物力,且速度快,質量高,能有效縮短產品的設計周期。 這里有必要提一下這幾個名詞:計算機輔助制造(Computer Aided Manufacturing,簡稱CAM)、計算機輔助測試(Computer Aided Testing,簡稱CAT)和計算機輔助教學(Computer Aided Instruction,簡稱CAI)。 5人工智能 人們把用計算機模擬人腦思維的過程稱為人工智能,并利用計算機程序來實現這些過程。 1.2計算機軟件 考點3計算機語言 計算機語言是面向計算機的人工語言,它是進行程序設計的工具,又稱為程序設計語言。現有的程序設計語言一般可分為機器語言、匯編語言及高級語言,下面分別加以介紹。 1機器語言 機器語言是最初級的計算機語言,它依賴于硬件,是由0,I組成的二進制編碼形式的指令集合。不易被人識別,但可以被計算機直接執行。 2匯編語言 匯編語言指使用助記符號和地址符號來表示指令的計算機語言,也稱之為符號語言。每條指令有明顯的標識,易于理解和記憶。 用匯編語言編寫的程序,直觀且易理解,這是匯編語言的優點。但是匯編語言仍是面向機器的,編程工作量大,程序可移植性差。計算機不能識別和直接運行匯編語言,必須翻譯成機器語言程序后才能識別并運行。這種翻譯程序即稱為匯編程序,其關系如圖l一1所示。 圖1-1匯編過程 高級語言 高級語言是一類面向問題的程序設計語言,且獨立于計算機的硬件,對具體的算法進行描述,所以又稱為算法語言,它的特點介紹如下: (I)脫離具體的計算機硬件。 (2)通用性及可移植性好。 下面介紹幾種常用的高級語言。 (I)BASIC語言:多用于教學及小型應用程序的開發工作。 (2)FORTRAN語言:多用于科學及工程計算程序的開發工作。 (3)PASCAL語言:多用于專業教學及應用程序的開發工作。 (4)C語言:多用于系統程序的開發。 (5)C十+語言:多用于面向對象程序的開發。 (6)COBOL語言:多用于商業、交通及銀行等應用程序的開發。 (7)PROLOG語言:多用于人工智能程序的開發。 (8)FoxPro語言:多用于專業教學及應用程序的開發。 高級語言程序一般又稱為源程序,不能直接在計算機上運行,需要翻譯成機器語言程序(又稱為目標程序)才可執行。這種翻譯是由編譯程序來完成的,翻譯過程如圖1-2所示。 圖1一2編譯過程 考點4系統軟件 系統軟件指負責管理、監控和維護計算機資源(含硬件資源和軟件資源)的程序。 1操作系統 操作系統(Operating System,簡稱OS)是系統軟件的核心,也是用戶同計算機之間的接口,是一組程序模塊的集合:它們有效地控制和管理計算機系統中的硬件和軟件資源;合理地組織計算機工作流程,以改善系統的性能;提供一個易于使用、功能強大的工作環境,從而在計算機和其他用戶之間起到接口的作用。 2語言處理程序 語言處理程序就是將各種語言編寫的源程序翻譯成機器語言表示的目標程序。按處理方式的不同可解釋型程序與編譯型程序兩大類。 3數據庫管理系統 數據庫管理系統(DataBase Management System,簡稱DBMS)是組織、管理和查詢計算機中的存緒數據并提供一定處理功能的大型系統軟件,是計算機信息系統和應用系統的基礎,可分為兩類: (1)基于微型計算機的小型數據庫管理系統可解決數據量不大且功能要求較簡單的數據庫應用。 (2)大型的數據庫管理系統功能齊全,安全穩定,支持對大數據量的管理并提供相應開發工具。 4服務性程序 服務性程序屬于輔助性的程序.比如用于程序的裝人、連接和編輯,調試用的裝人程序、連接程序、編輯程序及調試程序,以及故障診斷程序、糾錯程序等。考點5應用軟件 應用軟件是指人們為了解決某濘、領域的實際問題而編制的計算機程序。除了系統軟件以外的所有軟件都稱為應用軟件。隨著計算機應用在不同領域的深人發展,應用軟件的類型也不斷增多,如各種用于計算的軟件包、字處理軟件、CA D軟件、CAI軟件、CAM軟件,以及各種繪圖軟件等。 計算機硬件、軟件及汁算機系統的組成情況如圖1一3所示。 圖1-3計算機系統組成 考點6計算機網絡概述 1計算機網絡的基本概念 計算機網絡是通信技術與計算機技術緊密結合的產物,通過通信線路及通信設備將分布在不同地點的具有獨立功能的多個計算機系統連接起來,并在網絡軟件支持下實現相互的數據通信及資源共享的硬件系統。計算機網絡按規模大小可分為局域網、城域網和廣域網。 2計算機網絡的發展厲史 (l)具有通信功能的單機系統階段。 (2)具有通信功能的多機系統階段。 (3)計算機網絡階段。 3計算機網絡的主要特點 在不同的發展階段,人們對網絡的定義是不同的,這些定義大致可分為3類:廣義的觀點、資源共享的觀點和用戶透明性的觀點。從目前計算機網絡的特點來看,資源共享觀點能比較準確地描述計算機網絡的基本特征。下面簡單介紹一卜資源共享的含義: (1)資源共享。網絡用戶可以通過網絡訪問聯網的遠程計算機資源,也可以調用不同計算機共同完成任務。 (2)獨立的計算機。網絡中的計算機可以聯網工作,也可以脫離網絡獨立工作。 (3)遵循共同的網絡協議。為保證網絡中的計算機能有序地工作,每臺計算機在交換數據的過程中遵守共同的通信規則,一個網絡協議主要由語法、語義與時序組成。 考點7計算機網絡的分類 1分類方法 (1)根據傳輸技術分類:可分為廣播式網絡與點一點式網絡。 (2)根據網絡的覆蓋范圍與規模分類:可分為局域網、城域網及廣域網。 2廣域網 廣域網(Wide Area Network,簡稱WAN)也稱為遠程網,其覆蓋范圍從幾十千米到幾千千米甚至上萬千米,廣域網具有以下特點。 (1)適應大容量與突發性通信要求 (2)適應綜合業務服務要求 (3)開放的設備接口與規范化的協議 (4)完善的通信服務與網絡管理。 隨著通信技術的不斷發展,數據通信的環境也發生了變化,主要表現在以下3個方面。 (1)傳輸介質由原有的電纜逐步走向誤碼率很低且帶寬很寬的光纖 (2)局域網內部的數據傳輸速率已經達到IOMb/s一1 Gb/s,多個局域網之間高速互聯的要求越來越強烈。 (3)用戶設備性能大大提高,可以承擔部分原來由數據通信網承擔的通信處理功能 3局域網 局域網(Local Area Network,簡稱LAN)指網絡服務區域在一個局部的范圍內,可以有一臺或多臺計算及多個工作站通過其進行通信。它有以太網(Ethernet)、令牌總線(Token Bus)和令牌環(Token ring)3種工作原理。 局域網的技術特點主要表現在以下幾個方面。 (1)覆蓋范圍有限,多用于公司、機關、校園等范圍內的計算機終端與信息處理設備之間的聯網需求。 (2)提供高數據傳輸速率、低誤碼率、高質量數據傳輸環境。 (3)易于建立、維護與擴展,一般為一個單位所有。 (4)決定局域網特性的主要技術要素為網絡拓撲、傳輸介質與介質訪問控制方法。 (5)從介質訪問控制方法角度,可分為共享式與交換式局域網。 城域網 城域網(Metropolitan Area Network,簡稱MAN)是介于廣域網與局域網之間的一種高速網絡。早期的城域網主要采用光纖分布式數據接口(Fiber Distributed Data Interface,簡稱FDDI),它主要有以下幾個技術特點。 (1)使用基于IEEE 802.5的單令牌的環網介質訪問控制MAC協議。 (2)使用IEEE 802.2協議,與符合IEEE 802標準的局域網兼容。 (3)數據傳輸速率為100 Mb/s,聯網的節點數`1 000,環路長度為100 km,(4)可以使用雙環結構,具有容錯能力。 (5)可以使用多模或單模光纖。 (6)具有動態分配帶寬的能力,能支持同步和異步數據傳輸。 考點8Internet基礎 Internet的形成與發展 (1)TCP/IP協議與ARPAnet的結合,使ARPAnet成為Internet的主干網。 (2)NSFnet從一開始就使用TCP/IP協議,是第一個使用TCP/IP協議的廣域網。 (3)Internet實現了TCP/IP協議參考模型與協議的結合。TCP/IP協議使網絡不受主機、用戶微型計算機及所使用的操作系統的限制。 Internet的結構與組成 從技術角度上來看,Internet主要是由通信線路、路由器、主機、信息資源幾個主要部分組成的。 (1)通信線路。將Internet中的路由器與路由器、路由器與主機連接起來。 (2)路由器。是Internet中最重要的通信設備之一,它的作用是將Internet中的各個局域網、城域網或廣域網,以及主機互聯起來 (3)主機。是Internet中信息資源與服務的載體。 (4)信息資源是用戶最關心的問題,它會影響到Internet中站點受歡迎的程度。 TCP/IP協議、域名與IP地址 TCP/IP協議是為保證Internet正常工作而要求所有Internet中的主機都必須遵守的通信協議。它具有 以下幾個特點 (1)開放的協議標準,獨立于特定的計算機硬件與操作系統。 (2)獨立于特定的網絡硬件,可以運行在局域網和廣域網,更適用于互聯網中。 (3)標準化的高層協議,可以提供多種可靠的用戶服務。 (4)統一的網絡地址分配方字模,使得整個TCP/IP設備在網中都具有唯一的IP地址。 在TCP/IP參考模型中,應用層包括了所有的高層協議,且一直有新的協議加人。應用層協議主要有下面幾種。 (1)網絡終端協議TELNET,實現網絡互聯中遠程登錄的功能二 (2)文件傳送協議FTP,實現因特網中交互式文件傳送的功能。 (3)域名服務DNS,實現網絡設備名字與IP地址相互映射的網絡服務。 (4)路由信息協議RIP,網絡設備間交換路由信息的協議。 (5)電子郵件協議SMTP,實現網絡中電子郵件的傳送功能。 (6)HTTP協議,用于www.tmdps.cnF 1.第一范式(1NF)及進一步規范化 關系模式需要滿足一定的條件,不同程度的條件稱做不同的范式,最低要求的條件是元組的每個分量必須是不可分的數據項,這叫第一范式,簡稱1NF,是最基本的范式。對于各種范式之間的聯系有5NF C4NF仁BCNFC3NF仁2NFCINF成立。一個低一級范式的關系模式,通過模式分解可以轉換為若干個高一級范式的關系模式的集合,這個過程就叫規范化。2.第二范式(2NF)若R EINF,且每一個非主屬性完全函數依賴于碼,則R∈2NFo 2NF就是不允許關系模式的屬性之間有這樣的函數依賴X-.Y。其中X是碼的真子集,Y是非主屬性,也就是說,不允許有非主屬性對碼的部分函數依賴。3.第三范式(3NF)關系模式R,<U,F>中若不存在這樣的碼X,屬性組Y及非主屬性Z(Z不包含于均使得X→Y,(Y函數依賴于X)Y→Z成立,則稱R<U, F>∈3NF 4.Boyce一Codd范式(BCNF)若關系模式REINF,且對于每個非平凡的函數依賴X-} Y都有X包含碼,則R EBCNF。在函數依賴的范圍內,BCNF達到了最高的規范化程度。 考點35多值依賴和4NF 1.多值依賴 設R(U)是屬性集U上的一個關系模式X、Y,Z是U的子集,并且Z=U一X一Y}關系模式R(U)中多值依賴X→→Y成立,當且僅當對R(U)功的任一關系r,給定的一對(x,z)值有一組Y的值,這組值僅僅決定于x值而與z值無關。4.第四范式(4NF)關系模式R<U,F>司NF,如果對于R的每個非平凡多值依賴X→→Y(Y不包含于X),X都含有碼,則稱R<U,F>∈4NF。 如果一個關系模式是4NF,則必為BCNF。 4.14關系模式的分解 考點36模式分解的等價標準 常用的等價標準要求分解是具有無損連接性的,并且是保持函數依賴的。 考點37關于模式分解的幾個事實 (1)分解具有無損連接性和分解保持函數依賴是兩個互相獨立的標準。(2)若要求分解具有無損連接性,那么模式分解一定可以達到BCNF)。 (3)若要求分解保持函數依賴,刀廠么模式分解可以達到3NF,但不一定能達到BCNF。(4)若要求分解既具有無損連接性,又保持PA數依賴,則模式分解可以達到3NF,但不一定能達到BCNF。 4.15數據庫設計的內容、方法和步驟 考點38關于數據庫設計的概述 數據庫設計是指對于一個給定的應用環境,包括硬件環境、操作系統和數據庫管理系統(DBMS)等軟件環境,如何使用這個環境來表達用戶的要求,構造最優的數據庫模式,建立數據庫及圍繞數據庫展開的應用系統,使之能夠有效地收集、存儲、操作和管理數據,滿足企業組織中各類用戶的應用需求。 數據庫設計方法中比較著名的有新奧爾良(New Orleans)方法。它將數據庫設計過程分為4個階段:需求分析、概念結構設計 一、邏輯結構設計和物理設計。4.16需求分析 考點39需求分析的任務 需求分析的任務是通過詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統(手工系統或計算機系統)的下作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。新系統必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數據庫。需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。需求分析的階段成果是產生系統需求說明書。考點40需求分析的基本步驟 需求分析的步驟有以下幾個方面: (1)需求的收集:數據,發生時間、頻率,發生的規則、約束條件、相關聯系、計劃控制及決策過程。 (2)需求的分析整理二包括數據流程分析、數據分析結果描述、數據分析統計及分析圍繞數據的各種業務處理功能,并以帶說明的系統功能結構圖形式給出。 4.17概念結構設計 考點41概念結構設計的目標和策略 概念結構是對現實世界的一種抽象,即對實際的人、物、事和概念進行人為處理,抽取人們關心的共同特性,忽略非本質的細節,并把這些特性用各種概念精確地加以描述。 設計概念結構通常有4類方法:自頂向下、自底向上、由里向外和混合策略。無論采用哪種設計方法,一般都以E-R模型為工具來描述概念結構。最常用的設計策略是自底向上設計策略。 考點42采用E-R方法的數據概念模型設計 1數據抽象與局部視圖設計 以自底向上設計概念結構的方法為例,它通常分為兩步: (1)根據需求分析的結果(數據流圖、數據字典等)對現實世界的數據進行抽象,設計各個局部視圖即E-R圖。(2)集成局部視圖。 設計E-R圖的步驟如下: (1)選擇局部應用(2)逐一沒計E-R圖二 2視圖的集成 集成局部E-R圖時需要兩步。 (1)合并E-R圖,生成初步E7R圖。 各E-R圖之間的沖突主要有3類:屬性沖突、命名沖突和結構沖突:(2)修改與重構,生成基本E-R圖。 修改、重構初步E-R圖以消除冗余,主要采用分析方法。除分析方法外,還可以用規范化理論來消除冗余。 4.18邏輯結構設計 考點43 E-R模型向關系數據模型的轉換 將E-R圖轉換為關系模型實際上就是要將實體、實體的屬性和實體之間的聯系轉化為關系模式,這種轉換的規則包括以下幾點:(1)一個實體型轉換為一個關系模式。(2)一個m: n聯系轉換為一個關系模式。 (3)一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。(4)一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。 (5)3個或3個以上實體間的一個多元聯系轉換為一個關系模式。 (6)同一實體集的實體間的聯系,即自聯系,也可按上述1: 1,1: n和m: n三種情況分別處理。 (7)具有相同碼的關系模式可以合并。 考點44關系數據庫的邏輯結構設計過程 關系數據庫的邏輯結構設計過程如下: (1)從E-R圖導出初始關系模式。(2)規范化處理。 (3)模式評價。(4)優化模式。(5)形成邏輯結構設計說明書。 4.19物理結構設計 考點45物理設計的內容 (1)存儲記錄的格式設計。對數據項類型特征進行分析,并對存儲記錄進行格式化 決定如何進行數據壓縮或代碼優化。 (2)存儲方法的設計。物理設計中最重要的一個考慮是把存儲記錄在全范圍內進行物理安排,包括順序存放、散列存放和聚列存放。物理設計的結果是物理設計說明書。(3)存取方法設計。存取方法設計為存儲在物理上的數據提供數據訪問的路徑。DBMS產品一般都提供了一些存儲分配參數,供數據人員和DBA對數據庫進行物理優化。 考點46物理設計的評價 數據庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,其結果可以產生多種方案,數據庫設計人員必須對這些方案進行細致的評價,從中選擇一個較優的方案作為數據庫的物理結構。 在數據庫應用系統生存期中,總的開銷包括:規劃開銷、設計開銷、實施和測試開銷、操作開銷、運行維護開銷。評價物理數據庫的方法完全依賴于所選用的DBMS。 4.20實現和維護 考點47數據庫的實現 數據庫實現的主要工作有以下幾個方面:(1)定義數據庫結構。(2)編制與調試應用程序。(3)數據裝載。 (4)數據庫試運行。 考點48其他設計 其他設計工作包括加強數據庫的安全性、完整性控制,以及保證一致性、可恢復性等,總是以犧牲效率為代價的。設計人員的任務就是要在實現代價和盡可能多的功能之間進行合理平衡。其他設計包括數據庫的再組織設計、故障恢復方案設計、安全性考慮和事務控制等。 考點49數據庫的運行和維護 在數據庫運行階段,對數據庫經常性的維護工作主要是由DBA完成的,它包括以下幾個方面: (1)數據庫的轉儲和恢復。 (2)數據庫的安全性、完整性控制。(3)數據庫性能的監督、分析和改進。(4)數據庫的重組織和重構造。 4.21數據庫管理系統概述 考點50 DBMS的系統目標 數據庫管理系統(DBMS)是操作和管理數據庫的軟件系統,它由一組計算機程序構成,管理并控制數據資源的使用。數據庫管理系統是數據庫系統的核心DBMS的目標是用戶界面友好、結構清晰和開放性。 考點51 DBMS的基本功能 DBMS主要是實現對共享數據有效的組織、管理和存取。因此,DBMS具有如下幾個方面的基本功能。 (1)數據庫定義功能。(2)數據存取功能。 (3)數據組織、存儲和管理。(4)數據庫運行管理。(5)數據庫的建立和維護。 (6)通信功能和數據轉換功能等。 考點52 DBMS程序模塊的組成 大致來說,DBMS的程序模塊可按功能劃分為以下5個模塊:(1)數據定義方面的程序模塊。(2)數據操縱方面的程序模塊 (3)數據庫運行管理方面的程序模塊 (4)數據庫組織、存儲和管理方面的程序模塊。(5)數據庫建立、維護和其他方面的程序模塊。 考點53 DBMS的層次結構 可以將DBMS劃分成若干層次,這樣可以幫助我們更清晰地認識DBMS,更重要的是有助于DBMS的設計和維護。 (1)最上層是應用層位于DBMS核心之外。 (2)第二層是語言翻譯處理層它處理的對象是數據庫語言}A SQL,(3)第三層是數據存取層:該層處理的對象是單個元組。 (4)第四層是數據存儲層。該層處理的對象是數據頁和系統緩沖區。(5)操作系統是DBMS的基礎。它處理的對象是數據文件的物理塊。4.22新的應用需求對DBMS的挑戰 考點54新的應用需求對DBMS的挑戰 由于現在以關系型數據庫管理系統(RDBMS)為主流。這些新應用需求要求數據庫管理系統應該具有支持分布式操作、聯機事務處理能力、決策支持能力、支持多媒體、大容量、復雜數據應用、兼容性和集成能力、異種數據庫之間的互訪能力、系統可靠性、安全性、大型系統等方面的管理能力。 在我國,當前流行的數據庫管理系統絕大多數是關系型數據庫管理系統,一般可分為如下3類: (1)以PC機、微型機系統為運行環境的數據庫管理系統。(2)以Oracle為代表的數據庫管理系統,這類系統還有IBM DB2,Sybase等,也被稱為主流數據庫管理系統。 (3)以Microsoft SQI.Server為代表的介于以上兩類之間的數據庫管理系統。 4.23 Oracle數據庫系統 考點55Oracle數據庫系統簡介 Oracle關系型數據庫管理系統是美國Oracle公司的優秀軟件產品,它采用SQL語言作為數據庫語言。該公司于1979年推出了世界上第一個商業化的關系型數據庫系統。Oracle數據庫的特點包括兼容性、可移植性、可連接性及高的生產率。 考點56 Oracle的主要產品及其功能 1Oracle數據庫服務霖功能及其特色 Oracle數據庫服務器包括標準服務器和許多可選的服務器選件,選件用于擴展標準服務器的功能,以適應特殊的應用需求。 (1)標準服務器主要具有下列特色:多進程多線索的體系結構、高性能核心技術、高可用性和SQL的實現。 (2)并行服務器選件(paralle server option)和并行查詢選件(paralle query option)。 1.請寫出SQL Server 2000中的六種約束。 主鍵約束,唯一鍵約束,檢查約束,默認值約束,外鍵約束,級聯參照完整性約束 2.在關系模型中,有哪三類完整性約束? 實體完整性:體現在實體的唯一性上,在一個關系R中,設屬性A是它的主 關鍵字的組成部分,則屬性A不能取空值; 參照完整性:本關系的某一個非主屬性值,必須等于另一個關系的關鍵 字的值; 用戶定義的完整性:針對某一具體數據庫的約束條件,由應用環境決定,它反映某一具體應用所涉及的數據必須滿足的語義要求。 3.數據模型由哪三部分組成? 數據結構,數據操作,完整性約束 1.創建一個名為“產品”的數據庫,其包含一個主文件和一個事務日志文件。主文件的邏輯名為“產品銷售_data”,物理文件名為“C:產品銷售_data.mdf”,初始容量為10MB,最大容量是20MB,每次的增量是10%。事務日志文件的邏輯名為“產品銷售_log”,物理文件名為“C:產品銷售_log.ldf”,初始容量是2MB,最大容量不受限制,每次的增量是2MB。 CREATE DATABASE產品 ON PRIMARY (NAME=產品銷售_data,FILENAME='C:產品銷售_data.mdf',SIZE=10MB,MAXSIZE=20MB,FILEGROWTH=10%) LOG ON (NAME=產品銷售_log,FILENAME='C: 產品銷售_log.ldf',SIZE=2MB,MAXSIZE=UNLIMITED,FILEGROWTH=2MB) 2、打開“產品”的數據庫。 USE產品 3、將“產品”的數據庫改名為“產品銷售”的數據庫 EXEC sp_renamedb產品, 產品銷售 4、刪除“產品銷售”的數據庫 DROP DATABASE產品銷售5、2)、產品編號、銷售商編號都是外鍵,其中產品編號參照表“產品信息”的產品編號屬性,銷售商編號參照表“銷售商信息”的銷售商編號屬性。 CREATE TABLE 銷售 (產品編號 CHAR(6)references 產品信息(產品編號),銷售商編號 CHAR(6)references銷售商信息(銷售商編號),銷售時間DatetimeNOT NULL,數量Int NOT NULL,PRIMARY KEY(產品編號,銷售商編號) 6、已知有學生信息表:STUDENT;課程表:COURSE;成績表:SC 1)、向SC表中添加一條記錄(’ 9309119’,‘EE-201’,90.5); INSERTSC VALUES('9309119','EE-201',90.5) 2)、刪除SC表中學號為9309120的記錄; DELETE SC WHERE SNO='9309120' 3)、把所有課程的學分都改為4分; UPDATE COURSE SET CREDIT = 44)、把學號為9104421的學生的身高改為1.83; UPDATE STUDENT SET high=1.8 3WHERE SNO='9104421' 5)、查詢COURSE表中每門課程的課程名稱、學分; SELECTcname,creditFROMCOURSE ORDER BYCREDITDESC 6)、查詢所有男同學的學號和姓名; SELECT sno,sname FROM student WHERE sex='男' 7)、查詢成績在90分以上的學生的學號、課程號、成績。 SELECT sno,cno,grade FROM sc WHERE grade>90 8)、查詢至少有一門課的成績在80分以上的男同學的學號; SELECT sno FROM student A WHERE exists(SELECT * FROM scB WHERE A.sno=B.sno AND grade>80) 9)、求各門課程的最高分、最低分、平均分; SELECT sno,max(grade),min(grade), avg(grade) FROM sc GROUP BY sno 10)、查詢歐陽美齡選修的課程名稱和成績,結果按成績降序排列; SELECTcname,grade FROM student A,course B,sc C WHERE sname='歐陽美齡' AND A.sno=C.sno AND B.cno=C.cno 11)、查詢身高大于李惟德身高的學生的姓名。 SELECTsname FROM student WHEREhigh>(SELECT high FROM student WHERE sname='李惟德' 12)、求選修了全部課程的學生學號、姓名 SELECT sno FROM student WHERE(select distinct cno FROM sc B WHERE A.sno=B.sno) =(SELECT COUNT(*)FROMcourse) 1.實體間的聯系可分為三類1:1(或一對一),1:N(或一對多),M:N(或多對多) 2.E-R模型的組成要素包括: 實體,屬性,聯系。 3.唯一標識實體的屬性或屬性組稱為: 主鍵 4.關系模型要求關系必須規范化也就是要求關系必須滿足一定的條件,這些規范條件中最基本的一條就是,關系的每一個分量必須是: 不可再分的數據項。 5.四種專門的關系操作是:選擇、投影、連接、除。 《國防動員基本理論》復習題 一、填空 1、戰略學說包括________和__________。 2、綜合國力是指一個國家所擁有的_______、________、_________、________、_________等各個方面的總體力量。 3、國防動員的主要對象是_________、__________、_______________。 4、國防動員的功能主要有_______________、________________、__________________、_______________、______________________。 5、構成國家的四基本要素是_________、___________、_________________和___________。 6、復員是利用國家建立的動員系,包括__________、_______、________、________、_________以及__________。 7、國防動的主要類型是___________和__________,__________和_________,__________和________。 8、武裝力動員的對象是_________、_______________、______________。 9、國防動動員的特點是:規模小、__________和__________。 10、國防動員作為一個完整的過程分為___________、_____________和_____________三個階段。 二、不定向選擇題: 1、國防動員的主體是()。 A、軍隊B、人民群眾C、國家D、后備力量 2、國防動員主要用于() A、用于戰爭B、用于威脅C用于政治斗爭D、用于國家建設 3、國防動員的威懾功能是要體現在()。A、實力B、決心C、認知D、國家 4、國防動員是以國家為明角主體的()戰爭動員。A、自衛型B、自主型C、積極防御型D、進攻型 5、國防動的積蓄功能,即積蓄()的作用。 A、軍事力量B、綜合實力C、戰爭潛力D后備力量 6、國防動員的連結功能主要表現在連結()。 A、平時與戰時B、人民與群眾C、軍隊和地方D國防建設與經濟建設 7、國防動實施的基本要求是()。 A、集中統一B、快速高效C、靈活應變D、安全可靠 8、武裝力量的復員的主要內容是()。 A、收縮編制B、減少兵員C、處理武器裝備D、處理軍用物資 9、國防動員實施的基本程序是()。 A、動員決策B、發布動員令C、加強動員機構D、修訂動員計劃E、組織調動國防資源F、統一行動動員J、檢查與評估 10、歷史上首次進行總員的國家是()。 A、美國B、英國C、法國D、奧胸帝國 三、名詞解釋 1、國家 2、綜合國力 3、戰爭動員 4、政治精神 5、總體戰 6、非戰爭動員 7、復員 8、平戰結合9、目標 10、計劃 11、戰爭潛力 13戰戰爭實力 14、政治精神 四、問答題 1、國防動員的核心內容是什么?組成戰爭力量的因素有那些? 2、國防動員對國家而言,有何種意義? 3、德國的軍事家魯登道夫·埃里希提出的“總體戰”理論,理論中他提出了哪些主張?他與我們通常題的人民戰爭 4、國防動員計劃主要有那些計劃組成,其主要內容包括那些? 5、應急動員與持續動員有什么關聯?又有什么區別? 6、國防動員領域設及那幾個方面? 7、戰爭潛力有那些要素? 8、開展國防動員以什么為依據? 9、國防動的目的是什么? 五、論述題 1、以信息化為核心的高技術局部戰爭,經濟動員在其中的地位和作用如何? 2、請你談談戰后復員的意義? 3、基層武裝部做好國防動員工作,以什么作保障?他的意義何在?第二篇:數據庫復習總結
第三篇:數據庫復習總結
第四篇:數據庫原理復習
第五篇:國防動員基本理論復習題目