互聯網數據庫自考復習資料_第1頁
互聯網數據庫自考復習資料_第2頁
互聯網數據庫自考復習資料_第3頁
互聯網數據庫自考復習資料_第4頁
互聯網數據庫自考復習資料_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選文檔5. 數據庫管理階段:(1)數據結構化。(2)數據共享性高、冗余度小、易擴充。(3)數據獨立性高。(4)統(tǒng)一的數據管理和控制:數據的安全性保護、數據的完整性控制、數據庫恢復和并發(fā)控制。(5)數據的最小存取單位是數據項。1. 人工管理階段數據管理的特點:(1) 數據不保存在機器中(2) 無專用的軟件對數據進行管理(3) 只有程序的概念,沒有文件的概念(4) 數據面向程序2. 文件系統(tǒng)階段數據管理的特點:(1) 數據可長期保存在外存的磁盤上(2) 數據的邏輯結構和物理結構有了區(qū)別(3) 文件組織已呈多樣化。有索引、鏈接和散列文件(4) 數據不再屬于某個特定的程序,可重復使用。3. 文件系統(tǒng)

2、顯露出三個缺陷:(1) 數據冗余性(2) 數據不一致性(3) 數據聯系弱4. 數據庫階段的管理方式具有以下特點:(1) 采用復雜的數據模型表示數據結構(2) 有較高的數據獨立性(3) 數據庫系統(tǒng)為用戶提供方便的用戶接口(4) 系統(tǒng)提供四方面的數據控制功能(5) 對數據的操作既可以以記錄為單位,又可以以數據項為單位5. 數據描述三個領域之間的關系:從事物的特性到計算機中的數據表示,經歷了三個領域:現實世界、信息世界、機器世界。(1) 現實世界:存在于人們頭腦之外的客觀世界,稱為現實世界。(2) 信息世界:是現實世界在人們頭腦中的反映。(3) 機器世界:信息世界的信息在機器世界中以數據形式存儲。信

3、息世界中數據描述的術語有:實體、實體集、屬性、實體標識符機器世界中數據描述的術語有:字段、記錄、文件、關鍵碼它們的對應關系是:在數據庫中每個概念都有類型和值之區(qū)分,類型是概念的內涵,值是概念的外延6. 數數據描述的兩種形式:數據描述有物理描述和邏輯描述兩種形式。物理數據描述指數據在存儲設備上的存儲方式,物理數據是實際存放在存儲設備上的數據。邏輯數據描述指程序員或用戶用以操作的數據形式,是抽象的概念化數據。數據管理軟件的功能之一,就是要把邏輯數據轉換成物理數據,以及把物理數據轉換成邏輯數據。8. 數據模型的種類:目前廣泛使用的數據模型可分為兩種類型:概念數據模型、結構數據模型概念數據模型:是獨立

4、于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織所關心的信息結構;它是現實世界的第一層抽象,是用戶和數據庫設計人員之間進行交流的工具;這一類中著名的模型是“實體聯系模型”,簡稱“ER”模型。結構數據模型:是直接面向數據庫的邏輯結構;它是現實世界的第二層抽象,涉及到計算機系統(tǒng)和數據庫管理系統(tǒng); 這一類中的例子有層次、網狀、關系、面向對象等模型。數據模型數據模型是現實世界數據特征的抽象。是數據庫系統(tǒng)的核心和基礎。 數據模型應滿足三方面要求:一是能比較真實地模擬現實世界;二是容易為人所理解;三是便于在計算機上實現。根據模型應用目的分為:概念模型,也稱信息模型,它是按用戶的觀

5、點對數據和信息建模。數據模型,主要包括層次模型、網狀模型、 關系模型和面向對象數據模型,它是按計算機系統(tǒng)的觀點對數據建模。數據模型三個要素: 數據結構 描述系統(tǒng)的靜態(tài)特性數據操作 描述系統(tǒng)的動態(tài)特性數據的約束條件 是一組完整性規(guī)則的集合數據模型: 層次模型、網狀模型、關系模型和面向對象數據模型。其中層次模型和網狀模型統(tǒng)稱為非關系模型。層次模型:用樹型結構表示實體間聯系的數據模型層次模型有以下兩個限制:只有一個結點沒有雙親結點,稱之為根結點;根以外的其他結點有且只有一個雙親結點。層次數據模型可以直接表示一對多(包括一對一)的聯系;層次模型表示多對多聯系,必須首先將其分解成一對多聯系。分解方法有兩

6、種:冗余結點法和虛擬結點法。網狀模型:用有向圖結構表示實體類型及實體間聯系的數據模型。(1)允許一個以上的結點無雙親;(2)一個結點可以有多于一個的雙親。關系模型:是由若干個關系模式組成的集合,其主要特征是用二維表格結構表達實體集,用外鍵表示實體間聯系。關系模型要求關系必須是規(guī)范化的,即要求關系模式必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基本的一條就是,關系的每一個分量必須是一個不可分的數據項,也就是說,不允許表中還有表。概念模型數據描述的三個領域:現實世界、信息世界和機器世界數據描述的兩種形式:物理描述和邏輯描述。前者是指數據在存儲設備上的存取方式,后者是指程序員或用戶以用以操作的數據形式。

7、兩個實體型之間的聯系可以分為三類:一對一聯系(11);一對多聯系(1n);多對多聯系(mn)E-R圖提供了表示實體型、屬性和聯系的方法。實體-聯系方法(E-R方法)是抽象和描述現實世界的有力工具。 實體型:用矩形表示,矩形框內寫明實體名。 屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。 聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別志有關實體連接起來,同時在無向邊旁標上聯系的類型(11,1n或m n)。9. 結構數據模型的三個組成部分:數據結構、數據操作、數據完整性約束是結構數據模型的三個組成部分。數據結構:是指對實體類型和實體間聯系的表達和實現數據操作:是指對數據庫的檢索和更

8、新(插、刪、改)兩類操作的實現數據完整性約束:給出數據及其聯系應具有的制約和依賴規(guī)則。10. 層次模型的特點:用樹型結構表示實體類型及實體間聯系的數據模型稱為層次模型。層次模型的特點是:記錄之間的聯系通過指針實現,查詢效率較高。缺點是:(1)只能表示1:N聯系(2)由于樹型結構層次順序的嚴格復雜,引起數據的查詢和更新操作也很復雜,因此編寫應用程序也很復雜。11. 網狀模型的特點:用有向圖結構表示實體類型及實體間聯系的數據模型稱為網狀模型。 網狀模型的特點是:記錄之間聯系通過指針實現,M:N聯系也容易實現,查詢效率較高。 缺點是:編寫應用程序比較復雜,程序員必須熟悉數據庫的邏輯結構。12. 關系

9、模型的特點:關系模型的主要特征是用二維表格結構表達實體集,用外鍵表示實體間聯系。特點是:關系模型與層次、網狀的最大差別是用關鍵碼而不是用指針導航數據,表格簡單,用戶易懂,編程時不涉及存儲結構、訪問技術等細節(jié)。13. 數據庫體系結構中的三級結構、兩級映象:數據庫的體系結構分為三級:內部級、概念級、外部級。外部級:最接近用戶,是單個用戶所能看到的數據特性。單個用戶使用的數據視圖的描述稱為“外模式”。概念級:涉及到所有用戶的數據定義,是全局的數據視圖。全局數據視圖的描述稱為“概念模式”。內部級:最接于物理存儲設備,涉及到實際數據存儲的結構。物理存儲數據視圖的描述稱為“內模式”。為實現這三個抽象級別的

10、聯系和轉換,DBMS在級級結構之間提供兩個層次的映象:外模式/模式映象,模式/內模式映象。兩級映象: 外模式/模式映象 一般在外模式中描述。 模式/內模式映象 一般在內模式中描述。 兩層映象保證了數據庫系統(tǒng)中的數據能夠具有較高的邏輯獨立性和物理獨立性。14. 二級數據獨立性:數據獨立性是指:應用程序和數據之間相互獨立,不受影響。分為物理獨立性和邏輯獨立性。(1) 物理數據獨立性:如果數據庫的內模式要進行修改,即數據庫的存儲設備和存儲方法有所變化,那么模式/內模式映象也要進行相應的修改,使概念模式盡可能保持不變。也就是對內模式的修改盡量不影響概念模式。(2) 邏輯數據獨立性:如果數據庫的概念模式

11、要進行修改,如增加記錄類型或增加數據項,那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是概念模式的修改盡量不影響外模式和應用程序。15. DBMS的主要功能:(1) 數據庫的定義功能:DBMS提供數據定義語言(DDL)定義數據庫的三級結構及其相互之間的映象、完整性、安全控制等約束。(2) 數據庫的操縱功能:DBMS提供數據操縱語言(DML)實現對數據庫中數據的操作。(3) 數據庫的保護功能:DBMS對數據庫的保護主要通過數據庫的恢復、數據庫的并發(fā)控制、數據庫的完整性控制、數據庫的安全性控制等四個方面實現。(4) 數據庫的存儲管理:DBMS的存儲管理子系統(tǒng)提供了數據庫中數據

12、和應用程序的一個界面,其職責是把各種DML語句轉換成低層的文件系統(tǒng)命令,起到數據的存儲、檢索和更新的作用。(5) 數據庫的維護功能:DBMS中實現功能的實用程序主要有數據裝載程序、備份程序、文件重組織程序、性能監(jiān)控程序。(6) 數據字典(DD):數據庫系統(tǒng)中存放三級結構定義的數據庫稱為數據字典,對數據庫的操作都要通過訪問DD才能實現。16. DBMS的組成:DBMS是由兩大部分組成:查詢處理器和存儲管理器。(1) 查詢處理器有四個主要成分:DDL編譯器、DML編譯器、嵌入型DML的預編譯器、查詢運行核心程序。(2) 存儲管理器有四個主要成分:授權和完整性管理器、事務管理器、文件管理器、緩沖區(qū)管

13、理器。17. DBS的組成: DBS:數據庫系統(tǒng)(Database System),DBS是實現有組織地、動態(tài)地存儲大量關聯數據,方便多用戶訪問的計算機軟件、硬件和數據資源組成的系統(tǒng),即采用了數據庫技術的計算機系統(tǒng)。DBS是一個實際可運行的,按照數據庫方法存儲、維護和向應用系統(tǒng)提供數據支持的系統(tǒng),它是數據庫、硬件、軟件、數據庫管理員(DBA)的集合體。(1) 數據庫(DB):是與一個特定組織各項應用有關的全部數據的集合,由應用數據的集合(物理數據庫)、關于各級數據結構的描述(描述數據庫)兩部分組成。(2) 硬件:包括中央處理機、內存、輸入輸出設備、數據通道等硬件設備。(3) 軟件:包括DBMS

14、、OS、各種宿主語言和應用開發(fā)支持軟件等程序。(4) DBA:DBA是控制數據整體結構的人,負責DBS的正常運行。18. DBS的全局結構:(1) 數據庫用戶??煞譃樗念悾篋BA、專業(yè)用戶、應用程序員、終端用戶(2) DBMS的查詢處理器。包括四部分:DML編譯器、嵌入型DML的預編譯器、DLL編譯器、查詢運行核心程序。(3) DBMS的存儲管理器。包括四部分:授權和完整性管理器、事務管理器、文件管理器、緩沖區(qū)管理器。(4) 磁盤存儲器中的數據結構。包括四種形式:數據文件、數據字典、索引文件、統(tǒng)計數據組織。DBMS:數據庫管理系統(tǒng)(Database Management System),DBM

15、S是位于用戶與操作系統(tǒng)之間的一層數據管理軟件,為用戶或應用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數據控制。DBMS總是基于某種數據模型,可以分為層次型、網狀型、關系型、面向對象型DBMS。數據庫技術:是一門研究數據庫結構、存儲、管理和使用的軟件學科。第一代數據庫系統(tǒng),即層次數據庫系統(tǒng)和網狀數據庫系統(tǒng)第二代數據庫系統(tǒng),即關系數據庫系統(tǒng)第三代數據庫系統(tǒng),即面向對象數據庫系統(tǒng) 數據庫學科的研究范圍:數據庫管理系統(tǒng)軟件的研制; 數據庫設計; 數據庫理論數據系統(tǒng)的三級模式結構:外模式(物理模式)、模式(邏輯模式)和內模式數據庫管理系統(tǒng)的功能: 數據定義數據操縱數據庫運行管理數據組織、存

16、儲和管理數據庫的建立和維護數據通信接口數據庫管理系統(tǒng)組成:數據定義語言及其翻譯處理程序 數據操縱語言及其編譯(或解釋)程序數據庫運行控制程序實用程序一個設計優(yōu)良的DBMS友好的用戶界面比較完備的功能較高的運行效率清晰的系統(tǒng)結構和開放性第二章關系數據庫系統(tǒng)與非關系數據庫系統(tǒng)的區(qū)別是,關系系統(tǒng)只有"表"這一種數據結構;而非關系數據庫系統(tǒng)還有其他數據結構,對這些數據結構有其他的操作。關系模型的組成:關系數據結構、關系操作集合、關系完整性約束關系數據語言關系代數語言 例如ISBL元組關系演算語言 例如ALPHA,QUEL 關系演算語言域關系演算語言 例如QBE具有關系代數和關系演算

17、雙重特點的語言 例如SQL關系的三類完整性約束:實體完整性、參照完整性和用戶定義的完整性實體完整性規(guī)則:要求關系中組成主鍵的屬性上不能有空值。 參照完整性規(guī)則:要求不引用不存在的實體。 用戶定義完整性規(guī)則:由具體應用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機制。 關系數據語言的共同特點是:語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。基本關系具有以下六條性質:列是同質的(Homogeneous),即每一列中的分量同一類型的數據,來自同一個域。不同的列可出自同一個域,稱其中的每列為一個屬性,不同的屬性要給予不同的屬性名。列的順序無所謂,即列的次序可以任意交換。

18、任意兩個元組不能完全相同。行的順序無所謂,即行的次序可以任意交換。分量必須取原子值,即每一個分量都必須是不可分的數據項。 關系模型要求關系必須是規(guī)范化的,即要求關系模式必須滿足一定的規(guī)范條件。這些規(guī)范條件中最基本的一條就是,關系的每一個分量必須是一個不可分的數據項。 關系是關系模式在某一個時刻的狀態(tài)或內容。關系模式是靜態(tài)的,穩(wěn)定的,而關系是動態(tài)的、隨時間不斷變化的,因為關系操作在不斷地更新著數據庫中的數據。但在實際當中,人們常常把關系模式和關系都稱為關系。實體完整性規(guī)則說明如下:(1)實體完整性規(guī)則是針對基本關系而言的。一個基本表通常對應現實世界的一個實體集。例如學生關系對應于學生的集合。(2

19、)現實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。(3)相應地,關系模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。所謂空值就是"不知道"或"無意義"的值。關系可以有三種類型:基本關系(通常又稱為基本表或基表)、查詢表和視圖表元組變量主要有兩方面的用途:簡化關系名。操作條件中使用量詞時必須用元組變量。第三章SQL語言集數據查詢、數據操縱、數據定義和數據控制功能于一體。特點包括:綜合統(tǒng)一、高度非過程化、面向集合的操作方式、以同一種語法結構提供兩種使用方式、語言簡潔,易學易用。定義和合理地使用視圖能帶來的好處為:、視圖能夠簡化用戶的操

20、作 、視圖使用戶能以多種角度看待同一數據 、視圖對重構數據庫提供了一定程度的邏輯獨立性、視圖能夠對機密數據提供安全保護視圖更新操作規(guī)則的限制: 如果視圖是從多個基本表使用聯接操作導出的,則不允許更新。 如果導出的視圖使用了分組和聚合操作,也不允許更新。 如果視圖是從單個基本表使用選擇和投影操作導出的,并且包括了基本表的主鍵或某個候選鍵,則可以執(zhí)行操作。SQL中數據控制功能包括事務管理功能和數據保護功能,即數據庫的恢復、并發(fā)控制;數據庫的安全性和完整性。第四章數據依賴是通過一個關系中屬性間值的相等與否體現出來的數據間的相互關系,是現實世界屬性間相互聯系的抽象,是數據內在的性質,是語義的體現?,F在

21、人們已經提出了許多種類型的數據依賴,其中最重要的是函數依賴和多值依賴。關系模式規(guī)范化時一般應遵循以下原則:(1)關系模式進行無損連接分解。(2)合理選擇規(guī)范化程度。(3)正確性與可實現性原則。關系模式規(guī)范化的基本步驟如圖所示。對1NF關系進行投影,消除原關系中非主屬性對碼的函數依賴,將1NF關系轉換為若干個2NF關系。 對2NF關系進行投影,消除原關系中非主屬性對碼的傳遞函數依賴,從而產生一組3NF關系。對3NF關系進行投影,消除原關系中主屬性對碼的部分函數依賴和傳遞函數依賴(也就是說,使決定屬性都成為投影的候選碼),得到一組BCNF關系。消除決定屬性集非碼的非平凡函數依賴 1NF消除非主屬性

22、對碼的部分函數依賴 2NF消除非主屬性對碼的傳遞函數依賴 3NF消除主屬性對碼的部分和傳遞函數依賴 BCNF消除非平凡且非函數依賴的多值依賴 4NF消除不是由候選碼所蘊含的連接依賴 5NF以上三步也可以合并為一步:對原關系進行投影,消除決定屬性不是候選碼的任何函數依賴。 對BCNF關系進行投影,消除原關系中非平凡且非函數依賴的多值依賴,從而產生一組4NF關系。對4NF關系進行投影,消除原關系中不是由候選碼所蘊含的連接依賴,即可得到一組5NF關系。 5NF是最終范式。1NF/2NF/3NF存在的問題: 插入異常 刪除異常 數據冗余度大 修改復雜BCNF問題:數據冗余度大 增加操作復雜 刪除操作復

23、雜 修改操作復雜 關系模式分解的三個定義(判斷對關系模式的一個分解是否與原關系模式等價可以有三種不同的標準): (1)分解具有"無損連接性"。(2)分解要"保持函數依賴"。(3)分解既要"保持函數依賴",又要具有"無損連接性"。規(guī)范化理論提供了一套完整的模式分解算法,按照這套算法可以做到:若要求分解具有無損連接性,那么模式分解一定能夠達到4NF。若要求分解保持函數依賴,那么模式分解一定能夠達到3NF,但不一定能夠達到BCNF。若要求分解既具有無損連接性,又保持函數依賴,則模式分解一定能夠達到3NF,但不一定能夠達到

24、BCNFBCNF的關系模式都具有如下3個性質: 所有非主屬性都完全函數依賴于每個候選碼。所有主屬性都完全函數依賴于每個不包含它的候選碼。沒有任何屬性完全函數依賴于非碼的任何一組屬性。第五章數據庫的被破壞主要有以下幾個方面:(1)系統(tǒng)的軟、硬件故障,造成數據被破壞。(2)數據庫的并發(fā)操作引起數據的不一致性。(3)自然的 或人為的破壞。(4)對數據庫數據的更新操作有誤。針對上述問題,數據庫管理系統(tǒng)提供相應的功能:(1)數據庫恢復:在系統(tǒng)失效后的數據庫恢復,配合定時備份數據庫,使數據庫不丟失數據。 (2)并發(fā)控制:保證多用戶能共享數據庫,并維護數據的一致性。(3)安全性保護:防止對 數據庫的非法使用

25、,以避免數據的泄露、纂改或破壞。(4)完整性保護:保證數據的正確性和一致性。數據庫安全控制的一般方法: 用戶標識和鑒定;存取控制;定義視圖;審計;數據加密。數據庫的安全性主要是:指保護數據庫,防止由于非法使用數據庫造成數據泄露、更改或破壞。數據庫的完整性:指數據的正確性和相容性。數據庫中數據發(fā)生錯誤,往往是由非法更新引起的.數據庫的完整性:數據的正確性、一致性和相容性。數據的完整性與安全性是數據庫保護的兩個不同的方面。安全性是防止用戶非法使用數據庫。完整性則是防止合法用戶使用數據庫時向數據庫中加入不合語義的數據。事務的概念:事務是一個操作序列。這些操作要么什么都做,要么都不做,是一個不可分割的

26、工作單位。事務以BEGINTRANSACTION語 句開始,以COMMIT(提交)語句或ROLLBACK(回退或撤消)語句結束。事務的性質:原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持久性(durability)。稱為事務的ACID性質。并發(fā)控制的主要技術是采用封鎖機制。封鎖就是事務T可以向系統(tǒng)發(fā)出請求,對某個數據對象(最常用的是記錄)加鎖。于是事務T對這個數據對象就有一定的控制。并發(fā)控制帶來哪三類問題:1)丟失更新的問題2)不一致分析問題3)"臟數據"的讀出。(在數據庫技術中,未提交的隨后又被撤消的數據為"臟

27、數據"。)基本的封鎖類型有兩種:排它鎖(X鎖)和共享鎖(S鎖)。 和操作系統(tǒng)一樣,封鎖的方法可能引起活鎖和死鎖?;铈i:是指某個事務永遠處于等待狀態(tài),得不到執(zhí)行的現象。避免活鎖的方法是采用"先來先服務"策略。死鎖:有兩個或以上的事務處于等待狀態(tài),每個事務都在等待另一個事務解除封鎖,它才能繼續(xù)執(zhí)行下去,結果任何一個事務都無法執(zhí)行,這種現象就是死鎖。解除死鎖的方法是由DBMS中的"死鎖測試程序"來檢查,如發(fā)現死鎖則犧牲一個事務,并做回退操作,解除它的所有封鎖。通常用的封鎖(locking)技術有:排它型封鎖(X封鎖)和共享型封鎖(S封鎖)兩種。X封鎖

28、的規(guī)則稱為PX協(xié)議,其內容為:任何企圖更新記錄R的事務必須先執(zhí)行LOCKX(R)操作,以獲得對該記錄進行尋址的能力,并對它取得X封鎖。如果未獲得X封鎖,那么這個事務進入等待狀態(tài),一直到獲準X封鎖,事務繼續(xù)進行。簡記為:先鎖X,再執(zhí)行,取不到,就等待。PXC協(xié)議:它由PX協(xié)議及一條規(guī)則"X封鎖必須保留到事務終點(COMMIT或ROLLBACK)"組成。S封鎖的規(guī)則:稱為PS協(xié)議,其內容為:任何要更新記錄R的事務必須先執(zhí)行LOCKS(R)操作,以獲得對該記錄尋址的能力并對它取得S封鎖。如果未獲準S封鎖,那么這個事務進入等待狀態(tài),一直到獲準S封鎖,事務才繼續(xù)進行下去。當事務獲準對

29、記錄R的要封鎖后,在記錄R修改前必須把S封鎖升級為X封鎖。簡記為:先鎖S,再執(zhí)行,鎖不到,就等待,若要修改則升X。PSC協(xié)議:由PS協(xié)議和"將S封鎖保持到事務終點"組成。數據庫中解決死鎖的常用方法有:、要求每個事務一次就將所有要使用的數據全部加鎖,否則就不能執(zhí)行。、采用按序加鎖法。 、不采 取任何措施來預防死鎖的發(fā)生,而是周期性的檢查系統(tǒng)中是否有死鎖??纱谢恼{度:如果幾個事務并行(交錯)執(zhí)行的結果和按次序串行執(zhí)行的結果相同,則稱該并行執(zhí)行結果是正確的。這樣的調度稱為可串 行化的調度。兩段鎖協(xié)議是指所有事務必須分兩個階段對數據庫項加鎖和解鎖。兩段封鎖法:(1)在對任何數據

30、進行讀寫操作之前,事務首先要獲得對該數據的封鎖;(2)在釋放一個封鎖之后,事務不再獲得任何其他封鎖。兩段鎖協(xié)議規(guī)定所有的事務應遵守下列規(guī)則: 、在對任何數據進行讀、寫操作之前,事務首先要獲得對該數據的封鎖。、在釋放一個封鎖 之后,事務再獲得任何其他封鎖。 所謂“兩段”鎖含義是:事務分為兩個階段。第一階段是獲得封鎖,也稱為擴展階段。在該階段,事務可以申請獲得任何數據項上的任何類型的鎖,但是不能釋放任何鎖。第二階段是釋放封鎖,也稱為收縮階段。在該階段,事務可以釋放任何數據項上的任何類型的鎖,但是不能再申請任何鎖。數據庫系統(tǒng)故障可分為:事務內部的故障、系統(tǒng)故障、介質故障、計算機病毒。故障類型和恢復方

31、法:故障類型恢復方法,事務故障應用程序自動進行恢復,系統(tǒng)故障重新啟動時則恢復子系統(tǒng)將所有非正常終止的事務回 退,恢復到正確狀態(tài)。介質故障通過DBMS把其他務份磁盤或第三級介質中的內容再復制回來恢復的基本原則和實現方法:就是"冗余",即數據的重復存儲。實現方法有:(1)定期對數據庫進行復制或轉儲(dump)。注意幾個概念:靜態(tài)轉儲、動態(tài)轉儲、海量轉儲和增量轉儲。(2)建立"日志"文件。(3)恢復。發(fā)生故障時有兩種處理方法,如數據庫已破壞,則由DBA裝入最近備份的數據庫然后利用"日志文件"執(zhí)行REDO(重做)操作。如數據庫未被損壞,但某些

32、數據不可靠,則系統(tǒng)會自動執(zhí)行UNDO操作恢復數據。轉儲:靜態(tài)轉儲(轉儲期間不允許對數據庫進行任何存取、修改活動) 動態(tài)轉儲(轉儲期間允許對數據進行存取或修改) 海量轉儲(每次轉儲全部數據庫) 增量轉儲(每次只轉儲上次轉儲后更新過的數據)日志文件是用來記錄對數據庫每一次更新活動的文件。在轉儲中必須建立日志文件,后援副本和日志文件綜合起來才能有效地恢復數據庫。利用日志文件恢復事務的過程:從頭掃描日志文件,找出哪些事務在故障發(fā)生時已經結束,哪些事務尚未結束;對尚未結束的事務進行撤銷處理,對已經結束的事務進行重做處理。硬件故障;病毒破壞:當數據庫本身被破壞時,可重裝轉儲數據庫的后備副本,然后運行日志文

33、件,執(zhí)行事務恢復,這樣就可以重建數據庫。發(fā)生事務故障;系統(tǒng)故障:當數據庫本身沒被破壞,但內容已經不可靠時,可利用日志文件恢復事務,從而使數據庫回到某一正確狀態(tài),這時不必重裝后備副本。第六章信息系統(tǒng)是提供信息、輔助人們對環(huán)境進行控制和進行決策的系統(tǒng)。數據庫是信息系統(tǒng)的核心和基礎。數據庫設計內容:結構(數據)設計;行為(處理)設計。數據庫設計分為以下六個階段:需求分析階段、概念結構設計階段、邏輯結構設計階段、數據庫物理設計階段、數據庫實施階段、數據庫運行和維護階段。數據庫的物理設計:數據庫在物理設備上的存儲結構與存取方法稱為數據庫的物理結構,它依賴于給定的計算機系統(tǒng)。為一個給定的邏輯數據模型選取一

34、個最適合應用環(huán)境的物理結構的過程,就是數據庫的物理設計。簡要敘述數據庫設計的幾個階段。按照規(guī)范設計的方法,考慮數據庫及其應用系統(tǒng)開發(fā)全過程,將數據庫設計分為以下六個階段:1)需求分析階段:進行數據庫設計首先必須準確了解與分析用戶需求(包括數據與處理)。需求分析是整個設計過程的基礎,是最困難,最耗費時間的一步。需求分析的結果是否準確地反映用戶的實際要求,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用。2)概念結構設計階段:概念結構設計是整個數據庫設計的關鍵,它通過對用戶需求進行綜合,歸納與抽象,形成一個獨立于具體DBMS的概念模型。3)邏輯結構設計階段:邏輯結構設計是將概念結構轉

35、換為某個DBMS所支持的數據模型,并對其進行優(yōu)化。4)數據庫物理設計階段:數據庫物理設計是為邏輯數據模型選取一個最適合應用環(huán)境的物理結構。5)數據庫實施階段:在數據庫實施階段,設計人員運用DBMS提供的數據語言及其宿主語言,根據邏輯設計和物理設計的結果建立數據庫,編制和調試應用程序,組織數據入庫并進行試運行。6)數據庫運行和維護階段:數據庫應用系統(tǒng)經過試運行后即可投入正式運行。在數據庫系統(tǒng)運行過程中必須不斷對其進行評價,調整與修改。設計一個完整的數據庫應用系統(tǒng)往往是上述六個階段不斷反復的過程。數據庫設計過程中注意的問題:(1)數據庫設計過程中要充分調動用戶的積極性。(2)應用環(huán)境的改變、新技術

36、的出現等都會導致應用需求的變 化,因此在設計數據庫時必須充分考慮到系統(tǒng)的可擴性。(3)在設計數據庫應用的過程中,必須充分考慮到已 有應用,盡量使用戶能夠平穩(wěn)地從舊系統(tǒng)遷移到新系統(tǒng)。調查的重點是"數據"和"處理",通過調查、收集與分析,獲得用戶對數據庫的要求: (1)信息要求。指用戶需要從數據庫中獲得信息的內容與性質。由信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。 (2)處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯機處理。 (3)安全性與完整性要求。數據字典:是系統(tǒng)中各類數據描述的集合,是進行詳細的數據

37、收集和數據分析所獲得的主要成果。數據字典包括:數據項、數據結構、數據流、數據存儲、處理過程。數據項:是數據的最小組成單位,若干個數據項可以組成一個數據結構,數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏 輯內容。在需求分析階段需要注意的是:(1)需求分析階段的一個重要而困難的任務是收集將來應用所涉及的數據,設計人員應充分考慮到可能的擴充和改變,使設計易于更改,系統(tǒng)易于擴充,這是第一點。(2)必須強調用戶的參與,這是數據庫應用系統(tǒng)設計的特點。數據庫應用系統(tǒng)和廣泛的用戶有密切的聯系。因此用戶的參與是數據庫設計不可分割的一部分。在數據分析階段,任何調查研究沒有用戶的積極參加是寸步難行

38、的。設計人員應該和用戶取得共同的語言,幫助不熟悉計算機的用戶建立數據庫環(huán)境下的共同概念,并對設計工作的最后結果承擔共同的責任。簡述需求分析的任務。需求分析的任務是通過詳細調查現實世界要處理的對象,充分了解原系統(tǒng)工作概況明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計數據庫。調查的重點是數據和處理,通過調查,收集與分析獲得用戶對數據庫的如下要求:1)信息要求。指用戶需要從數據庫中獲得信息的內容與性質。由信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。2)處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,

39、處理方式是批處理還是聯機處理。3)完整性與安全性要求。概念結構的主要特點是:(1)能真實、充分地反映現實世界,包括事物和事物之間的聯系,能滿足用戶對數據的處理要求。是對現實世界的一個真實模型。(2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數據庫的設計成功的關鍵。(3)易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充。(4)易于向關系、網狀、層次等各種數據模型轉換。設計概念結構通常有四類方法:自頂向下、自底向上、逐步擴張、混合策略。實際上實體與屬性是相對而言的,實體與屬性之間并沒有形式上可以截然劃分的界限,但可以給出兩條準則:(1)作為"屬性&

40、quot;,不能再具有需要描述的性質。"屬性"必須是不可分的數據項,不能包含其他屬性。(2)"屬性"不能與其他實體具有聯系,即E-R圖中所表示的聯系是實體之間的聯系。凡滿足上述兩條準則的事物,一般均可作為屬性對待。關系數據模型的優(yōu)化通常以規(guī)范化理論為指導,方法如下。、確定數據依賴。、對于各個關系模式之間的數據依賴進行極小化處理,消除冗余的聯系。、按照數據依賴的理論對關系模式逐一進行分析,考查是否存在部分函數依賴、傳遞函數依賴、多值依賴等,確定各關系模式分別屬于第幾范式。、按照需求分析階段得到的各種應用對數據處理的要求,分析對于這樣的應用環(huán)境這些模式是否合

41、適,確定是否要對它們進行合并或分解。數據庫的物理結構依賴于所選用的DBMS,依賴于計算機硬件環(huán)境,設計人員進行設計時主要需要考慮以下幾個方面:確定數據的存儲結構、設計數據的存取路徑、確定數據的存放位置、確定系統(tǒng)配置。數據庫實施主要包括以下工作:、定義數據庫結構、數據裝載、編制與調試應用程序、數據庫試運行數據庫維護工作主要內容:、數據庫的轉儲和恢復、數據庫的安全性、完整性控制、數據庫性能的監(jiān)督、分析和改進、數據庫的重組 織和重構造第七章URL組成:檢索協(xié)議、Internet節(jié)點、為HTTP客戶服務的資源文件名。CGI是外部應用程序(CGI程序)與Web服務器之間的接口標準,是在CGI程序和Web

42、服務器之間傳遞信息的規(guī)程。CGI規(guī)范允許Web服務器執(zhí) 行外部程序,并將它們的輸出發(fā)送給Web瀏覽器。CGI將Web的一組簡單的靜態(tài)超媒體文檔變成一個完整的新的交互式媒體。CGI程序調用方式:通過交互式主頁里的表單欄(FORM)調用CG1程序,用戶在填完一張表單后,按確認按鈕就啟動了CGI程序。通過URL 直接調用CGI程序。CGI的主要優(yōu)點是它的簡單、語言無關性、Web服務器無關性以及它廣泛的可接受性。簡述CGI的特點。CGI的主要優(yōu)點是它的簡單性,語言無關性,Web服務器無關性以及廣泛的可接受性。雖然CGI提供了一種與數據庫連接的簡單方法,但它也存在一些局限性:1)瓶頸問題,客戶機和數據庫

43、服務器之間的通信必須通過Web服務器,當有大量的用戶訪問時,Web服務器會超載。2)缺乏效率和事物支持,CGI應用程序不能由多個客戶機請求共享,降低了性能,增加了等待時間。3)CGI應用程序不持久,服務器必須為每次訪問CGI程序建立新的進程或線程,每次請求時數據庫連接都必須重新打開,開銷很大。4)CGI程序安全性問題。簡述利用CGI訪問數據庫工作流程。1)瀏覽器將URL的第一部分解碼并連接到服務器;2)瀏覽器將URL得其余部分提供給服務器;3)服務器從URL提取路徑和文件名;4)服務器識別出URL指向一個CGI程序,而并非一個靜態(tài)文件;5)服務器準備環(huán)境變量并執(zhí)行這個CGI程序;6)CGI程序

44、執(zhí)行,一般首先讀取環(huán)境變量或STDIN文件,得到參數;7)CGI程序向STDOUT寫MIME及別的http header信息,說明將傳輸給客戶的內容;8)CGI程序向STDOUT發(fā)送其輸出的其余部分,然后終止;9)服務器發(fā)送STDOUT中的數據到瀏覽器,結束CGI程序并斷開與瀏覽器的連接;10)瀏覽器顯示來自服務器的輸出信息。雖然CGI提供了一種與數據庫連接的簡單方法,但它也存在一些局限性。瓶頸問題,客戶機和數據庫服務器之間的通信必須通過Web服務器,當有大量的用戶訪問時,Web服務器會"超載"。缺乏效率和事務支持,CGI應用程序不能由多個客戶機請求共享,降低了性能,增加了

45、等待時間。CGI應用程序不持久,服務器必須為每次訪問CGI程序建立新的進程或線程,每次請求時數據庫連接都必須重新打開,開銷很大。CGI程序安全性問題ASP文件組成部分:(1)文本;(2)HTML標記,可單獨使用或嵌入在各個ASP腳本單元中,以" <和>"為定界符;(3)VBScript(或JScript)語句,可單獨使用或嵌入在各個ASP腳本單元中,以(SCRIPT和/SCRIPT)為定界符,通過對"RUN AT"屬性的設置來決定是否在服務器端運行; (4)ASP腳本命令:可單獨使用或包含在此<html>和/html內,以&quo

46、t;%"和"%"為定界符。API是駐留在Web服務器上的程序代碼,它擴展了服務器的性能,其方式類似于CGI。ActiveX是Microsoft提出的一種標準,AcitveX也是Microsoft一組軟件技術的統(tǒng)稱,包括控件、文檔、腳本三種最常用的技術,以及Micro soft的許多其他技術。Active Server Pages(ASP)是 Microsoft基于服務器的、建立動態(tài)和交互式 Web頁面的技術,它是建立在ISAPI技術基礎上的,并克服了C GI存在的缺點。ADO包括七個對象:三個主對象為連接對象、命令對象、記錄集對象。錯誤對象、字段對象、參數對象、屬

47、性對象第八章JDBC是執(zhí)行SQL語句的Java API。JDBC即“Java Database Connectivity”(Java數據庫連接),它由一組用Java語言編寫的類與接口組成, 已成為一種數據庫連接的標準。JDBC:JDBC是一套API集合,該集合設置了許多允許Java程序連接數據庫的框架。JDBC操作在某些方面看起來和ODBC一樣。區(qū)別是ODBC不能在Java程序中直接實現,原因是ODBC是用C語言寫的。然而JDBC提供了JDBC/ODBC之間的橋梁。JDBC是圍繞著X/Open Call Level Interface(CLI)設計的,一個CLI意味著可直接用SQL查詢數據庫并

48、得到一行結果。JDBC與ODBC以及其他API的區(qū)別: Java不能直接使用ODBC,因為是ODBC使用C語言接口,如果讓Java來調用本機C代碼,將會在安全、屬性、健壯性、應用的可移植性等方面帶來困難。不希望把ODBC API逐字地翻譯成Java API,例如ODBC使用了大量易出錯地指針,而Java取消了這種不安全地指針。ODBC難以學習,它把簡單功能和高級功能混雜在一起,即便是簡單的查詢語句也會帶來復雜的任選項。而JDBC的設計使得簡單的事情用簡單的方法做,僅在必要時才讓用戶使用高級功能。JDBC的Java API提供“純Java”的解決方法。當使用ODBC時,ODBC驅動器管理程序與驅

49、動器必須手動地裝入到每臺客戶機上。而JDBC驅動器全是用Java編寫的,ODBC代碼可在所有Java平臺上自動安裝,并且是可移植的和安全的。JDBC的特點:JDBC是低級的API,是高級API的基礎。JDBC是一種低級的接口,它直接調用SQL命令,但又可以作為構造高級接口和工具的 基礎。在執(zhí)行時,高級API將首先被翻譯成如JDBC這樣的低級接口。簡述JDBC提供的連接數據庫的幾種方法。1)與數據源直接通信:使用JDBC和數據庫已制定的協(xié)議時,可使用一個驅動程序直接與數據源通信。既可以建立自己的驅動程序,也可找一個公用的。2)通過JDBC驅動程序的通信:可連接到一個高標準的驅動程序上,該驅動程序

50、依次與另一個可與數據源通信的專用驅動程序通信。3)與ODBC數據源通信:一個公開可用的專用驅動程序是JDBC/ODBC橋梁驅動程序,它是Javasoft公司開發(fā)的,允許應用程序與ODBC數據源相連。簡述JDBC的功能和特點。1)JDBC的基本功能包括:a建立與數據庫的連接;b發(fā)送SQL語句;c處理結果。2)JDBC是低級的API,是高級API的基礎:JDBC是一種低級的接口,它直接調用SQL命令,但又可以作為構造高級接口和工具的基礎。在執(zhí)行時,高級API將首先被翻譯成如JDBC這樣的低級接口。3)JDBC與ODBC及其他API的比較:Java不能直接使用ODBC,因為ODBC使用C語言接口,如

51、果讓Java來調用本機C代碼,將會在安全,屬性,健壯性,應用的可移植性等方面帶來困難。不希望把ODBC API逐字翻譯成Java API,例如ODBC使用了大量易于出錯的指針,而Java取消了這種不安全的指針。ODBC難以學習,它把簡單功能和高級功能混雜在一起,即便是簡單的查詢也會帶來復雜的任選項。而JDBC的設計使得簡單的事情用簡單的做法,僅在必要時才讓用戶使用高級功能。JDBC的Java API提供純Java的解決方法,當使用ODBC時,ODBC驅動器管理程序與驅動器必須手工裝入到每臺客戶機上。而JDBC驅動器全是用Java編寫的,JDBC代碼可在所有Java平臺上自動安裝,并且是可移植的

52、和安全的。利用JDBC訪問數據庫的Java應用程序有兩種:一種是本身就有數據訪問功能的Java程序,另一種是使用JDBC做媒介的Java應用程序JDBC API提供的類或接口主要包括: Java.sql.DriverManager 處理驅動程序的裝載和建立新的數據庫連接。 Java.sql.Connection 完成對某一指定數據庫的連接。 Java.sql.Statement 管理在一指定數據庫連接上的SQL語句的執(zhí)行。 Java.sql.ResultSet 從數據庫返回的結果集??蛻舳说腏ava應用程序需要完成的工作有:1)與JDBC服務器建立連接;2) 裝載JDBC/ODBC驅動器;3)

53、與ODBC數據源建立連接;4)發(fā)送SQL 語句;5)得到查詢結果;6)關閉與JDBC服務器的連接。 編寫用JDBC編寫能實現數據庫連接和斷開的程序段:import .URL;import java.sq1.*import .URL;import Java.sq1.*class jdbc_connect public static void main(String argv) if(argv.length=0) System.err.println(“檢查到空的URL!”); System.exit(1);end of iftry Class.forName(“textFileDriver”);

54、Class.forName(“jdbc.odbc.JdbcOdbcDriver”);Class.forName(“imaginary.sq1.iMsq1Driver”);String ur1=argv0;String user,pwd;If(argv.length>1) user=argv1;else user=” If(argv.length>2) pwd=argv2;else pwd=” Connection con=DriverManager.getConnectiion(ur1,user,pwd);Con.close();System.out.println(“連接失敗!”

55、); end of try處理連接異常 catch(Exception e) System.out.println(e.getMessage();e.printStackTrace();end of mainend of class第九章Active Server Pages(簡稱ASP)ASP:是服務器端腳本環(huán)境,內含于S3.0和4.0之中,可以通過結合HTML網頁,ASP指令和ActiveX控件建立動態(tài),交互且高效的Web服務器應用程序,消除了某些創(chuàng)建Web應用程序的不確定性,不必再擔心客戶機一端安裝的瀏覽器類型。簡述ASP的主要特點。1)使用VBScript,JScript等簡單易懂的腳本語言,結合HTML代碼,即可快速的完成網站的應用程序。2)無需編譯,容易編寫,在服務器端直接執(zhí)行。3)使用普通的文本編輯器即可進行編輯設計。4)與瀏覽器無關,用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ASP所設計的網頁內容。5)ASP的源程序不會被傳到客戶瀏覽器,因為可以避免所寫的源程序被他人剽竊,從而提高了程序的安全性。6)可使用服務器端的腳本來產生客戶端的腳本。列出并簡要說明ADO中所有重要的接口。1)連接-連接接口表示正在使用的數據源和ADO接口之間的連接。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論