互聯(lián)網(wǎng)數(shù)據(jù)庫自考復習_第1頁
互聯(lián)網(wǎng)數(shù)據(jù)庫自考復習_第2頁
互聯(lián)網(wǎng)數(shù)據(jù)庫自考復習_第3頁
互聯(lián)網(wǎng)數(shù)據(jù)庫自考復習_第4頁
互聯(lián)網(wǎng)數(shù)據(jù)庫自考復習_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

2、定的程序,可重復使用。11.3.文件系統(tǒng)顯露出三個缺陷:12. (1) 數(shù)據(jù)冗余性( 2) 數(shù)據(jù)不一致性( 3 ) 數(shù)據(jù)聯(lián)系弱13. 4. 數(shù)據(jù)庫階段的管理方式具有以下特點:14. (1) 采用復雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu)( 2 ) 有較高的數(shù)據(jù)獨立性( 3) 數(shù)據(jù)庫系統(tǒng)為用戶提供方便的用戶接口( 4) 系統(tǒng)提供四方面的數(shù)據(jù)控制功能( 5) 對數(shù)據(jù)的操作既可以以記錄為單位,又可以以數(shù)據(jù)項為單位15. 5. 數(shù)據(jù)描述三個領(lǐng)域之間的關(guān)系:16. 從事物的特性到計算機中的數(shù)據(jù)表示,經(jīng)歷了三個領(lǐng)域:現(xiàn)實世界、信息世界、機器世界。17. (1) 現(xiàn)實世界:存在于人們頭腦之外的客觀世界,稱為現(xiàn)實世界。18.

3、 (2) 信息世界:是現(xiàn)實世界在人們頭腦中的反映。19. (3) 機器世界:信息世界的信息在機器世界中以數(shù)據(jù)形式存儲。20. 信息世界中數(shù)據(jù)描述的術(shù)語有:實體、實體集、屬性、實體標識符21. 機器世界中數(shù)據(jù)描述的術(shù)語有:字段、記錄、文件、關(guān)鍵碼22. 它們的對應關(guān)系是:在數(shù)據(jù)庫中每個概念都有類型和值之區(qū)分,類型是概念的內(nèi)涵,值是概念的外延6. 數(shù)數(shù)據(jù)描述的兩種形式:數(shù)據(jù)描述有物理描述和邏輯描述兩種形式。物理數(shù)據(jù)描述指數(shù)據(jù)在存儲設(shè)備上的存儲方式,物理數(shù)據(jù)是實際存放在存儲設(shè)備上的數(shù)據(jù)。邏輯數(shù)據(jù)描述指程序員或用戶用以操作的數(shù)據(jù)形式,是抽象的概念化數(shù)據(jù)。數(shù)據(jù)管理軟件的功能之一,就是要把邏輯數(shù)據(jù)轉(zhuǎn)換成物

4、理數(shù)據(jù),以及把物理數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)。8. 數(shù)據(jù)模型的種類 :目前廣泛使用的數(shù)據(jù)模型可分為兩種類型:概念數(shù)據(jù)模型、結(jié)構(gòu)數(shù)據(jù)模型概念數(shù)據(jù)模型 :是獨立于計算機系統(tǒng)的模型, 完全不涉及信息在系統(tǒng)中的表示, 只是用來描述某個特定組織所關(guān)心的信息結(jié)構(gòu) ;它是現(xiàn)實世界的第一層抽象,是用戶和數(shù)據(jù)庫設(shè)計人員之間進行交流的工具;這一類中著名的模型是“實體聯(lián)系模型”,簡稱“ER ”模型。結(jié)構(gòu)數(shù)據(jù)模型:是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu);它是現(xiàn)實世界的第二層抽象,涉及到計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng);這一類中的例子有層次、網(wǎng)狀、關(guān)系、面向?qū)ο蟮饶P?。?shù)據(jù)模型 數(shù)據(jù)模型 是現(xiàn)實世界數(shù)據(jù)特征的抽象。是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)

5、模型應滿足三方面要求:一是能比較真實地模擬現(xiàn)實世界;二是容易為人所理解;三是便于在計算機上實現(xiàn)。根據(jù)模型應用目的分為:概念模型,也稱信息模型,它是按用戶的觀點對數(shù)據(jù)和信息建模。數(shù)據(jù)包括層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο髷?shù)據(jù)模型,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。數(shù)據(jù)模型三個要素:數(shù)據(jù)結(jié)構(gòu)描述系統(tǒng)的靜態(tài)特性數(shù)據(jù)操作描述系統(tǒng)的動態(tài)特性數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合數(shù)據(jù)模型 :層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο髷?shù)據(jù)模型。其中層次模型和網(wǎng)狀模型統(tǒng)稱為非關(guān)系模型。層次模型 :用樹型結(jié)構(gòu)表示實體間聯(lián)系的數(shù)據(jù)模型層次模型有以下兩個限制:只有一個結(jié)點沒有雙親結(jié)點,稱之為根結(jié)點;根以外的其他結(jié)點有

6、且只有一個雙親結(jié)點。層次數(shù)據(jù)模型可以直接表示一對多(包括一對一)的聯(lián)系;層次模型表示多對多聯(lián)系,必須首先將其分解成一對多聯(lián)系。分解方法有兩種:冗余結(jié)點法和虛擬結(jié)網(wǎng)狀模型 :用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型。(1)允許一個以上的結(jié)點無雙親;( 2)一個結(jié)點可以有多于一個的雙親。關(guān)系模型 :是由若干個關(guān)系模式組成的集合,其主要特征是用二維表格結(jié)構(gòu)表達實體集,用外鍵表示模型,主要點法。實體間聯(lián)系。關(guān)系模型要求關(guān)系必須是規(guī)范化的,即要求關(guān)系模式必須滿足一定的規(guī)范條件,這些規(guī)范條件中最基就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,也就是說,不允許表中還有表。概念模型 數(shù)據(jù)描述的三個領(lǐng)域

7、:現(xiàn)實世界、信息世界和機器世界數(shù)據(jù)描述的兩種形式:物理描述和邏輯描述。前者是指數(shù)據(jù)在存儲設(shè)備上的存取方式,后者是指程序以用以操作的數(shù)據(jù)形式。兩個實體型之間的聯(lián)系可以分為三類:一對一聯(lián)系( 11);一對多聯(lián)系( 1n);多對多聯(lián)系( mn)E-R 圖提供了表示實體型、屬性和聯(lián)系的方法。實體- 聯(lián)系方法( E-R 方法)是抽象和描述現(xiàn)實世界的本的一條員或用戶有力工具。實體型:用矩形表示,矩形框內(nèi)寫明實體名。屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別志有關(guān)實體連接起來,同時在無向邊旁標類型(1 1,1n 或 mn)。上聯(lián)系的9. 結(jié)構(gòu)

8、數(shù)據(jù)模型的三個組成部分:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)完整性約束是結(jié)構(gòu)數(shù)據(jù)模型的三個組成部分。數(shù)據(jù)結(jié)構(gòu):是指對實體類型和實體間聯(lián)系的表達和實現(xiàn)數(shù)據(jù)操作:是指對數(shù)據(jù)庫的檢索和更新(插、刪、改)兩類操作的實現(xiàn)數(shù)據(jù)完整性約束:給出數(shù)據(jù)及其聯(lián)系應具有的制約和依賴規(guī)則。10. 層次模型的特點:用樹型結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為層次模型。層次模型的特點是:記錄之間的聯(lián)系通過指針實現(xiàn),查詢效率較高。缺點是:(1)只能表示 1:N 聯(lián)系( 2 )由于樹型結(jié)構(gòu)層次順序的嚴格復雜,引起數(shù)據(jù)的查詢和更新操作也很復雜,因此編寫應用程序也很復雜。11. 網(wǎng)狀模型的特點: 用有向圖結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)

9、據(jù)模型稱為網(wǎng)狀模型。12.網(wǎng)狀模型的特點是:記錄之間聯(lián)系通過指針實現(xiàn),M:N 聯(lián)系也容易實現(xiàn),查詢效率較高。13.缺點是:編寫應用程序比較復雜,程序員必須熟悉數(shù)據(jù)庫的邏輯結(jié)構(gòu)。14. 12. 關(guān)系模型的特點:15. 關(guān)系模型的主要特征是用二維表格結(jié)構(gòu)表達實體集,用外鍵表示實體間聯(lián)系。16. 特點是:關(guān)系模型與層次、網(wǎng)狀的最大差別是用關(guān)鍵碼而不是用指針導航數(shù)據(jù),表格簡單,用戶易懂,編程時不涉及存儲結(jié)構(gòu)、訪問技術(shù)等細節(jié)。17. 13. 數(shù)據(jù)庫體系結(jié)構(gòu)中的三級結(jié)構(gòu)、兩級映象:18. 數(shù)據(jù)庫的體系結(jié)構(gòu)分為三級:內(nèi)部級、概念級、外部級。19. 外部級:最接近用戶,是單個用戶所能看到的數(shù)據(jù)特性。單個用戶使

10、用的數(shù)據(jù)視圖的描述稱為“外模式”。20. 概念級:涉及到所有用戶的數(shù)據(jù)定義,是全局的數(shù)據(jù)視圖。全局數(shù)據(jù)視圖的描述稱為“概念模式”。21. 內(nèi)部級:最接于物理存儲設(shè)備,涉及到實際數(shù)據(jù)存儲的結(jié)構(gòu)。物理存儲數(shù)據(jù)視圖的描述稱為“內(nèi)模式”。為實現(xiàn)這三個抽象級別的聯(lián)系和轉(zhuǎn)換,DBMS 在級級結(jié)構(gòu)之間提供兩個層次的映象:外模式/模式映象,模式/內(nèi)模式映象。兩級映象:外模式 / 模式映象一般在外模式中描述。模式 / 內(nèi)模式映象一般在內(nèi)模式中描述。兩層映象保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。14.二級數(shù)據(jù)獨立性:數(shù)據(jù)獨立性 是指:應用程序和數(shù)據(jù)之間相互獨立,不受影響。分為物理獨立性和邏

11、輯獨立性。( 1) 物理數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的內(nèi)模式要進行修改,即數(shù)據(jù)庫的存儲設(shè)備和存儲方法有所變化,那么模式/內(nèi)模式映象也要進行相應的修改,使概念模式盡可能保持不變。也就是對內(nèi)模式的修改盡量不影響概念模式。( 2) 邏輯數(shù)據(jù)獨立性:如果數(shù)據(jù)庫的概念模式要進行修改,如增加記錄類型或增加數(shù)據(jù)項,那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是概念模式的修改盡量不影響外模式和應用程序。15. DBMS 的主要功能:( 1) 數(shù)據(jù)庫的定義功能 :DBMS 提供數(shù)據(jù)定義語言( DDL )定義數(shù)據(jù)庫的三級結(jié)構(gòu)及其相互之間的映象、完整性、安全控制等約束。( 2) 數(shù)據(jù)庫的操縱功能

12、: DBMS 提供數(shù)據(jù)操縱語言( DML )實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。( 3) 數(shù)據(jù)庫的保護功能 :DBMS 對數(shù)據(jù)庫的保護主要通過數(shù)據(jù)庫的恢復、數(shù)據(jù)庫的并發(fā)控制、數(shù)據(jù)庫的完整性控制、數(shù)據(jù)庫的安全性控制等四個方面實現(xiàn)。( 4) 數(shù)據(jù)庫的存儲管理:DBMS 的存儲管理子系統(tǒng)提供了數(shù)據(jù)庫中數(shù)據(jù)和應用程序的一個界面,其職責是把各種DML語句轉(zhuǎn)換成低層的文件系統(tǒng)命令,起到數(shù)據(jù)的存儲、檢索和更新的作用。( 5) 數(shù)據(jù)庫的維護功能 :DBMS 中實現(xiàn)功能的實用程序主要有數(shù)據(jù)裝載程序、備份程序、文件重組織程序、性能監(jiān)控程序。( 6) 數(shù)據(jù)字典( DD ):數(shù)據(jù)庫系統(tǒng)中存放三級結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典,對

13、數(shù)據(jù)庫的操作都要通過訪問DD 才能實現(xiàn)。16. DBMS的組成: DBMS 是由兩大部分組成:查詢處理器和存儲管理器。( 1) 查詢處理器有四個主要成分 : DDL 編譯器、 DML 編譯器、嵌入型 DML 的預編譯器、查詢運行核心程序。( 2) 存儲管理器有四個主要成分 :授權(quán)和完整性管理器、事務管理器、文件管理器、緩沖區(qū)管理器。17. DBS 的組成:DBS :數(shù)據(jù)庫系統(tǒng)( Database System),DBS 是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù),方便多用戶訪問的計算機軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng),即采用了數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。DBS 是一個實際可運行的,按照數(shù)據(jù)庫方法存儲、維

14、護和向應用系統(tǒng)提供數(shù)據(jù)支持的系統(tǒng),它是數(shù)據(jù)庫、硬件、軟件、數(shù)據(jù)庫管理員( DBA )的集合體。( 1) 數(shù)據(jù)庫( DB ) :是與一個特定組織各項應用有關(guān)的全部數(shù)據(jù)的集合,由應用數(shù)據(jù)的集合(物理數(shù)據(jù)庫) 、關(guān)于各級數(shù)據(jù)結(jié)構(gòu)的描述(描述數(shù)據(jù)庫)兩部分組成。( 2) 硬件:包括中央處理機、內(nèi)存、輸入輸出設(shè)備、數(shù)據(jù)通道等硬件設(shè)備。( 3) 軟件:包括 DBMS 、 OS 、各種宿主語言和應用開發(fā)支持軟件等程序。( 4) DBA :DBA 是控制數(shù)據(jù)整體結(jié)構(gòu)的人,負責DBS 的正常運行。18. DBS 的全局結(jié)構(gòu):( 1) 數(shù)據(jù)庫用戶 ??煞譃樗念悾?DBA 、專業(yè)用戶、應用程序員、終端用戶( 2)

15、DBMS 的查詢處理器 。包括四部分: DML 編譯器、嵌入型 DML 的預編譯器、 DLL 編譯器、查詢運行核心程序。( 3) DBMS 的存儲管理器 。包括四部分:授權(quán)和完整性管理器、事務管理器、文件管理器、緩沖區(qū)管理器。( 4) 磁盤存儲器中的數(shù)據(jù)結(jié)構(gòu) 。包括四種形式:數(shù)據(jù)文件、數(shù)據(jù)字典、索引文件、統(tǒng)計數(shù)據(jù)組織。DBMS:數(shù)據(jù)庫管理系統(tǒng)( Database Management System) ,DBMS是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問 DB的方法,包括 DB的建立、查詢、更新及各種數(shù)據(jù)控制。 DBMS總是基于某種數(shù)據(jù)模型,可以分為層次型、網(wǎng)狀型、關(guān)系

16、型、面向?qū)ο笮?DBMS。 數(shù)據(jù)庫技術(shù) :是一門研究數(shù)據(jù)庫結(jié)構(gòu)、存儲、管理和使用的軟件學科。第一代數(shù)據(jù)庫系統(tǒng),即層次數(shù)據(jù)庫系統(tǒng)和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)第二代數(shù)據(jù)庫系統(tǒng),即關(guān)系數(shù)據(jù)庫系統(tǒng)第三代數(shù)據(jù)庫系統(tǒng),即面向?qū)ο髷?shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫學科的研究范圍 :數(shù)據(jù)庫管理系統(tǒng)軟件的研制 ; 數(shù)據(jù)庫設(shè)計 ; 數(shù)據(jù)庫理論數(shù)據(jù)系統(tǒng)的三級模式結(jié)構(gòu) :外模式(物理模式) 、模式(邏輯模式)和內(nèi)模式數(shù)據(jù)庫管理系統(tǒng)的功能: 數(shù)據(jù)定義數(shù)據(jù)操縱數(shù)據(jù)庫運行管理數(shù)據(jù)組織、存儲和管理數(shù)據(jù)庫的建立和維護數(shù)據(jù)通信接口數(shù)據(jù)庫管理系統(tǒng)組成: 數(shù)據(jù)定義語言及其翻譯處理程序 數(shù)據(jù)操縱語言及其編譯(或解釋)程序數(shù)據(jù)庫運行控制程序?qū)嵱贸绦蛞粋€設(shè)計優(yōu)良的 D

17、BMS友好的用戶界面比較完備的功能較高的運行效率清晰的系統(tǒng)結(jié)構(gòu)和開放性第二章關(guān)系數(shù)據(jù)庫系統(tǒng)與非關(guān)系數(shù)據(jù)庫系統(tǒng)的區(qū)別是 ,關(guān)系系統(tǒng)只有 " 表" 這一種數(shù)據(jù)結(jié)構(gòu); 而非關(guān)系數(shù)據(jù)庫系統(tǒng)還有其他數(shù)據(jù)結(jié)構(gòu),對這些數(shù)據(jù)結(jié)構(gòu)有其他的操作。關(guān)系模型的組成:關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系完整性約束關(guān)系數(shù)據(jù)語言 關(guān)系代數(shù)語言例如 ISBL元組關(guān)系演算語言例如 ALPHA, QUEL關(guān)系演算語言 域關(guān)系演算語言例如 QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點的語言例如 SQL關(guān)系的三類完整性約束:實體完整性、參照完整性和用戶定義的完整性 實體完整性規(guī)則: 要求關(guān)系中組成主鍵的屬性上不能有空值。參照

18、完整性規(guī)則 :要求不引用不存在的實體。用戶定義完整性規(guī)則:由具體應用環(huán)境決定,系統(tǒng)提供定義和檢驗這類完整性的機制。關(guān)系數(shù)據(jù)語言的共同特點是:語言具有完備的表達能力,是非過程化的集合操作語言,功能強,能夠嵌入高級語言中使用。基本關(guān)系具有以下六條性質(zhì):列是同質(zhì)的( Homogeneous),即每一列中的分量同一類型的數(shù)據(jù),來自同一個域。不同的列可出自同一個域,稱其中的每列為一個屬性,不同的屬性要給予不同的屬性名。列的順序無所謂,即列的次序可以任意交換。任意兩個元組不能完全相同。行的順序無所謂,即行的次序可以任意交換。分量必須取原子值,即每一個分量都必須是不可分的數(shù)據(jù)項。關(guān)系模型要求關(guān)系必須是規(guī)范化

19、的, 即要求關(guān)系模式必須滿足一定的規(guī)范條件。 這些規(guī)范條件中最基本的一條就是,關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項。關(guān)系是關(guān)系模式在某一個時刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜態(tài)的,穩(wěn)定的,而關(guān)系是動態(tài)的、隨時間不斷變化的,因為關(guān)系操作在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。但在實際當中,人們常常把關(guān)系模式和關(guān)系都稱為關(guān)系。實體完整性規(guī)則說明如下:( 1)實體完整性規(guī)則是針對基本關(guān)系而言的。一個基本表通常對應現(xiàn)實世界的一個實體集。例如學生關(guān)系對應于學生的集合。(2)現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識。(3)相應地,關(guān)系模型中以主碼作為唯一性標識。(4)主碼中的屬性即主屬性不能取空值。所謂空

20、值就是" 不知道 " 或" 無意義 " 的值。關(guān)系可以有三種類型:基本關(guān)系(通常又稱為基本表或基表)、查詢表和視圖表元組變量主要有兩方面的用途:簡化關(guān)系名。操作條件中使用量詞時必須用元組變量。第三章SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體。特點包括 :綜合統(tǒng)一、高度非過程化、面向集合的操作方式、以同一種語法結(jié)構(gòu)提供兩種使用方式、語言簡潔,易學易用。定義和合理地使用視圖能帶來的好處為:、視圖能夠簡化用戶的操作、視圖使用戶能以多種角度看待同一數(shù)據(jù)、視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性、視圖能夠?qū)C密數(shù)據(jù)提供安全保護視圖更新操作規(guī)則的

21、限制:如果視圖是從多個基本表使用聯(lián)接操作導出的,則不允許更新。如果導出的視圖使用了分組和聚合操作,也不允許更新。如果視圖是從單個基本表使用選擇和投影操作導出的,并且包括了基本表的主鍵或某個候選鍵,則可以執(zhí)行操作。SQL中數(shù)據(jù)控制功能包括事務管理功能和數(shù)據(jù)保護功能,即數(shù)據(jù)庫的恢復、并發(fā)控制;數(shù)據(jù)庫的安全性和完整性。第四章數(shù)據(jù)依賴 是通過一個關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系,是現(xiàn)實世界屬性間相互聯(lián)系的抽象,是數(shù)據(jù)內(nèi)在的性質(zhì),是語義的體現(xiàn)?,F(xiàn)在人們已經(jīng)提出了許多種類型的數(shù)據(jù)依賴,其中最重要的是函數(shù)依賴和多值依賴。關(guān)系模式規(guī)范化時一般應遵循以下原則:( 1)關(guān)系模式進行無損連接分解。

22、 (2)合理選擇規(guī)范化程度。 (3)正確性與可實現(xiàn)性原則。關(guān)系模式規(guī)范化的基本步驟如圖所示。對 1NF 關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的函數(shù)依賴,將1NF關(guān)系轉(zhuǎn)換為若干個2NF 關(guān)系。對 2NF 關(guān)系進行投影,消除原關(guān)系中非主屬性對碼的傳遞函數(shù)依賴,從而產(chǎn)生一組3NF關(guān)系。對 3NF 關(guān)系進行投影,消除原關(guān)系中主屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴(也就是說,使決定屬性都成為投影的候選碼),得到一組BCNF關(guān)系。消除決定屬性集非碼的非平凡函數(shù)依賴1NF消除非主屬性對碼的部分函數(shù)依賴2NF消除非主屬性對碼的傳遞函數(shù)依賴3NF消除主屬性對碼的部分和傳遞函數(shù)依賴BCNF消除非平凡且非函數(shù)依賴

23、的多值依賴4NF消除不是由候選碼所蘊含的連接依賴5NF以上三步也可以合并為一步:對原關(guān)系進行投影,消除決定屬性不是候選碼的任何函數(shù)依賴。對 BCNF關(guān)系進行投影,消除原關(guān)系中非平凡且非函數(shù)依賴的多值依賴,從而產(chǎn)生一組對 4NF 關(guān)系進行投影,消除原關(guān)系中不是由候選碼所蘊含的連接依賴,即可得到一組4NF 關(guān)系。5NF 關(guān)系。5NF 是最終范式。1NF/2NF/3NF 存在的問題 :BCNF問題 : 數(shù)據(jù)冗余度大插入異常刪除異常數(shù)據(jù)冗余度大增加操作復雜刪除操作復雜修改復雜修改操作復雜關(guān)系模式分解的三個定義(判斷對關(guān)系模式的一個分解是否與原關(guān)系模式等價可以有三種不同的標準):( 1)分解具有 &qu

24、ot; 無損連接性 " 。( 2)分解要 " 保持函數(shù)依賴 " 。( 3)分解既要 " 保持函數(shù)依賴 " ,又要具有 " 無損連接性" 。規(guī)范化理論提供了一套完整的模式分解算法,按照這套算法可以做到:若要求分解具有無損連接性,那么模式分解一定能夠達到4NF。若要求分解保持函數(shù)依賴,那么模式分解一定能夠達到3NF,但不一定能夠達到BCNF。若要求分解既具有無損連接性,又保持函數(shù)依賴,則模式分解一定能夠達到3NF,但不一定能夠達到 BCNFBCNF的關(guān)系模式都具有如下3個性質(zhì):所有非主屬性都完全函數(shù)依賴于每個候選碼。所有主屬性都

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

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

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

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

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

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

31、度。兩段鎖協(xié)議 是指所有事務必須分兩個階段對數(shù)據(jù)庫項加鎖和解鎖。兩段封鎖法: (1) 在對任何數(shù)據(jù)進行讀寫操作之前,事務首先要獲得對該數(shù)據(jù)的封鎖;(2) 在釋放一個封鎖之后,事務不再獲得任何其他封鎖。兩段鎖協(xié)議規(guī)定所有的事務應遵守下列規(guī)則:、在對任何數(shù)據(jù)進行讀、寫操作之前,事務首先要獲得對該數(shù)據(jù)的封鎖。、在釋放一個封鎖之后,事務再獲得任何其他封鎖。所謂“兩段”鎖含義是:事務分為兩個階段。第一階段是獲得封鎖,也稱為擴展階段。在該階段,事務可以申請獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不能釋放任何鎖。第二階段是釋放封鎖,也稱為收縮階段。在該階段,事務可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但是不能再申請

32、任何鎖。數(shù)據(jù)庫系統(tǒng)故障可分為:事務內(nèi)部的故障、系統(tǒng)故障、介質(zhì)故障、計算機病毒。故障類型和恢復方法: 故障類型恢復方法,事務故障應用程序自動進行恢復,系統(tǒng)故障重新啟動時則恢復子系統(tǒng)將所有非正常終止的事務回退,恢復到正確狀態(tài)。介質(zhì)故障通過DBMS把其他務份磁盤或第三級介質(zhì)中的內(nèi)容再復制回來恢復的基本原則和實現(xiàn)方法:就是 " 冗余 " ,即數(shù)據(jù)的重復存儲。 實現(xiàn)方法有: (1)定期對數(shù)據(jù)庫進行復制或轉(zhuǎn)儲(dump) 。注意幾個概念:靜態(tài)轉(zhuǎn)儲、動態(tài)轉(zhuǎn)儲、海量轉(zhuǎn)儲和增量轉(zhuǎn)儲。(2)建立 " 日志 " 文件。 (3)恢復。發(fā)生故障時有兩種處理方法,如數(shù)據(jù)庫已破壞,則

33、由DBA裝入最近備份的數(shù)據(jù)庫然后利用" 日志文件 " 執(zhí)行 REDO(重做 ) 操作。如數(shù)據(jù)庫未被損壞,但某些數(shù)據(jù)不可靠,則系統(tǒng)會自動執(zhí)行UNDO操作恢復數(shù)據(jù)。轉(zhuǎn)儲:靜態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進行任何存取、修改活動)動態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間允許對數(shù)據(jù)進行存取或修改)海量轉(zhuǎn)儲(每次轉(zhuǎn)儲全部數(shù)據(jù)庫)增量轉(zhuǎn)儲(每次只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù))日志文件 是用來記錄對數(shù)據(jù)庫每一次更新活動的文件。在轉(zhuǎn)儲中必須建立日志文件,后援副本和日志文件綜合起來才能有效地恢復數(shù)據(jù)庫。利用日志文件恢復事務的過程:從頭掃描日志文件,找出哪些事務在故障發(fā)生時已經(jīng)結(jié)束,哪些事務尚未結(jié)束;對尚未結(jié)束的事務進

34、行撤銷處理,對已經(jīng)結(jié)束的事務進行重做處理。硬件故障;病毒破壞:當數(shù)據(jù)庫本身被破壞時,可重裝轉(zhuǎn)儲數(shù)據(jù)庫的后備副本,然后運行日志文件,執(zhí)行事務恢復,這樣就可以重建數(shù)據(jù)庫。發(fā)生事務故障;系統(tǒng)故障:當數(shù)據(jù)庫本身沒被破壞,但內(nèi)容已經(jīng)不可靠時,可利用日志文件恢復事務,從而使數(shù)據(jù)庫回到某一正確狀態(tài),這時不必重裝后備副本。第六章信息系統(tǒng)是提供信息、輔助人們對環(huán)境進行控制和進行決策的系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。數(shù)據(jù)庫設(shè)計內(nèi)容 :結(jié)構(gòu)(數(shù)據(jù))設(shè)計;行為(處理)設(shè)計。數(shù)據(jù)庫設(shè)計分為以下六個階段:需求分析階段、概念結(jié)構(gòu)設(shè)計階段、邏輯結(jié)構(gòu)設(shè)計階段、數(shù)據(jù)庫物理設(shè)計階段、數(shù)據(jù)庫實施階段、數(shù)據(jù)庫運行和維護階段。數(shù)據(jù)庫

35、的物理設(shè)計 :數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的計算機系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。簡要敘述數(shù)據(jù)庫設(shè)計的幾個階段。按照規(guī)范設(shè)計的方法, 考慮數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設(shè)計分為以下六個階段: 1)需求分析階段:進行數(shù)據(jù)庫設(shè)計首先必須準確了解與分析用戶需求(包括數(shù)據(jù)與處理) 。需求分析是整個設(shè)計過程的基礎(chǔ),是最困難,最耗費時間的一步。需求分析的結(jié)果是否準確地反映用戶的實際要求,將直接影響到后面各個階段的設(shè)計,并影響到設(shè)計結(jié)果是否合理和實用。2)概念結(jié)構(gòu)設(shè)計階段:概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫

36、設(shè)計的關(guān)鍵,它通過對用戶需求進行綜合,歸納與抽象,形成一個獨立于具體DBMS的概念模型。 3)邏輯結(jié)構(gòu)設(shè)計階段:邏輯結(jié)構(gòu)設(shè)計是將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化。4)數(shù)據(jù)庫物理設(shè)計階段:數(shù)據(jù)庫物理設(shè)計是為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)。5)數(shù)據(jù)庫實施階段:在數(shù)據(jù)庫實施階段,設(shè)計人員運用DBMS提供的數(shù)據(jù)語言及其宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制和調(diào)試應用程序,組織數(shù)據(jù)入庫并進行試運行。 6)數(shù)據(jù)庫運行和維護階段:數(shù)據(jù)庫應用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷對其進行評價,調(diào)整與修改。設(shè)計一個完整的數(shù)據(jù)庫應用

37、系統(tǒng)往往是上述六個階段不斷反復的過程。數(shù)據(jù)庫設(shè)計過程中注意的問題: (1) 數(shù)據(jù)庫設(shè)計過程中要充分調(diào)動用戶的積極性。( 2)應用環(huán)境的改變、新技術(shù)的出現(xiàn)等都會導致應用需求的變化,因此在設(shè)計數(shù)據(jù)庫時必須充分考慮到系統(tǒng)的可擴性。(3)在設(shè)計數(shù)據(jù)庫應用的過程中,必須充分考慮到已有應用,盡量使用戶能夠平穩(wěn)地從舊系統(tǒng)遷移到新系統(tǒng)。調(diào)查的重點 是" 數(shù)據(jù) " 和" 處理 " ,通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫的要求:( 1)信息要求。指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。( 2)處理要求。指用戶要完

38、成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。( 3)安全性與完整性要求。數(shù)據(jù)字典: 是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典包括:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程。數(shù)據(jù)項 : 是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。在需求分析階段需要注意的是:( 1)需求分析階段的一個重要而困難的任務是收集將來應用所涉及的數(shù)據(jù),設(shè)計人員應充分考慮到可能的擴充和改變,使設(shè)計易于更改,系統(tǒng)易于擴充,這是第一點。(2)必須強調(diào)用戶的參與,這是數(shù)據(jù)

39、庫應用系統(tǒng)設(shè)計的特點。數(shù)據(jù)庫應用系統(tǒng)和廣泛的用戶有密切的聯(lián)系。因此用戶的參與是數(shù)據(jù)庫設(shè)計不可分割的一部分。在數(shù)據(jù)分析階段,任何調(diào)查研究沒有用戶的積極參加是寸步難行的。設(shè)計人員應該和用戶取得共同的語言,幫助不熟悉計算機的用戶建立數(shù)據(jù)庫環(huán)境下的共同概念,并對設(shè)計工作的最后結(jié)果承擔共同的責任。簡述需求分析的任務 。需求分析的任務是通過詳細調(diào)查現(xiàn)實世界要處理的對象,充分了解原系統(tǒng)工作概況明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設(shè)計數(shù)據(jù)庫。調(diào)查的重點是數(shù)據(jù)和處理,通過調(diào)查,收集與分析獲得用戶對數(shù)據(jù)庫的如下要求:1)信息要求。指用

40、戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。2)處理要求。指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。3)完整性與安全性要求。概念結(jié)構(gòu)的主要特點是 :(1)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求。是對現(xiàn)實世界的一個真實模型。( 2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計成功的關(guān)鍵。( 3)易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充。(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。設(shè)計概念結(jié)構(gòu)通常有四類

41、方法:自頂向下、自底向上、逐步擴張、混合策略。實際上實體與屬性是相對而言的,實體與屬性之間 并沒有形式上可以截然劃分的界限,但可以給出兩條準則:( 1)作為 " 屬性 " ,不能再具有需要描述的性質(zhì)。 " 屬性 " 必須是不可分的數(shù)據(jù)項,不能包含其他屬性。( 2) " 屬性 " 不能與其他實體具有聯(lián)系,即 E-R 圖中所表示的聯(lián)系是實體之間的聯(lián)系。凡滿足上述兩條準則的事物,一般均可作為屬性對待。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導,方法如下。、確定數(shù)據(jù)依賴。、對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。、按照數(shù)據(jù)

42、依賴的理論對關(guān)系模式逐一進行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。、按照需求分析階段得到的各種應用對數(shù)據(jù)處理的要求,分析對于這樣的應用環(huán)境這些模式是否合適,確定是否要對它們進行合并或分解。數(shù)據(jù)庫的物理結(jié)構(gòu)依賴于所選用的DBMS,依賴于計算機硬件環(huán)境,設(shè)計人員進行設(shè)計時主要需要考慮以下幾個方面:確定數(shù)據(jù)的存儲結(jié)構(gòu)、設(shè)計數(shù)據(jù)的存取路徑、確定數(shù)據(jù)的存放位置、確定系統(tǒng)配置。數(shù)據(jù)庫實施主要包括以下工作:、定義數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)裝載、編制與調(diào)試應用程序、數(shù)據(jù)庫試運行數(shù)據(jù)庫維護工作主要內(nèi)容: 、數(shù)據(jù)庫的轉(zhuǎn)儲和恢復、數(shù)據(jù)庫的安全性、完整性控制、數(shù)據(jù)庫性能的監(jiān)督

43、、分析和改進、數(shù)據(jù)庫的重組織和重構(gòu)造第七章URL組成: 檢索協(xié)議、 Internet 節(jié)點、為 HTTP客戶服務的資源文件名。CGI 是外部應用程序 ( CGI程序)與 Web服務器之間的接口標準,是在 CGI 程序和 Web服務器之間傳遞信息的規(guī)程。CGI規(guī)范允許 Web服務器執(zhí)行外部程序,并將它們的輸出發(fā)送給Web瀏覽器。 CGI 將 Web的一組簡單的靜態(tài)超媒體文檔變成一個完整的新的交互式媒體。CGI 程序調(diào)用方式: 通過交互式主頁里的表單欄(FORM)調(diào)用 CG1程序,用戶在填完一張表單后,按確認按鈕就啟動了 CGI程序。通過 URL直接調(diào)用 CGI 程序。CGI 的主要優(yōu)點 是它的簡

44、單、語言無關(guān)性、Web服務器無關(guān)性以及它廣泛的可接受性。簡述 CGI的特點 。 CGI 的主要優(yōu)點是它的簡單性,語言無關(guān)性,Web服務器無關(guān)性以及廣泛的可接受性。雖然CGI 提供了一種與數(shù)據(jù)庫連接的簡單方法,但它也存在一些局限性:1)瓶頸問題,客戶機和數(shù)據(jù)庫服務器之間的通信必須通過Web服務器,當有大量的用戶訪問時,Web服務器會超載。2)缺乏效率和事物支持, CGI應用程序不能由多個客戶機請求共享,降低了性能,增加了等待時間。3) CGI 應用程序不持久,服務器必須為每次訪問CGI 程序建立新的進程或線程,每次請求時數(shù)據(jù)庫連接都必須重新打開,開銷很大。4)CGI 程序安全性問題。簡述利用 C

45、GI 訪問數(shù)據(jù)庫工作流程。1)瀏覽器將 URL的第一部分解碼并連接到服務器;2)瀏覽器將 URL得其余部分提供給服務器; 3)服務器從 URL提取路徑和文件名;4)服務器識別出 URL指向一個 CGI 程序,而并非一個靜態(tài)文件;5)服務器準備環(huán)境變量并執(zhí)行這個CGI 程序; 6)CGI 程序執(zhí)行,一般首先讀取環(huán)境變量或STDIN文件,得到參數(shù); 7)CGI 程序向 STDOUT寫 MIME及別的 http header 信息,說明將傳輸給客戶的內(nèi)容;8)CGI 程序向 STDOUT發(fā)送其輸出的其余部分,然后終止; 9)服務器發(fā)送 STDOUT中的數(shù)據(jù)到瀏覽器,結(jié)束 CGI 程序并斷開與瀏覽器的

46、連接;10)瀏覽器顯示來自服務器的輸出信息。雖然 CGI提供了一種與數(shù)據(jù)庫連接的簡單方法,但它也存在一些局限性。瓶頸問題,客戶機和數(shù)據(jù)庫服務器之間的通信必須通過Web服務器,當有大量的用戶訪問時, Web服務器會 " 超載 " 。缺乏效率和事務支持, CGI 應用程序不能由多個客戶機請求共享,降低了性能,增加了等待時間。 CGI 應用程序不持久,服務器必須為每次訪問CGI 程序建立新的進程或線程, 每次請求時數(shù)據(jù)庫連接都必須重新打開,開銷很大。 CGI程序安全性問題ASP文件組成部分:( 1)文本;( 2) HTML標記,可單獨使用或嵌入在各個ASP腳本單元中,以 &quo

47、t; < 和 >" 為定界符;( 3)VBScript( 或 JScript )語句,可單獨使用或嵌入在各個ASP腳本單元中,以( SCRIPT和/SCRIPT)為定界符,通過對 "RUN AT"屬性的設(shè)置來決定是否在服務器端運行;( 4) ASP腳本命令:可單獨使用或包含在此<html> 和 /html 內(nèi),以 " %"和 "% " 為定界符。API 是駐留在 Web服務器上的程序代碼,它擴展了服務器的性能,其方式類似于CGI。ActiveX 是 Microsoft提出的一種標準, AcitveX

48、也是 Microsoft 一組軟件技術(shù)的統(tǒng)稱,包括控件、文檔、腳本三種最常用的技術(shù),以及Microsoft的許多其他技術(shù)。Active Server Pages(ASP)是 Microsoft基于服務器的、建立動態(tài)和交互式Web 頁面的技術(shù),它是建立在ISAPI技術(shù)基礎(chǔ)上的,并克服了CGI存在的缺點。ADO包括七個對象 :三個主對象為連接對象、命令對象、記錄集對象。錯誤對象、字段對象、參數(shù)對象、屬性對象第八章JDBC是執(zhí)行 SQL語句的 Java API 。JDBC即“Java Database Connectivity”( Java 數(shù)據(jù)庫連接),它由一組用 Java語言編寫的類與接口組成,

49、已成為一種數(shù)據(jù)庫連接的標準。JDBC:JDBC是一套 API 集合,該集合設(shè)置了許多允許 Java 程序連接數(shù)據(jù)庫的框架。 JDBC操作在某些方面看起來和ODBC一樣。區(qū)別是 ODBC不能在 Java 程序中直接實現(xiàn),原因是ODBC是用 C語言寫的。然而JDBC提供了 JDBC/ODBC之間的橋梁。 JDBC是圍繞著 X/Open CallLevelInterface(CLI)設(shè)計的,一個 CLI 意味著可直接用SQL查詢數(shù)據(jù)庫并得到一行結(jié)果。JDBC與 ODBC以及其他 API 的區(qū)別: Java不能直接使用ODBC,因為是 ODBC使用 C 語言接口,如果讓 Java 來調(diào)用本機 C代碼,將會在安全、屬性、健壯性、應用的可移植性等方面帶來困難。不希望把ODBCAPI 逐字地翻譯成 JavaAPI ,例如 ODBC使用了大量易出錯地指針,而Java 取消了這種不安全地指針。 ODBC 難以學習,它把簡單功能和高級功能混雜在一起,即便是簡單的查詢語句也會帶來復雜的任選項。而JDBC的設(shè)計使得簡單的事情用簡單的方法做,僅在必要時才讓用戶使用高級功能。 JDBC的 Java API提供“純 Java

溫馨提示

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

評論

0/150

提交評論