全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Delphi輔導(dǎo)講義 177

字號(hào):

18.1.2.3 關(guān)系數(shù)據(jù)操作
    為了開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用,需要使用一種語(yǔ)言來(lái)表達(dá)處理邏輯。關(guān)系數(shù)據(jù)操作語(yǔ)言共有四類:
    ● 關(guān)系代數(shù),它是一種語(yǔ)言,提供一組遠(yuǎn)算符處理關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系
    ● 關(guān)系演算,它是一種語(yǔ)言,在該語(yǔ)言中用戶指定一組來(lái)自關(guān)系數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)操作的結(jié)果
    ● 面向變換的語(yǔ)言,它們構(gòu)成一類非過(guò)程語(yǔ)言,這類語(yǔ)言將表示為關(guān)系的輸入數(shù)據(jù)變換成表示為單個(gè)關(guān)系的結(jié)果。SQL就是一種面向變換的語(yǔ)言
    ● 面向圖形的系統(tǒng),它們?yōu)橛脩籼峁┮粋€(gè)關(guān)系結(jié)構(gòu)的圖形,如Borland的Paradox 和IBM公司的QBE(Query By Example)
    用戶可以采用多種方法與關(guān)系數(shù)據(jù)庫(kù)進(jìn)行聯(lián)系:
    ● 某些DBMS產(chǎn)品,包括有生成表格的工具并提供表格和報(bào)告的處理
    ● 通過(guò)查詢語(yǔ)言提供一個(gè)接口,它們執(zhí)行查詢和更新功能;最重要的查詢語(yǔ)言是SQL
    ● 與關(guān)系數(shù)據(jù)庫(kù)聯(lián)系的第三種方法是通過(guò)應(yīng)用程序
    18.1.2.4 擴(kuò)展關(guān)系系統(tǒng)
    眾多的銷售商都在積極擴(kuò)展關(guān)系模型。這些擴(kuò)展包括在關(guān)系表中存儲(chǔ)復(fù)雜數(shù)據(jù)類型、存儲(chǔ)過(guò)程、觸發(fā)器以及二進(jìn)制大對(duì)象(BLOB)。目前正在SQL 3標(biāo)準(zhǔn)中考慮的SQL擴(kuò)展將包括對(duì)對(duì)象的進(jìn)一步支持,還有可能包括對(duì)用戶定義數(shù)據(jù)類型及嵌套表的支持。向關(guān)系模型提供對(duì)象擴(kuò)展的產(chǎn)品包括Sybase、Informix、Oracle和Borland。
    18.1.2.5 SQL:集成客戶/服務(wù)器體系結(jié)構(gòu)的基本鏈路
    SQL為前面討論的集成客戶/服務(wù)器體系結(jié)構(gòu)提供一條基本鏈路。目前美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)已認(rèn)可SQL作為操作數(shù)據(jù)庫(kù)的正式工業(yè)標(biāo)準(zhǔn)。它是許多數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)產(chǎn)品都采用的數(shù)據(jù)存取語(yǔ)言。
    SQL允許用戶在關(guān)系表數(shù)據(jù)上進(jìn)行查詢、建立新表、存取現(xiàn)有的遠(yuǎn)程表、操作數(shù)據(jù)、建立應(yīng)用程序存取SQL數(shù)據(jù),運(yùn)行SQL語(yǔ)句,處理錯(cuò)誤以及訪問(wèn)多個(gè)服務(wù)器。SQL數(shù)據(jù)庫(kù)服務(wù)器是多用戶關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。
    SQL可以作為一個(gè)查詢語(yǔ)言用于交互式使用或嵌入在應(yīng)用程序中。在執(zhí)行查詢時(shí),SQL接受一個(gè)或多個(gè)關(guān)系作為輸入并產(chǎn)生一個(gè)關(guān)系作為輸出,結(jié)果是一個(gè)表或平面文件,例如,一批不含有重復(fù)組的同一類型記錄。在查詢多個(gè)表時(shí),SQL將這些表連接起來(lái)。SQL內(nèi)還含有一些規(guī)定,用來(lái)向表中插入新數(shù)據(jù)、從表中刪除數(shù)據(jù)或修改表中的數(shù)據(jù)。
    18.1.3 各種數(shù)據(jù)庫(kù)服務(wù)器功能介紹
    服務(wù)器數(shù)據(jù)管理包括若干軟件,它們使用戶可以訪問(wèn)網(wǎng)絡(luò)中的任何節(jié)點(diǎn)以及確保多用戶環(huán)境下的保密性、可恢復(fù)性和完整性。如前面所提到的,客戶/服務(wù)器計(jì)算中的基本存取鏈路是SQL,它是一種高級(jí)非過(guò)程數(shù)據(jù)庫(kù)語(yǔ)言, 現(xiàn)在已開(kāi)發(fā)出很多支持SQL 的后端服務(wù)器及DBMS。下面將描述這些產(chǎn)品。
    18.1.3.1 DB2
    DB2是一種由IBM公司開(kāi)發(fā)的RDBMS。它使用SQL執(zhí)行所有的數(shù)據(jù)庫(kù)操作。數(shù)據(jù)定義、數(shù)據(jù)存取、數(shù)據(jù)操作以及授權(quán)功能。SQL語(yǔ)句由用戶在一個(gè)客戶機(jī)節(jié)點(diǎn)從鍵盤(pán)輸入或嵌套在應(yīng)用程序中。
    DB2的結(jié)構(gòu)包括表、視圖、表空間、索引、索引空間、數(shù)據(jù)庫(kù)和存儲(chǔ)組。 這種RDBMS提供有允許用戶動(dòng)態(tài)建立和修改這些結(jié)構(gòu)的工具。DB2還包括一些并行處理軟件,以控制和限制干預(yù)、后備和恢復(fù)功能以及安全性保證等。
    并行處理通過(guò)鎖來(lái)完成,當(dāng)應(yīng)用程序讀數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí),DB2在該數(shù)據(jù)上獲取一個(gè)共享鎖,允許其他應(yīng)用程序讀這個(gè)相同的數(shù)據(jù)。如果一個(gè)應(yīng)用程序需要修改數(shù)據(jù),那么DB2將一個(gè)互斥型鎖放在該數(shù)據(jù)上,以阻止其它應(yīng)用程序訪問(wèn)這個(gè)數(shù)據(jù)。DB2還提供一些關(guān)于鎖的級(jí)別或鎖的大小的任選項(xiàng)。
    DB2周期性地存儲(chǔ)并檢查所有數(shù)據(jù)庫(kù)變化。所有駐留在系統(tǒng)緩沖區(qū)中的變化被寫(xiě)到數(shù)據(jù)庫(kù),并將一個(gè)變化的記錄載入日志。以最近一次寫(xiě)到日志的變化起所建立的全部映像可用于完成系統(tǒng)故障的恢復(fù)。DB2包括一些用來(lái)從備份拷貝重新建立數(shù)據(jù)庫(kù)的實(shí)用程序。這種實(shí)用程序含有一個(gè)選擇項(xiàng),允許用戶只拷貝表空間中那些自最后一個(gè)備份后新被修改的頁(yè)面。
    DB2還含有一些用來(lái)保護(hù)數(shù)據(jù)庫(kù)的安全性規(guī)定。
    18.1.3.2 Borland對(duì)象成分體系結(jié)構(gòu)(BOCA)
    BOCA建立了一個(gè)既考慮開(kāi)發(fā)工具又考慮數(shù)據(jù)庫(kù)管理工具的客戶/服務(wù)器體系結(jié)構(gòu)。它將一級(jí)面向?qū)ο蟮墓ぞ?、中間件和數(shù)據(jù)庫(kù)服務(wù)器技術(shù)集中在一起提供客戶/服務(wù)器的解決方案。該體系結(jié)構(gòu)的組成部分有:
    1. 先進(jìn)的面向?qū)ο蠊ぞ?BR>    Borland建立有廣泛基礎(chǔ)和緊密集成的面向?qū)ο蟮墓ぞ?,這些工具充分利用了當(dāng)前客戶/ 服務(wù)器變革的優(yōu)點(diǎn)。使用面向?qū)ο蟮姆椒▽W(xué),建立了如下產(chǎn)品:Borland C++、Borland Delphi、Paradox、QuattroPro、Visual dBase以及ObjectVision等。
    2. IDAPI
    IDAPI(集成數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)接口)是Borland公司的SQL連通性解決方法。 IDAPI使得開(kāi)發(fā)人員能夠以更高的效率建立數(shù)據(jù)庫(kù)應(yīng)用,允許用戶在多種硬件和操作系統(tǒng)平臺(tái)以及網(wǎng)絡(luò)環(huán)境下訪問(wèn),以多種數(shù)據(jù)庫(kù)格式存儲(chǔ)的數(shù)據(jù)。
    3. InterBase
    InterBase是一種分布式SQL數(shù)據(jù)庫(kù)服務(wù)器。它支持每個(gè)數(shù)據(jù)庫(kù)系統(tǒng)查詢數(shù)據(jù)并將信息返回到其它任何一個(gè)InterBase服務(wù)器。InterBase 的可變體系結(jié)構(gòu)代表了關(guān)系系統(tǒng)技術(shù)的第三次浪潮,可變引擎使得InterBase可以以最少的鎖支持高效事務(wù)處理和決策支持事務(wù)處理。
    Borland公司的面向?qū)ο蠹夹g(shù)使得開(kāi)發(fā)人員可以通過(guò)構(gòu)造模塊化的應(yīng)用成分來(lái)建立復(fù)雜客戶/服務(wù)器系統(tǒng)。這些模塊化應(yīng)用成分可以很容易地開(kāi)發(fā)、測(cè)試、維護(hù)和增強(qiáng),并可方便地裝配到復(fù)雜的應(yīng)用程序包中,此外Borland公司的可視化技術(shù)極大地提高了軟件生產(chǎn)率。