數(shù)據(jù)庫系統(tǒng)概述
數(shù)據(jù)庫是20世紀(jì)60年代末期發(fā)展起來的數(shù)據(jù)管理技術(shù),經(jīng)過近40年的發(fā)展,各方面的性能有了長足的進(jìn)步,建立了較完整的數(shù)據(jù)庫理論體系,出現(xiàn)了一批相當(dāng)成熟的數(shù)據(jù)庫平臺(tái),如Oracle、DB2、Sybase、SQL-Server等。數(shù)據(jù)庫技術(shù)的應(yīng)用使信息系統(tǒng)有了一個(gè)可實(shí)際運(yùn)行的存儲(chǔ)、維護(hù)信息和向應(yīng)用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng)。檔案數(shù)據(jù)庫的建設(shè)與應(yīng)用,為檔案信息資源的建設(shè)和管理奠定了一個(gè)堅(jiān)實(shí)的技術(shù)基礎(chǔ)。
1 數(shù)據(jù)庫的構(gòu)成
數(shù)據(jù)庫系統(tǒng)是存儲(chǔ)介質(zhì)、處理對(duì)象和管理系統(tǒng)的集合體。它通常由軟件、數(shù)據(jù)庫和數(shù)據(jù)管理員組成。其軟件主要包括操作系統(tǒng)、各種宿主語言、實(shí)用程序以及數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放于二級(jí)存儲(chǔ)器中的數(shù)據(jù)集合。這些數(shù)據(jù)為多個(gè)應(yīng)用程序服務(wù),獨(dú)立于具體的應(yīng)用程序。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進(jìn)行。
數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,它的主要功能是維護(hù)數(shù)據(jù)庫并有效地訪問數(shù)據(jù)庫中任意部分?jǐn)?shù)據(jù)。對(duì)數(shù)據(jù)庫的維護(hù)包括保持?jǐn)?shù)據(jù)的完整性、一致性和安全性。數(shù)據(jù)管理員負(fù)責(zé)創(chuàng)建、監(jiān)控和維護(hù)整個(gè)數(shù)據(jù)庫,使數(shù)據(jù)能被任何有權(quán)使用的人有效使用。
數(shù)據(jù)庫系統(tǒng)要完成的工作包括:
(1)建立數(shù)據(jù)模型,使用戶可以根據(jù)數(shù)據(jù)模型訪問數(shù)據(jù)庫中的數(shù)據(jù)(如檢索、插入、刪除和修改),而不必關(guān)心數(shù)據(jù)的物理存儲(chǔ)位置。數(shù)據(jù)模型要能反映各種數(shù)據(jù)之間的內(nèi)在聯(lián)系。
(2)數(shù)據(jù)也應(yīng)有組織地存放在存儲(chǔ)設(shè)備上,并建立數(shù)據(jù)模型到物理存儲(chǔ)位置的對(duì)應(yīng)表(這種對(duì)應(yīng)稱為映射),它使系統(tǒng)能夠按照用戶的訪問請(qǐng)求,找到被訪問數(shù)據(jù)的存儲(chǔ)位置。建立數(shù)據(jù)模型和設(shè)計(jì)數(shù)據(jù)的物理存儲(chǔ)(組織)方法,其目的是方便用戶對(duì)數(shù)據(jù)的應(yīng)用,與數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu)無關(guān)。后者的變動(dòng)不影響前者,這稱為數(shù)據(jù)獨(dú)立性。
(3)數(shù)據(jù)庫系統(tǒng)要為不同用戶確定不同的訪問權(quán)限并進(jìn)行訪問控制。
(4)提供以數(shù)據(jù)庫為基礎(chǔ)的各種應(yīng)用服務(wù)。
上述各種功能都是在數(shù)據(jù)庫管理系統(tǒng)(英語縮寫為DBMS)的統(tǒng)一管理和控制下實(shí)現(xiàn)的。數(shù)據(jù)庫系統(tǒng)需要設(shè)立數(shù)據(jù)庫管理員,負(fù)責(zé)協(xié)調(diào)和監(jiān)視數(shù)據(jù)庫的使用,一旦發(fā)現(xiàn)違反安全保密或性能下降的現(xiàn)象,立即采取相應(yīng)對(duì)策。因此,一個(gè)數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序和數(shù)據(jù)庫管理員四部分組成。在不引起混淆的情況下,數(shù)據(jù)庫系統(tǒng)有時(shí)也簡稱數(shù)據(jù)庫。
至此不難理解,數(shù)據(jù)庫系統(tǒng)是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),支持多用戶訪問的計(jì)算機(jī)軟、硬件資源及DBA組成的系統(tǒng)。
2 數(shù)據(jù)庫的類型
1.關(guān)系式數(shù)據(jù)庫
數(shù)據(jù)庫是在文件系統(tǒng)的基礎(chǔ)上發(fā)展起來的,這種文件管理方式也就是我們?cè)?span>Windows系統(tǒng)中使用的資源管理器的前身。需要先將所有的各種信息數(shù)據(jù)存放在各自的文件里面,當(dāng)要使用這些信息數(shù)據(jù)的時(shí)候,將文件打開,讀取文件中的數(shù)據(jù)到內(nèi)存中。當(dāng)執(zhí)行完信息處理計(jì)算過程后,將計(jì)算結(jié)果仍舊寫入到文件中去。這種工作方法雖然簡單,但有很多不足之處,如無法對(duì)數(shù)據(jù)進(jìn)行有效的統(tǒng)一管理。應(yīng)用程序的設(shè)計(jì)者需要對(duì)程序所使用的文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)都了解得非常清楚。如有若干個(gè)格式相差很大的文件協(xié)同工作,程序編制工作就會(huì)變得復(fù)雜,這樣就大大增加了編程的工作量,從而使得在文件級(jí)別上開發(fā)應(yīng)用程序的效率非常低下,嚴(yán)重影響應(yīng)用軟件的發(fā)展。基于操作系統(tǒng)的文件系統(tǒng)一般都不支持并行工作,這樣對(duì)于計(jì)算機(jī)來說,大多數(shù)部件在工作中處于等待狀態(tài),對(duì)于計(jì)算機(jī)資源浪費(fèi)極大。
基于文件系統(tǒng)的數(shù)據(jù)管理缺乏整體性、統(tǒng)一性,在數(shù)據(jù)的結(jié)構(gòu)、編碼、表示格式等諸多方面不能做到標(biāo)準(zhǔn)化、規(guī)范化,不同的操作系統(tǒng)有風(fēng)格迥異的表示方式,因此在一定程度上造成了數(shù)據(jù)管理的混亂。另外,基于文件系統(tǒng)的數(shù)據(jù)管理在數(shù)據(jù)的安全性和保密性方面難以采取有效的措施,在一些對(duì)安全性要求比較高的場(chǎng)合,這種安全上的缺陷是不允許的。人們針對(duì)基于文件系統(tǒng)的數(shù)據(jù)管理的缺陷,從理論到實(shí)踐都進(jìn)行了一系列的改進(jìn),至20世紀(jì)70年代初,E.F.Codd在總結(jié)當(dāng)時(shí)存在的各種數(shù)據(jù)庫模型優(yōu)缺點(diǎn)的基礎(chǔ)上,提出了關(guān)系數(shù)據(jù)模型的概念,提出了關(guān)系代數(shù)和關(guān)系演算(直到今天,E.F.Codd的這些基本理論還在左右著數(shù)據(jù)庫系統(tǒng)的發(fā)展,也依然是高校計(jì)算機(jī)專業(yè)課堂上所要講述的重要內(nèi)容)。在整個(gè)70年代,關(guān)系數(shù)據(jù)庫系統(tǒng)無論從理論上還是實(shí)踐上都取得了豐碩的成果。在理論上,確立了完整的關(guān)系模型理論、數(shù)據(jù)依賴?yán)碚摵完P(guān)系數(shù)據(jù)庫的設(shè)計(jì)理論。在實(shí)踐上,世界上出現(xiàn)了很多著名的關(guān)系數(shù)據(jù)庫系統(tǒng),比較著名的如Ingres.Oracle、Sybase等。
關(guān)系模型建立在嚴(yán)密的數(shù)學(xué)概念之上,它用“二維表格”來表示事物及事物之間的聯(lián)系。反映事物的信息數(shù)據(jù)是二維表格中的元素,而二維表格即表示關(guān)系。表格中的一行稱為一個(gè)元組,相當(dāng)于一個(gè)記錄;表格中的一列稱為一個(gè)屬性,相當(dāng)于一個(gè)字段。屬性的取值范圍稱為域。一個(gè)或若干個(gè)屬性的集合稱為關(guān)鍵字,它惟一地標(biāo)識(shí)一個(gè)元組。表格有幾列,則稱這種關(guān)系為幾元關(guān)系。關(guān)系應(yīng)滿足:二維表中每一列中的元素是類型相同的數(shù)據(jù);列的順序可以任意;行的順序也可以任意;表中的元素是不可再分的最小數(shù)據(jù)項(xiàng),即一列只能有一個(gè)屬性;表中任意兩行的記錄不能相同,表中不允許有表。因此,關(guān)系數(shù)據(jù)庫中的每一個(gè)記錄是惟一的,所有的記錄具有相同個(gè)數(shù)和類型的字段,即每一個(gè)記錄都有固定的長度和格式。具有:對(duì)事物描述的一致性,即事物和事物之間的聯(lián)系都用關(guān)系表來表示;可以直接表示“多對(duì)多”的聯(lián)系,如上級(jí)業(yè)務(wù)主管部門可以向各地的對(duì)口部門或企業(yè)收取多種業(yè)務(wù)報(bào)表,基層單位也可以向多個(gè)上級(jí)業(yè)務(wù)部門遞送同一張業(yè)務(wù)報(bào)表;關(guān)系規(guī)范化,不允許有表中表存在;概念簡單,操作方便,數(shù)據(jù)獨(dú)立性高,用戶使用方便,容易掌握。
2.非關(guān)系式數(shù)據(jù)庫
關(guān)系式數(shù)據(jù)庫的出現(xiàn),使得大部分信息資源數(shù)據(jù)庫應(yīng)用都可以使用這種方式予以解決。但是,也應(yīng)看到,關(guān)系式數(shù)據(jù)庫是基于字段的記錄結(jié)構(gòu),對(duì)于文本類型的信息存儲(chǔ)、檢索、修改等等仍有許多不便之處,不便于對(duì)大量文本內(nèi)容的查詢,而此項(xiàng)工作恰恰是辦公自動(dòng)化中的重要內(nèi)容,需要一種面向文檔處理的數(shù)據(jù)庫。非關(guān)系式數(shù)據(jù)庫就是為適應(yīng)這類問題的處理而產(chǎn)生的。著名的Lotus Domino中的數(shù)據(jù)庫就是這類數(shù)據(jù)庫的代表。首先,Notes是一個(gè)文檔數(shù)據(jù)庫管理系統(tǒng)。在Notes中,所有的應(yīng)用都以數(shù)據(jù)庫的形式出現(xiàn),所處理的對(duì)象實(shí)際就是數(shù)據(jù)庫中的文檔。這里所說的文檔可以將其理解為前面所講關(guān)系數(shù)據(jù)庫中的“記錄”。關(guān)系數(shù)據(jù)庫是由一個(gè)個(gè)“記錄”組成,Notes數(shù)據(jù)庫則是由一個(gè)個(gè)“文檔”組成,用戶可以使用按需求設(shè)計(jì)的數(shù)據(jù)庫管理程序在數(shù)據(jù)庫中建立文檔,并且按照定制的工作流程對(duì)文檔進(jìn)行處理。每個(gè)數(shù)據(jù)庫都可以包含不同格式和類型的文檔。
文檔數(shù)據(jù)庫系統(tǒng)的一大特征是,它實(shí)現(xiàn)了對(duì)非結(jié)構(gòu)化信息的存儲(chǔ)和管理,而這正是一般關(guān)系型數(shù)據(jù)庫系統(tǒng)的不足之處。
為了方便信息的管理,Notes提供了以下功能:
(1)RTF文本域。可以在Notes文檔的RTF(一種可以在不同結(jié)構(gòu)的計(jì)算機(jī)中通用的文件格式)文本域中保存多種類型的信息,例如:從其他程序(如字處理軟件、電子郵件、繪圖或關(guān)系型數(shù)據(jù)庫等)獲得的文本、表格、OTE對(duì)象、 Web頁面以及圖片、聲音和動(dòng)畫等多媒體信息。
(2)視圖和文件夾。使用視圖和文件夾來組織數(shù)據(jù)庫中的文檔,它們能方便用戶查詢數(shù)據(jù)庫中的文檔。在形似樹狀目錄結(jié)構(gòu)的視圖和文件夾結(jié)構(gòu)中,用戶可以根據(jù)自己的需要來選擇不同的視圖或文件夾,通過不同的視角查詢和處理文檔。
(3)鏈接和熱點(diǎn)。Notes文檔中可以包含指向一個(gè)文檔、視圖(或文件夾)或數(shù)據(jù)庫的鏈接,當(dāng)用戶單擊代表該鏈接的圖標(biāo)時(shí),當(dāng)前窗口將切換到鏈接所指向的對(duì)象。另外,在Notes文檔中還可以包含各種熱點(diǎn)文本,用戶單擊熱點(diǎn)文本時(shí)可以顯示出文本提示框或者執(zhí)行預(yù)先指定的操作。這樣,用戶就可以在一個(gè)文檔中同時(shí)訪問多個(gè)數(shù)據(jù)庫中的信息,從而提高了 文檔的靈活性和實(shí)時(shí)性。
(4)搜索和索引。Notes帶有內(nèi)置的全文搜索引擎,用戶可以在數(shù)據(jù)庫的搜索條件框中輸入搜索條件來搜索所需的文檔,并可按某種條件對(duì)搜索結(jié)果進(jìn)行排序。另外,還可以對(duì)數(shù)據(jù)庫進(jìn)行全文索引,這樣可以加速對(duì)數(shù)據(jù)庫的搜索。
(5)版本跟蹤。為了體現(xiàn)多用戶協(xié)同工作的特性,適應(yīng)工作組協(xié)同行動(dòng)的需要,Notes提供了文檔的版本跟蹤功能。當(dāng)一個(gè)用戶在共享數(shù)據(jù)庫中保存了文檔之后,他不必?fù)?dān)心因其他用戶的編輯而丟失自己所保存的內(nèi)容。對(duì)文檔實(shí)行了版本跟蹤以后, 將把對(duì)文檔所做的修改另存為新的文檔,即原文檔的新版本。這樣,用戶對(duì)文檔進(jìn)行修改就不會(huì)影響到其他用戶的工作內(nèi)容。
3.多媒體型數(shù)據(jù)庫
多媒體數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)多媒體處理技術(shù)與數(shù)據(jù)庫技術(shù)的結(jié)合,是當(dāng)前最有吸引力的數(shù)據(jù)庫技術(shù)之一。多媒體數(shù)據(jù)信息的數(shù)據(jù)庫管理方法就是要像傳統(tǒng)商業(yè)數(shù)據(jù)的數(shù)據(jù)庫管理方法一樣,以數(shù)據(jù)模型為中心,支持多媒體數(shù)據(jù)間的語義關(guān)聯(lián),相應(yīng)地,把支持這種管理方式的軟件稱為多媒體數(shù)據(jù)庫管理系統(tǒng)(MDBMS)。由于多媒體數(shù)據(jù)庫所處理的對(duì)象比傳統(tǒng)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS) 所處理的對(duì)象要復(fù)雜得多,因此,應(yīng)采取不同的技術(shù)措施,以滿足多媒體信息管理的要求。多媒體數(shù)據(jù)庫中包含的多媒體數(shù)據(jù)有字符、數(shù)字、文本、聲音、圖像(包括視頻、動(dòng)畫)、圖形等主要類型。然而聲音與圖像的媒體形式較多,如聲音可以用音樂數(shù)據(jù):五線譜、簡譜、波表等,也有語音數(shù)據(jù)(波形數(shù)據(jù)),還可以有單聲道數(shù)據(jù)或多聲道數(shù)據(jù)。圖像數(shù)據(jù)就更復(fù)雜了。由于一種媒體格式往往又可以演變成多種,不同的媒體類型需要一些不同的處理方法,這就要求多媒體數(shù)據(jù)庫系統(tǒng)要有一定的可擴(kuò)展性,以支持新的媒體類型和相應(yīng)的處理方法。
多媒體數(shù)據(jù)庫所具有的數(shù)據(jù)量龐大、類型種類多、聯(lián)系復(fù)雜、需要多種媒體的綜合表現(xiàn)和處理等特點(diǎn),使得現(xiàn)有的文件系統(tǒng)和基于字符、數(shù)值型的數(shù)據(jù)庫管理技術(shù)難以滿足對(duì)多媒體數(shù)據(jù)管理的要求,必須研究和探索新的多媒體數(shù)據(jù)管理技術(shù)。
目前,因?qū)Χ嗝襟w數(shù)據(jù)管理的強(qiáng)烈要求,眾多關(guān)系數(shù)據(jù)庫廠商紛紛推出其支持多媒體數(shù)據(jù)管理的數(shù)據(jù)庫產(chǎn)品,一般是采取擴(kuò)展關(guān)系系統(tǒng)的方式來實(shí)現(xiàn)的。其擴(kuò)展體現(xiàn)在數(shù)據(jù)類型、存取方式、開發(fā)工具等層次上,如Borland公司的Paradox for windows 就增加了四種數(shù)據(jù)類型用以管理多媒體數(shù)據(jù),它們是動(dòng)態(tài)注釋(Dynamic memo)、格式注釋(Formatted memo)、圖形(Craph)和二進(jìn)制大對(duì)象(BLOB) 。前兩種用于存儲(chǔ)文本數(shù)據(jù),格式注釋類型還可用于描述文本的字體大小、顏色等屬性,圖形屬性可用于存儲(chǔ)具有標(biāo)準(zhǔn)圖形、圖像格式的圖形圖像文件(如BMP、EPS、GW、TIF及PCX等格式),BLOB 類型可用于存儲(chǔ)任意類型的二進(jìn)制數(shù)據(jù),如可BLOB用存儲(chǔ)音頻和運(yùn)動(dòng)視頻、CAD中的圖形等。Microsoft公司的FoxPro 2.5 for Windows中引入了一個(gè)新的屬性類型General,它可以存放包括文本、圖形、圖像或聲音在內(nèi)的任何一種多媒體數(shù)據(jù)。Informix在Informix-Online中引入了BLOB類型,使之可以把高達(dá)2GB的數(shù)據(jù)存放到該域之中,考慮到系統(tǒng)的效率,專門開設(shè)了BLOB空間區(qū),使之與非BLOB數(shù)據(jù)分開存儲(chǔ)。Sybase、Oracle都在此方面做了一些努力,如Oracle7.0有文本和視頻兩個(gè)服務(wù)器及一個(gè)源程序編輯工具集Media Object。
但是我們也應(yīng)看到,在多媒體信息數(shù)據(jù)檢索、索引等方面,尚有許多有待解決的問題,因此多媒體數(shù)據(jù)庫尚屬于需要進(jìn)一步完善探討的技術(shù),使用現(xiàn)有的多媒體數(shù)據(jù)庫時(shí)必須注意條件和范圍。
4.數(shù)據(jù)倉庫
現(xiàn)代政府機(jī)構(gòu)經(jīng)常面臨各種挑戰(zhàn)和決策,如何最大限度地挖掘各種有用信息,也為計(jì)算機(jī)信息處理技術(shù)提出了新的要求。例如,如何支持?jǐn)?shù)據(jù)集成。政府在發(fā)展過程中建立了許多應(yīng)用系統(tǒng),如公文管理、財(cái)務(wù)管理及人事管理等,積累了大量數(shù)據(jù),并且原有應(yīng)用可能是針對(duì)某個(gè)部門獨(dú)立設(shè)計(jì)的,如何去運(yùn)行新的應(yīng)用,使這些應(yīng)用可以用到已有的數(shù)據(jù);又如,業(yè)務(wù)部門除對(duì)日常業(yè)務(wù)數(shù)據(jù)進(jìn)行增、刪、改等事務(wù)處理和簡單匯總外,決策者往往要綜合利用歷史的和現(xiàn)在的各種數(shù)據(jù)進(jìn)行綜合分析。這些應(yīng)用對(duì)于業(yè)務(wù)處理頻繁的數(shù)據(jù)庫系統(tǒng)而言,將成為沉重的負(fù)擔(dān)。數(shù)據(jù)倉庫面向復(fù)雜的數(shù)據(jù)分析,以支持決策過程,而且可以集成企業(yè)范圍內(nèi)的數(shù)據(jù)。它把支持決策的數(shù)據(jù)進(jìn)行收集、歸納、整理,使企業(yè)的業(yè)務(wù)操作環(huán)境和信息分析環(huán)境分離,從而有效地提供實(shí)時(shí)的信息服務(wù)。數(shù)據(jù)倉庫有這樣幾個(gè)基本特性:
(1)數(shù)據(jù)倉庫是“面向主題的數(shù)據(jù)組織方式”,即對(duì)應(yīng)于某一個(gè)宏觀分析的領(lǐng)域所涉及的分析對(duì)象,可以根據(jù)最終用戶的觀點(diǎn)組織和提供數(shù)據(jù)。
(2)數(shù)據(jù)倉庫是集成數(shù)據(jù)的統(tǒng)一體,即數(shù)據(jù)倉庫的內(nèi)容來自于前幾節(jié)所描述的各種傳統(tǒng)數(shù)據(jù)庫內(nèi)所累積的大量事務(wù)處理數(shù)據(jù)。經(jīng)處理后將不同數(shù)據(jù)庫的數(shù)據(jù)形成了整合的、結(jié)構(gòu)化的、易于導(dǎo)航的數(shù)據(jù),能夠?qū)Q策分析進(jìn)行快速、正確的響應(yīng)。
(3)數(shù)據(jù)倉庫在一定時(shí)間內(nèi)保持穩(wěn)定性。一般事務(wù)性操作的數(shù)據(jù)庫按工作需要經(jīng)常進(jìn)行數(shù)據(jù)增加、刪除、修改的操作,而數(shù)據(jù)倉庫的內(nèi)容主要是大量歷史數(shù)據(jù),是對(duì)不同時(shí)期數(shù)據(jù)資料的綜合、重組、統(tǒng)計(jì)導(dǎo)出的數(shù)據(jù)集合,一般關(guān)注于查詢,僅必要時(shí)更新數(shù)據(jù)。所以數(shù)據(jù)倉庫在一個(gè)較長的時(shí)期內(nèi)要保持?jǐn)?shù)據(jù)穩(wěn)定,對(duì)其操作一般都是數(shù)據(jù)的讀取。
(4)數(shù)據(jù)倉庫比較強(qiáng)調(diào)時(shí)間序列性。數(shù)據(jù)倉庫的內(nèi)容是對(duì)事務(wù)性數(shù)據(jù)庫內(nèi)容的帶有時(shí)間標(biāo)記的整合,以時(shí)間變化的動(dòng)態(tài)過程來發(fā)現(xiàn)和挖掘事物發(fā)展和變化的規(guī)律,使得決策查詢變得更容易、有效。而數(shù)據(jù)倉庫是要建立在現(xiàn)有基礎(chǔ)應(yīng)用數(shù)據(jù)庫內(nèi)大量數(shù)據(jù)積累的基礎(chǔ)之上的,只有搞好基礎(chǔ)信息資源建設(shè),才能為決策服務(wù)提供堅(jiān)實(shí)的信息數(shù)據(jù)依據(jù)。
3 據(jù)庫的工作類型
分布在計(jì)算機(jī)網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)上的計(jì)算機(jī),必須要通過一種數(shù)據(jù)存取的體系結(jié)構(gòu)來獲得信息資源,并通過技術(shù)手段得到維護(hù)和發(fā)展。這對(duì)于信息資源的利用和信息資源的安全很重要。了解信息資源數(shù)據(jù)庫在網(wǎng)絡(luò)中的工作結(jié)構(gòu),正確利用技術(shù)手段也是很必要的。
1.客戶一服務(wù)器型
客戶/服務(wù)器結(jié)構(gòu)包括連接在一個(gè)網(wǎng)絡(luò)中的多臺(tái)計(jì)算機(jī)。那些處理應(yīng)用程序、請(qǐng)求另一計(jì)算機(jī)的服務(wù)的計(jì)算機(jī)稱為客戶機(jī)(Client),而處理數(shù)據(jù)庫的計(jì)算機(jī)稱為服務(wù)器(Server),故客戶/服務(wù)器結(jié)構(gòu)也簡稱C/S結(jié)構(gòu)。其中,所有用戶都擁有自己的計(jì)算機(jī)來裝備和處理應(yīng)用程序。
客戶機(jī)計(jì)算機(jī)可以是大型機(jī)、小型機(jī)或微機(jī)。但是由于微機(jī)具有成本的優(yōu)勢(shì),因而通常選擇它們作為客戶機(jī)。同樣地,服務(wù)器通常是一臺(tái)微機(jī),但在需要較大能力時(shí),也可以使用一臺(tái)大型機(jī)或小型機(jī)。在數(shù)據(jù)庫環(huán)境下,通過若干稱作中間件(Middle Ware)的程序設(shè)計(jì)接口,客戶機(jī)可以與服務(wù)器通信。這些接口提供應(yīng)用程序和數(shù)據(jù)庫之間的連通性。
客戶/服務(wù)器是將處理工作分散到工作站和服務(wù)器上去處理,服務(wù)器不僅負(fù)責(zé)存取數(shù)據(jù),還要對(duì)數(shù)據(jù)做一定的處理,這樣在數(shù)據(jù)發(fā)送給工作站之前即求得查詢結(jié)果集,從而在大部分情況下可大大減少網(wǎng)絡(luò)傳輸?shù)拈_銷,因此,也減輕了工作處理負(fù)擔(dān),從而只需關(guān)心用戶界面的處理工作即可。
服務(wù)器處理數(shù)據(jù)帶來的另一個(gè)好處是,當(dāng)服務(wù)器中數(shù)據(jù)庫引擎使用了緩沖機(jī)制時(shí),多個(gè)工作站可以從中受益。例如,一用戶查詢了某數(shù)據(jù),當(dāng)另一用戶要查詢同樣的數(shù)據(jù)時(shí),即可從服務(wù)器緩沖中直接得到結(jié)果,從而免去很多開銷。
客戶/服務(wù)器系統(tǒng)一般都是由一個(gè)公司開發(fā)的,因此在數(shù)據(jù)安全方面都做得比較好,可以在客戶和服務(wù)器兩端都有較完整的保護(hù)措施。
客戶/服務(wù)器系統(tǒng)的成功與否在很大程度上依賴于服務(wù)器硬件質(zhì)量和容量。用戶越多,服務(wù)器的處理負(fù)擔(dān)越重,相應(yīng)服務(wù)器硬件性能也要跟得上,否則就會(huì)導(dǎo)致響應(yīng)時(shí)間比本地型數(shù)據(jù)庫還要差的結(jié)果。
客戶/服務(wù)器的客戶端程序是要到客戶端逐個(gè)安裝的,當(dāng)信息資源數(shù)據(jù)庫的規(guī)模和分散程度達(dá)到一定范圍時(shí),客戶端的維護(hù)和升級(jí)將變成每一個(gè)網(wǎng)絡(luò)管理員都感到十分頭疼的工作。
2.瀏覽器一服務(wù)器型
這種結(jié)構(gòu)在20世紀(jì)90年代末期開始盛行,隨著因特網(wǎng)瀏覽器功能越來越強(qiáng)大,在許多場(chǎng)合下,瀏覽器可以取代客戶機(jī)/服務(wù)器結(jié)構(gòu)的客戶端軟件。在這種結(jié)構(gòu)下,用戶界面通過ww瀏覽器獲得對(duì)信息數(shù)據(jù)庫的輸入、修改、查詢和數(shù)據(jù)刪除信息,而主要事務(wù)處理邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器/服務(wù)器結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù),實(shí)現(xiàn)原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù),簡稱為B/S結(jié)構(gòu)。
本質(zhì)上,瀏覽器/服務(wù)器也是一種客戶/服務(wù)器結(jié)構(gòu),它是一種由傳統(tǒng)的二層客戶/服務(wù)器結(jié)構(gòu)發(fā)展而來的三層客戶/服務(wù)器結(jié)構(gòu)在Web上應(yīng)用的特例,即瀏覽器/Web數(shù)據(jù)庫服務(wù)器的三級(jí)客戶服務(wù)器結(jié)構(gòu)。三層的瀏覽器/服務(wù)器體系結(jié)構(gòu)是把二層客戶/服務(wù)器結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由單獨(dú)組成的一層來負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力大大減輕了,把負(fù)荷均衡地分配給了服務(wù)器,于是原來的兩層客戶/服務(wù)器結(jié)構(gòu)轉(zhuǎn)變成三層瀏覽器/服務(wù)器結(jié)構(gòu)。
瀏覽器在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務(wù)是由瀏覽器向網(wǎng)絡(luò)上的某一Web服務(wù)器提出服務(wù)請(qǐng)求,Web服務(wù)器對(duì)用戶身份進(jìn)行驗(yàn)證后,用HTTP協(xié)議把所需的主頁傳送給客戶端,客戶機(jī)接受傳來的主頁文件,并把它顯示在Web瀏覽器上。
具有應(yīng)用程序擴(kuò)展功能的Web服務(wù)器,在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于Web服務(wù)器端。它的任務(wù)是接受用戶的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫進(jìn)行連接,通過SQL等方式向數(shù)據(jù)庫服務(wù)器提出數(shù)據(jù)處理申請(qǐng),數(shù)據(jù)庫服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端。
數(shù)據(jù)庫服務(wù)器在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫服務(wù)器端。它的任務(wù)是接受Web服務(wù)器對(duì)數(shù)據(jù)庫操縱的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫查詢、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。
瀏覽器/服務(wù)器結(jié)構(gòu)極大地簡化了客戶機(jī)的工作,客戶機(jī)上只需安裝、配置少量的客戶端軟件即可,服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。
3.分布式服務(wù)器型
分布式服務(wù)器是針對(duì)一些超大型數(shù)據(jù)庫提出的工作方式。某些信息資源的信息量極大,如地理信息系統(tǒng)、全國人口戶籍信息系統(tǒng)等,無法在一個(gè)服務(wù)器的存儲(chǔ)單元中存放,并且也不可能在一地存放,因此必然需要利用分布式數(shù)據(jù)庫來協(xié)同完成。這樣的數(shù)據(jù)庫體系就成為分布式數(shù)據(jù)庫體系。在這個(gè)體系中,工作方式仍然是客戶/服務(wù)器或?yàn)g覽器/服務(wù)器方式,但信息存取和服務(wù)器端的信息管理要比單一服務(wù)器系統(tǒng)復(fù)雜多了。
4 數(shù)據(jù)庫正常運(yùn)行的基本要素
要使數(shù)據(jù)庫正常工作,不僅需要有一套完善的數(shù)據(jù)庫管理系統(tǒng),而且要有一套保證數(shù)據(jù)庫可以經(jīng)常更新和不斷發(fā)展的措施和制度來保障,這樣才能保證數(shù)據(jù)庫始終處于生命的活力區(qū),不出現(xiàn)呆庫、死庫的情況。這些措施包括了信息資源的采集、存儲(chǔ)與檢索、分析與挖掘及信息資源共享幾個(gè)方面。
1.信息資源的采集
數(shù)據(jù)庫的建設(shè),首先要做的工作就是依據(jù)信息源的內(nèi)容類別進(jìn)行采集工作。信息源可分為五類:①自然信息源(自然界)、②社會(huì)信息源( 民間)、③經(jīng)濟(jì)信息源(產(chǎn)業(yè)界)④科技信息源(學(xué)界)、⑤控制信息源(政府各部門)。在信息采集的過程中,信息產(chǎn)生的源頭的信息采集工作,應(yīng)由產(chǎn)生這些信息資源的所在部門的有關(guān)人員完成。政府部門最主要的信息采集方式,是從獲得這些最初信息的部門或個(gè)人收集信息。由于政府要面對(duì)整個(gè)社會(huì)的各個(gè)方面,獲得如此繁多種類的信息,要使其形成信息資源,就必須各部門分別行動(dòng),各負(fù)其責(zé),才可能保證采集到的信息的完整性、一致性、真實(shí)性、連續(xù)性和權(quán)威性。因此,明確信息資源采集部門,明確信息采集目標(biāo)和任務(wù)及采集內(nèi)容,是政務(wù)信息資源庫建設(shè)過程中進(jìn)行信息采集時(shí)所必不可少的一項(xiàng)任務(wù)。否則,各行其是重復(fù)采集,造成信息混亂無法形成政務(wù)信息資源,將是必然的結(jié)果。
2.信息資源的存儲(chǔ)與檢索
信息存儲(chǔ)是有組織的信息的一種表現(xiàn)形式,是一種形成信息資源、使之可被重復(fù)利用的行為。信息存儲(chǔ)必須考慮兩方面的因素:一是存儲(chǔ)介質(zhì)的空間容量問題,無論人的大腦還是紙張、磁盤、檔案館庫房或計(jì)算機(jī)存儲(chǔ)設(shè)備,其容量都是有限的,而信息存儲(chǔ)的根本問題,就是如何通過有效的信息組織,高效率地利用有限的存儲(chǔ)空間;二是存儲(chǔ)信息的利用問題,信息存儲(chǔ)的最終目的是為人們的隨時(shí)利用提供方便,如僅考慮空間的節(jié)約,就可能妨礙人們對(duì)存儲(chǔ)信息的利用。因此在組織信息數(shù)據(jù)庫時(shí),也要考慮大量信息如何存儲(chǔ),如何方便地取用。因此,信息存儲(chǔ)不僅要有存儲(chǔ)空間,而且要有明確的存儲(chǔ)分類規(guī)則,便于按分類進(jìn)行信息資源的組織和管理,保證信息資源可以得到有效的利用。
信息檢索是信息采集和存儲(chǔ)的反變換過程。信息采集和存儲(chǔ)的目的是將零散的信息組成一個(gè)有序的體系,信息檢索的目的則是迅速地從這個(gè)體系中搜尋出用戶所需的信息。信息檢索方法依據(jù)不同標(biāo)準(zhǔn)可劃分為多種類型。對(duì)應(yīng)于信息來源,信息檢索方法可分為事實(shí)(或效據(jù))檢索方法、人名或機(jī)構(gòu)名稱檢索方法、文獻(xiàn)檢索方法和信息資源體系(如檔案館館藏等)檢索方法等。對(duì)應(yīng)于信息組織方法,信息檢索方法可分為字順(如題名、作者等)檢索方法、類號(hào)檢索方法、主題檢索方法、關(guān)鍵詞檢索方法和加權(quán)檢索方法等。由于計(jì)算機(jī)技術(shù)的發(fā)展,在計(jì)算機(jī)網(wǎng)絡(luò)中的信息量變得越來越大,種類也越來越復(fù)雜。要保證檢索得到的不發(fā)生缺漏,需要做好信息存儲(chǔ)時(shí)的組織工作,充分利用網(wǎng)絡(luò)組織發(fā)展出的一系列解決方法,其中包括指導(dǎo)式服務(wù)、資源目錄、服務(wù)器注冊(cè)目錄、網(wǎng)絡(luò)目錄和電子圖書館等信息檢索方法。由于它們都具有更多的技術(shù)含量,是網(wǎng)絡(luò)環(huán)境中查詢信息的“領(lǐng)航員”,可以幫助我們很好地檢索分類信息。
3.信息的分析與挖掘
信息分析是將概念化的用戶信息需求分解為各種簡單要素及其關(guān)系,然后分別進(jìn)行研究,找出其中的主要因素及其關(guān)系,并以此為依據(jù)組織信息資源的方法。信息分析主要包括要素分析、實(shí)質(zhì)分析、結(jié)構(gòu)與功能分析和動(dòng)態(tài)平衡分析等方法。
信息分析也是一種高層次的信息工作,它既不是純粹的學(xué)術(shù)研究活動(dòng),也不是純粹的政務(wù)處理活動(dòng),而是兩者的結(jié)合。形象地說,是政務(wù)信息資源儲(chǔ)藏量的積累發(fā)展到一定的程度,由擁有信息資源的部門所設(shè)計(jì)或引進(jìn)的一種“發(fā)電機(jī)制”,目的是將蘊(yùn)藏在信息資源體系中的“勢(shì)能”轉(zhuǎn)化為“電能”,變輸水為送電;通過信息分析工作可以進(jìn)一步提高已有的信息資源的利用價(jià)值,為政府監(jiān)管、政策制定和社會(huì)導(dǎo)向提供服務(wù)。例如各類專題編研成果就屬于信息分析的一種產(chǎn)品。值得注意的是,專題編研成果等再生型信息產(chǎn)品的生命周期比較短,用戶層次又比較高,需求量也比較小,這就要求信息分析必須注意速度和時(shí)效,及時(shí)地針對(duì)主要工作方向進(jìn)行信息更新,不斷改善信息結(jié)構(gòu),提高信息質(zhì)量,盡可能地預(yù)測(cè)用戶將要產(chǎn)生的新的需求并為之服務(wù)。
數(shù)據(jù)挖掘是從信息資源建設(shè)中建立的大型數(shù)據(jù)庫或數(shù)據(jù)倉庫中提取人們感興趣的知識(shí),這些知識(shí)是事先未知的潛在有用的信息,提取的知識(shí)表示為概念、規(guī)則、規(guī)律、模式等。也可以說,數(shù)據(jù)挖掘過程是在一些事實(shí)或觀察數(shù)據(jù)的集合中尋找模式的決策支持過程。其主要功能有:自動(dòng)預(yù)測(cè)趨勢(shì)和行為、關(guān)聯(lián)分析、聚類、概念描述、偏差檢測(cè)。建立專題性的檔案文獻(xiàn)數(shù)據(jù)庫,就是將數(shù)據(jù)庫中的記錄劃分為一系列有意義的子集,即聚類。