資料庫系統的回顧與未來研究發展

曾守正

Frank S.C. Tseng

元智工學院 資訊管理學系

桃園縣中壢市32026內壢遠東路 135 元智資管系

Email: {imsjtzen,imfrank}@im.yzit.edu.tw

Tel: (03) 463-8800 ~ 606, Fax: (03) 435-2077

http://mis.yzit.edu.tw, http://www.yzit.edu.tw

進年來,由於資訊技術的應用已經深入各行各業,再加上電腦網路的擴散速度驚人,無不令人感受到一股強大的潮流正向我們奔來。由於電腦技術的主要應用仍然脫離不了資料的處理與運算,值此時局我們很想回想一下過去、看看現在,並探討未來對於資料的處理方式與其間的演進過程,俾能鑑往知來,期待再進一步迎向下一階段的挑戰。由於當代的競爭優勢已經取決於資料的掌握、分析,與應用,所以目前國內、外對於所謂的資料工程與知識工程技術方面的研究均投入了大量的研究人力。在本論文中,我們將對於這些研究領域做一番探討與整理,並將資料處理的演進過程分成七個大階段:人工處理、電腦化循序檔案處理、直接檔案處理、以記錄為單元的資料庫處理、以物件為處理單元的資料庫處理、主從式系統與同質性分散式資料庫系統、異質性分散式資料庫系統與行動計算處理等。接著我們將資料庫系統過去、現在與未來與網路結合後的發展與相關研究議題都做了一番剖析,並重點式地將各個研究方向做了整理,希望能有組織地將近年來在資料庫系統方面的研究發展做一完整的回顧與分析、探討,以期提供國內、外的研究人員、學生與相關從業人員幾個可以探索的基本方向。

一、引言

資訊技術的應用已深入各行各業,加上電腦網路的擴散速度驚人、全球資訊網的建立,電腦已儼然成為第大四媒體,讓吾人感受到一股強大的潮流正向我們奔來。其實,電腦技術的主要應用,仍然脫離不了資料的處理與運算,所以值此時局我們很想回想一下過去、看看現在,並探討未來對於資料的處理方式,俾能鑑往知來,再進一步迎向下一階段的挑戰。

當代的競爭優勢已經明顯取決於資料的掌握、分析,與應用。目前在國內、外對於所謂的資料工程與知識工程技術方面的研究,均投入了大量的研究人力。也有研究人員將未來的資訊化社會藍圖與遠景漸進地勾勒出來。我們相信,不管未來在資訊化的企業服務或社會結構上,網路與資料庫的應用將是主要核心,而兩者的結合更成為各種類型的分散式運作環境,因此我們希望有更多的人才能投入這些研究領域當中,也希望更多的使用者能了解此一趨勢,共同參與規劃將來的資訊化社會與環境。

在本論文中,我們將資料處理的演進過程分成七個階段,分別是:人工處理、電腦化循序檔案處理、直接檔案處理、以記錄為單元的資料庫處理、以物件為處理單元的資料庫處理、主從式系統與同質性分散式資料庫系統、異質性分散式資料庫系統與行動計算處理,等階段,並分別簡述之。

接著我們將資料庫系統過去、現在與未來的發展,與相關研究議題都做了一番剖析,並重點式地將各個研究方向做了整理,希望能有組織地將近年來在資料庫系統方面的研究發展,做一完整的回顧與分析、探討,並提出幾個可以研究的未來方向加以說明,以期提供國內、外的研究人員、學生與相關從業人員幾個可以探索的基本方向。

另外,我們並提出資訊系統對社會的影響與各類管理方面的議題,希望研究人員們能在帶動資訊科技成長的同時,也充分考量資訊環境對社會所可能造成的正、負面影響。

二、資料處理的演進過程

由於電腦的幫助,人類在資料處理的做法上有了幾個關鍵性的里程碑,我們將此過程大致分成以下幾個階段來說明。

2.1 第一階段—人工檔案管理

最早期的資料都是透過人工來做檔案管理,將各種資料透過卡片記錄後歸檔。此種方式有許多處理上的限制,例如:搜尋、加總不易;儲存佔掉不少空間;無法同時供多人調閱使用;卡片容易被弄丟、毀損、竊取或拷貝帶出去等。

2.2 第二階段—電腦化循序式檔案系統

電腦發明後,資料的處理便進入了電腦化循序式檔案系統 (Computerized "Sequential" File System),最早是透過紙帶、打卡、磁帶等媒體來記錄資料。雖然改善了前一階段的人力花費,但此種方式基本上仍有許多處理上的限制。

2.3 第三階段—電腦化直接存取式檔案系統

在第三階段中,由於磁碟機的發展快速,而且其存取方式可以用直接存取 (Direct Access) 來達成,所以速度上比起磁帶要快上許多,因此磁碟漸漸地取代了磁帶,成為直接存取式檔案系統 ("Direct Access" File System)

2.4 第四階段—以記錄為處理單元的資料庫系統

雖然直接存取式的檔案系統可以直接存取每一個檔案,改進了不少前幾階段的缺失,但是由於仍然是以「檔案」(Files) 來做為處理的對象,在處理上還是欠缺許多的彈性。

因此,在第四階段中,便有了將「檔案」再次細分,成為一筆一筆的「記錄」(Records)。將所有資料以記錄為單位存放於電腦中,便形成了「集中式資料庫系統」 (Centralized Database Systems),它可透過磁碟來記錄一筆一筆的記錄,並可以直接定位到記錄或欄位 (Fields) 上,並做進一步的資料處理與運算。

此種觀念又歷經了以下幾種不同的資料模式,而有所區別:

  1. 階層式資料模式 (Hierarchical Data Model)
  2. 網路式資料模式 (Network Data Model)
  3. 關聯式資料模式 (Relational Data Model)

2.4.1階層式資料庫系統

以記錄為處理單位,將記錄在概念上以樹狀結構方式組織起來。由於樹狀結構的特性,使得階層式資料模式特別適合用來描述一對多的資料組成關係,但是卻難以描述多對多的關係。

2.4.2 網路式資料庫系統

由於樹狀結構並不能反應記錄之間的網路連結關係,所以在階層式結構之外,也有人提出網路式的組織方式:將記錄在概念上以網路狀結構方式組織起來。不過,不論是階層式結構或網路式結構,記錄之間都是以鏈結方式串連在一起,因此在撰寫應用程式時便必須要牽就鏈結之間的結構狀態,使得撰寫應用程式與資料間的結構方式有很大的依存關係,無法達成資料的獨立性 (Data Independence),造成系統的不易維護。

2.4.3 關聯式資料庫系統

Codd [32] 1970 年提出了「關聯式資料模式」,強調應用程式不應與資料的內部結構有任何的依存關係,也就是所謂的:「資料獨立」(Data Independence) 概念。此一模式使得資料庫系統的研發從此進入新的里程碑。

在關聯式的組織方式下,資料也是以記錄為處理單位,並且將記錄以表格方式組織起來,應用程式所面對的只是表格般的結構,不需了解其內部組織。關於此一階段的各項細節,請參考 [36, 71, 134, 57, 97]

2.5 第五階段—以物件為處理單元的物件導向式資料庫系統

關聯式組織方式還是有一些限制,例如:單純的表格方式無法表示真實世界裡的繼承關係 (Specialization and Generalization) 與組合關係 (Aggregation),等。因此隨著物件導向式程式語言的發展,以物件 (Objects) 來表示資料庫中各項資料的研究也越來越多 [62, 70]

雖然目前所使用的資料庫系統絕大多數仍然是「關聯式資料庫系統」,但是我們終究不能忽視物件導向化的此一趨勢。大致上我們可以發現目前在物件導向資料庫上的發展有以下兩種觀念的產生:

  1. 物件導向式資料庫系統 (Object-Oriented Database Systems)
  2. 物件關聯式資料庫系統 (Object-Relational Database Systems)

2.5.1 物件導向式資料庫系統 (Object-Oriented Database Systems)

此類系統以物件的觀念來代替以往的記錄,兩者的差別在於:物件本身可以是由其它物件層層包覆所組成,物件之間可以有各種縱向繼承與橫向組合的關係,同時物件本身有其特定的運算定義;而記錄本身均無此種特性或概念。

2.5.2 物件關聯式資料庫系統 (Object-Relational Database Systems)

目前已經有人另外提出了「物件關聯式資料庫系統」(Object-Relational Database Systems) 的觀念,例如:UniSQL 的總裁 Won Kim 博士,倡導在以物件導向為發展方向的同時,並不能棄關聯式系統於不顧。因為物件導向式觀念既然能真實反應資料的組織與結構,那麼想必更能適當地包容關聯式的觀念,所以他所發展的 UniSQL/X [137] 系統便以此做為理念,強調由關聯式資料庫進步到物件導向式資料庫不是「革命」(Revolution) 而是「進一步的演進」(Evolution)

此種理念仍然將資料以物件方式 (Objects) 來表示,並運用物件導向的技術來表示資料,另外也保留了許多關聯式資料庫系統的特質。而由於它的包容性,也可能使得此類系統可做為將來在整合不同類型的資料庫系統,以成為 「異質性資料庫系統」(Heterogeneous Database Systems) 時的共同模式 [18, 136]

2.6 第六階段—主從式系統與同質性分散式資料庫系統

2.6.1主從式系統 (Client-Server Systems)

價格低廉又功能不俗的個人電腦與工作站,目前已經可以分攤部份主機的工作,所以也漸漸有人倡導採取「主從式架構」,將以往主機的工作分攤到個人電腦或工作站上處理,於是乎所有提供資料的機器便由一手包辦的「主機」變成了「伺服器」(Servers)。伺服器當然可以各式各樣的型態,可能有:電子郵件伺服器、檔案伺服器、資料庫伺服器,等。

2.6.2 三層式應用系統發展架構

近來由於 World-Wide Web (WWW) 的興起,加上瀏覽器 (Web Browser) 與相關發展工具 (Sunsoft Java Microsoft Active/X) 的功能越來越強,使得應用程式的發展架構漸漸朝向所謂的「三層式發展架構」(Three-Tier Architecture)—分成客戶端 (Client)Web 伺服器 (Web Server),與資料庫伺服器三個層次來發展。其中,資料庫仍然負責儲存應用程式所需的資料,Web 伺服端則是負責 Web Server 與「首頁」(Homepage) 的建立,而客戶端便是利用瀏覽器與伺服端連接,透過「首頁」的呈現方式讓使用者與伺服端和資料庫做雙向溝通,在客戶端可以執行諸如Java或者是各式各樣的 Script 語言—如JavaScript VB Script,等。

此種架構可以說融合了集中式管理與主從式架構的優點,因為:

  1. 所有客戶端只要裝上瀏覽器 (如:Netscape Navigator Mosaic) 便可以使用各種應用程式。而應用程式則變成了首頁 (Homepage) 的型式。
  2. 由於所有的資料均由伺服端集中掌控,所以管理上也比較不會有主從式架構中所引發的缺點。
  3. 各個客戶端可以自由選擇瀏覽器,在資料庫方面,則可以由伺服端透過諸如 ODBCIDAPI 等共通介面,存取不同類型的資料庫。
  4. 以往在主從式架構上的應用程式一旦改版,則所有客戶端均需重新安裝。但是採用此一架構後,我們只要將伺服端的「首頁」更換,所有客戶端便可以使用到應用程式的最新版本,完全不需要重新安裝。

過去在「首頁」與資料庫的溝通上,都是透過 CGI (Common Gateway Interface) 來達成,但是由於 CGI 的效能不彰,且撰寫起來很麻煩,所以目前已經有許多資料庫管理系統的發展廠商,他們宣稱能在首頁中利用 HTML 與相關的介面檔案直接與資料庫連接,使得兩者間的溝通介面可以不再透過 CGI

2.6.3同質性分散式資料庫系統

機關、企業的組織、經營型態已經漸漸跨越省、縣、市,甚至國界,慢慢朝向將資料庫分散到網路上的各個站,以真正反應其組成結構,並加速各資料站的處理速度,與提高資料存取的可靠度。也就是我們所說的「分散式資料庫系統」(Distributed Database Systems) [8, 21, 95]

由於一個企業在規劃各個資料站時,都是以整體組織運作為主要考量,所以各個資料站的綱要結構會有絕大部份的同質性,因此我們也稱此類系統為「同質性分散式資料庫系統」(Homogeneous Distributed Database Systems) [17]

2.7 第七階段—異質性分散式資料庫系統與行動計算

2.7.1 異質性分散式資料庫系統

近年來,在電腦系統與網路環境上漸漸朝向開放式的走向。再加上網際網路的擴充速度驚人,所以如:銀行、電信、圖書,等服務業會漸漸朝向彼此整合得型態來發展,以提高其服務品質與服務對象。

異質性資料庫的發展可以說是目前科技發展的延伸。我們可以回顧一下人類用於溝通、交流的方式,並將它分成以下幾個發展階段:

  1. 第一個階段是連接全世界的電話系統 (Telephone System)
  2. 第二個階段是連接全世界的電腦網路系統 (World-Wide Computer Network System):電腦與通訊之發展一日千里,尤其是網際網路的發展速度更是驚人,只要有一臺個人電腦加上上網路的基本配備便可以暢行無阻,也就是"Network as a Computer" 的概念。目前我們可以說正處在此一階段中。
  3. 第三個階段是連接各地的異質性資料庫系統 (Heterogeneous Database Systems) [1, 59, 60, 63, 121, 127]:在此階段中我們所要做的工作便是在現有的電腦網路上將相關的獨立資料庫做一番整合,使得使用者可以透過整合後的介面查詢到他所要的資訊,不需要管他所要資料應該是由那一個資料庫所提供的。所以對於使用者來說,網路就是一個龐大的資料庫,也就是"Network as a Global Database" 的概念。

例如,我們可以只以圖書資料為目標來整合臺灣地區所有大專院校的圖書館資料庫,形成「全國大專圖書館資料庫系統」以服務社會大眾。如此,在社會大眾的眼光裡已經沒有臺大、交大與元智圖書館的區別了。使用者只要對「全國大專圖書館資料庫系統」做一次查詢便可以知道那裡有他需要的資料。如此,不但使用者可以在此資訊爆炸的時代裡快速地找到所需資料,更由於不必完全掌握各個學校的系統位址與使用方式而省去非常多的繁瑣動作。

要將各個獨立資料庫整合成為一個整體資料庫,並不是一件容易的事,因為所有的獨立系統從基層到上層都可能具有不同程度的「異質性」(Heterogeneity) ,因此我們也稱此類整體資料庫系統為「異質性分散式資料庫系統」 ("Heterogeneous" Distributed Database Systems)

2.7.2 行動計算與資料庫系統之間的關係

由於硬體技術的不斷翻新,除了促成攜帶型電腦與無線電腦通訊的發展以外,另外又引發出了一個令人興奮的研究領域—「行動計算」(Mobile Computing) [39, 107],又稱為「遊牧計算」(Nomadic Computing) [5]

在新一代的電腦作業系統中已經漸漸加入了支援行動計算的各種特性,如Windows 95。在此,我們將要探討的是:行動計算是否會引發更多有關資料庫方面的理論與實務研究課題?有人認為在此一新的研究領域中所引發的問題,事實上與分散式資料庫系統上的問題相仿,只不過其解決方案卻不儘相同。

在行動計算的環境裡,攜帶型電腦具有以下的雙重角色:

  1. 當使用者四處遊走時,它是一個變動的資料站,可透過電話線或經由其它媒介與其它電腦相連。
  2. 當使用者回到辦公室時,它又是直接與主電腦以固定方式相連接的一個固定資料站

但無論是那一種角色,它都是分散式計算環境中的一份子。

我們可以將分散式系統看成是行動計算的一個特殊情況,因為在行動計算的環境組態上,其網路連線是動態變化的。行動計算單元可以隨時隨地連線、斷線。所以,以往對於分散式系統的研究只有部份可以用在行動計算上,尚有很多問題待吾人去努力探索以應付新的挑戰。此一變革將影響各種系統軟體的設計與發展,這些挑戰來自攜帶型電腦在實質上的一些限制。當然資料庫管理系統的未來走向也勢必要配合此種演進。因此,資料庫管理系統會在以下的幾種考量下受到相當程度的影響:

  1. 攜帶型電腦的電力供應有先天上的限制,所以節省電力的考量可能會比節省計算資源 (如:記憶體、CPU 時間) 還重要。
  2. 上述的因素也會造成查詢最佳化處理在考量上,除了要降低網路流量以外,還增加了要降低電池的耗電量。
  3. 可攜型電腦可以時而連線,時而斷線的特性也使得資料庫中的異動管理 (Transaction Management) 模式也要做適當的調整 [42]
  4. 由於攜帶型電腦具有容易遭竊、被破壞、或被他人冒用的不利特性,所以行動計算環境也引出了資料正確性、穩定性與安全性的課題。

同時,行動計算的諸多限制也在資料庫系統中引出了以下的幾種新觀念:

  1. 不要求百分之百合乎現狀的「近似查詢結果」(Approximate Query Answering) [109, 140] 將會漸漸被人所接受,同時也將促成「概略性查詢結果」(Intensional Query Answering) [28, 90] 的研究與普遍應用。

「近似查詢結果」只提供部份不完全的查詢結果,但是在一般的應用上已經足以滿足使用者的需求。例如:使用者要找一家旅館時,他並不需要得到所有合乎需求的旅館資料。而「概略性查詢結果」則提供查詢所需的概念輪廓而已,而不是一筆一筆列出所有的資料。例如:使用者問說:「請問貴公司的員工有那些年資已經超過五年?」,則資料庫系統可以回答:「所有經理級以上的員工,再加上張三、王五兩位員工都超過五年的年資」。此種做法並沒有列出所有的資料,因為使用者並不見得希望看到一堆不認識的名字。此種結果同時也達到節省筆記型電腦電力的目的。

  1. 「與位置相關的查詢」(Location-Dependent Queries) [5, 39]它所指的是同樣的一個查詢指令在不同地點會有不同的查詢結果。例如:你在台北以筆記型電腦與當地主機連線查詢:「請問最貴的旅館為何?」與在台南下同一個查詢所得的結果不會一樣。

三、資料庫系統的過去、現在和未來

綜合上述的說明,我們可以將資料庫系統的計算架構演進用下圖來說明:

在上圖中我們可以看到:目前正由集中式的處理方式朝向分散式與主從式架構的處理發展,將來則會進一步形成整合,朝向異質性資料庫發展,並配合行動計算的處理模式。

四、資料庫系統的研究範疇

資料庫系統的研究,我們認為可以分成細分成:資料模式、使用者介面、資料庫管理系統核心技術、內部的資料儲存結構與存取方法、分散式技術、物件導向技術、從資料中發掘知識 (Data Mining)、資料庫系統的硬體架構,以及架於資料庫系統上的各種輔助系統等,幾個方向來探討。說明如下。

4.1資料模式的研究

要定義一個完整的資料模式 (Data Model),基本上必須要完成下列三項要素的定義:

  1. 資料的表示法資料結構,
  2. 資料表示法上的限制條件整合限制條件,
  3. 資料表示法上的運算。

被提出的資料模式多得不可勝數。在 D.C. Tsichritzis F.H. Lochovsky所合著的書 [129] 中,對各種由關聯式模式所延伸出來的模式有深入的剖析。

4.2使用者介面

在使用者介面方面,有如下的幾個方向可供研究:

  1. 查詢語言的規格訂定 (Specification of Query Language)早期有各式各樣的查詢語言規格被提出來,如:IngresQUEL。隨著 SQL 的被標準化 [35],此類研究通常也都是以 SQL 為主體再做進一步的擴充,在資料庫產品方面,如:Sybase Transact-SQL [88]UniSQL UnSQL/X [137],等。在資料庫的研究方面,如:W. Litwin等人所提出來用於整合異質性資料庫系統的 MSQL (Multi-Database Query Language) [83],以及MSQL與關聯式代數與關聯式計算之間的關係 [52],等。
  2. 親和式使用者介面 (User-Friendly Interfaces)早期有 Zloof 所提出的Query-By-Example [144], 將整個資料庫看成是單一個關聯表的Universal Relation 概念 [132] (J.D. UllmanW. Kent曾經為Universal Relation有過兩回合的精彩 "討論",有興趣的讀者可參考 [66, 67, 132, 133]),當代則流行圖像式的使用者介面 (Graphical User Interface),或以手寫輸入的使用者介面 (OCR-Based Interface)
  3. 「概念式查詢結果」 (Conceptual Query Answering) [90]、「概略式查詢結果」(Intensional Query Answering) [28] 與「近似查詢結果」(Approximate Query Answering) 的研究。

其中,「概念式查詢」所指的是使用者可以用模糊的字眼來查詢資料庫,例如:「請找出公司裡領有高薪的員工。」在這裡高薪便是一個模糊的字眼 (Fuzzy Linguistic Term),此種查詢的處理需要藉助「乏晰理論」(Fuzzy Set Theory) [142, 143]。「近似查詢結果」與「概略性查詢結果」已經在前面討論過了,在此不再贅述。

  1. 自然語言查詢 (Natural Language Querying)使用人類互相溝通的自然語言來對資料庫系統做查詢 [119, 126, 138],不過由於自然語言的剖析 (Parsing) 與處理是一項非常困難的研究,所以此自然語言的範圍也必須要加以限制才行。研究的對象可以是英文、中文或其他語言。
  2. 語音查詢 (Querying by Speech)使用人類的自然語言透過語音處理來對資料庫系統做查詢,不過由於語音處理與自然語言的與處理都是非常困難的研究,所以目前的研究成果仍然非常有限。

4.3資料庫管理系統的核心技術

在資料庫管理系統的核心技術方面,我們將研究方向分成下列幾項來探討:

  1. 查詢處理與查詢的最佳化 (Query Processing and Optimization)通常大部份是針對花費大量時間的「合併運算」(Join Operation) 或「除法運算」 (Divide Operation) [124, 128] 來研究以降低其時間花費。
  2. 異動管理 (Transaction Management)包含並行控制 (Concurrency Control) 與資料的安全回復 (Recovery)
  3. 資料的整合與安全性 (Integrity and Security) 研究如何防止使用者無意或有意的破壞行為。
  4. 邏輯資料庫的設計理論 (Logical Database Design Theory)此類研究通常與所使用的資料模式有很密切的關聯性。例如:在關聯式資料模式中的邏輯資料庫設計便牽涉到關聯表的正規化 (Normalization) 理論。近來B.S. Lee也提出了物件導向式資料庫上的正規化問題與解決之道 [75]
  5. 不確定資料的處理 (Missing Information Handling)此類研究通常是針對不確定資料的語意及其查詢處理做研究。不確定資料有各種不同的型式,依其內容與不確定的程度可以分成「不精確的資料」(Imprecise Data) 或稱「不完整的資料」(Imcomplete Data) [94, 120-123, 127],以及「不確定的資料」(Uncertain Data) [77, 94]

「不精確的資料」所指的是真正的資料屬於某一堆資料中,但我們不知道是那一個或那一些。例如:虛值 (Null Values) [33, 34]、部份值 (Partial Values) [120-123]、總括的分隔資料 (Inclusive Disjunctive Data) [84-86]。其中

「不確定的資料」(Uncertain Data) 所指的是該資料屬於某一堆資料集,而我們只知道資料集裡各個資料元素是正確資料的可能性之程度 (可能是以機率 (Probability)可能率 (Possibility) 或其它型式,如:Certainty Factor來表示)。例如:機率部份值 (Probabilistic Partial Values) [127]、乏晰資料 (Fuzzy Data) [90],等。均是在上述的「不精確的資料」中再賦予代表各類型可能性意義的機率或可能率,再依據「機率理論」、「Dempster-Shafer理論」 [104],或「可能性理論」(Possibility Theory) [142] 來分別加以探討各種運算的結果。

  1. 資料的壓縮與快速索引 (Data Compression and Fast Indexing)針對大量本文資料或影像的壓縮同時還要考慮能快速還原或存取。較有名的有「赫夫曼編碼」(Huffman Encoding) [61],「簽名檔」(Signature File) [44-46, 76],並配合使用搜尋過濾器 (Search Filter) [2, 14, 103],等。
  2. 即時反應的資料庫系統 (Real-Time Database Systems)—重點在於異動的排程與管理上希望做到即時反應,以適合飛機訂位系統、銀行與電腦輔助製造上。O. Ulusoy [135] 已經將最近的研究成果做了一番整理

4.4資料儲存結構與存取方法

儲存結構可以大略分成「搜尋樹狀索引結構」(Search Tree Index Structure) 與「雜湊技巧」(Hashing),樹狀搜尋索引結構的研究如:

  1. 以儲存本文資料為主的結構,如:B-Tree, B+-Tree,
  2. 以儲存影像資料為主的結構,早期所提出來的各種結構如:R-Tree [55], R+-Tree [102], 以及各種類型的Quadtree [101],

雜湊技巧的研究又可分成

另外,為了提昇「部份吻合查詢」(Partial Match Query) [99] 與「正交區間查詢」(Orthogonal Range Query) [25] 此兩種查詢類型的處理速度,通常都會透過資料的相關性,依查詢的平均情況將資料在磁碟中做巧妙的安排,以降低磁碟的存取次數。

針對上述兩種查詢類型,在多重屬性樹狀搜尋索引結構上有如下幾種類型的演進:K-D Tree [9]BD Tree [93]G-K-D Tree [47]Modified K-D Tree [141],與Modified G-K-D Tree [141]

在多重屬性的雜湊存取技巧上又有如下幾種類型的演進:Multi-key HashingString Homorphism Hashing [99]Multi-Dimensional Directory [80]Optimal Cartesian Product File [23],以及Greedy File [31]

4.5分散式技術

在同質性的分散式環境下,另外要額外考慮的因素有下列幾項:

  1. 如何以最佳的方式將資料分散到各個資料站 (Data Distribution, Distributed Database Design)。考慮的方向有:如何對關聯表做水平切割 (Horizontal Partition) 與垂直切割 (Vertical Partition)?如何讓各資料站同時做平行處理 (Maximize Parallelism of Query Execution)?如何在查詢處理上儘量區域化 (Localized) 以減少網路傳輸 (Minimize Inter-Site Traffic) [24]D.A. Bell [7] 曾經證明了此類關聯表的擺放與配置問題 (File Placement and Allocation Problem) 是屬於NP-Complete [48] 的問題,所以一般都是以Heuristic的方法找出近似最佳的解法來解決之,最近也有人嘗試以遺傳演算法 (Genetic Algorithms) 來解決此問題 [74]
  2. 對跨越數個資料站的分散式查詢做最佳化處理 (Optimization of Distributed Queries) [48]
  3. 網路錯誤時的回復 (Recovery From Network Failure)網路發生的原因可能包含:資料站錯誤 (Site Failure)、網路連線錯誤 (Link Failure),以及網路被區隔 (Network Partition)。在分散式環境上要配合「兩段式委任」(Two-Phase Commit) 或「三段式委任」(Three-Phase Commit) 來維持資料的一致性,其中後者是為了改善前者的缺失而被人提出。另外,目前也有各種允許資料不必在任何時刻皆保持一致的觀念被提出,例如:Quasi-Copy 的觀念 [4],還有:Sybase 目前建議使用 Replication Server 而非 Two-Phase Commit 來做分散式的資料處理。
  4. 死結的偵測與處理 (Deadlock Detection and Handling) [22, 41, 65, 92, 108]除了傳統集中式環境下會有系統內部的死結發生以外,在分散式資料庫中可能還會有跨越數個資料站的死結發生。
  5. 效能評估 (Performance Evaluation)透過測試標記 (Benchmark) 評估資料庫系統的效能,目前已經訂出了單一系統內部的效能評估標準如:關聯式查詢測試標記Wisconsin [10, 38] 還有複雜的關聯式查詢測試標記AS3AP [130, 131];異動處理效能評議協會 (Transaction Processing Performance Council,簡稱 TPC) 所訂定的TPC-A [114]、區域網路下的效能評估測試標記 TPC-B [115]、跨越網路的效能評估測試標記 TPC-C [116],另外還有TPC-D (Decision Support) [117]TPC-E (Enterprise-Wide) TPC-CS (Client/Server)。其中 TPC-A TPC-B 的測試模式是針對單一異動來線上異動處理 (On-Line Transaction Processing, 簡稱 OLTP) 測試,比較沒有辦法測出系統對各項資源的充分利用程度;而 TPC-C則是目前專門用來模擬複雜的實際連線做線上異動處理的測試模式。詳細內容可參考 [53]

另外,也有專門針對物件導向資料庫系統的測試標記被提出來,如:OO1測試標記 [20]HyperModel測試標記 (The HyperModel Benchmark) [6],與OO7測試標記 (The OO7 Benchmark) [19]

  1. 行動計算 (Mobile Computing) 所引發出來的問題,請參考前面的討論。

在異質性的分散式環境下,另外要額外考慮的因素則有下列幾項:

  1. 分散式環境下的整合架構 (Integration Architecture)目前被提出來的有聯邦式的整合方式 (Federated Integration) [59, 60] 與整體式的整合方式 (Global Integration) [89]。其中以聯邦式的整合方式被認為較可行。
  2. 解決不同資料庫在綱要上的各種命名 (Naming Conflicts)、資料型態 (Representation Conflicts) [69]、綱要結構上的差異 (Structural Difference) [27, 73] 或各式各樣的語意衝突 (Semantic Discrepancies) [69, 121]
  3. 高等異動模式 (Advanced Transaction Model)為了應付電腦輔助軟體發展工具 (CASE Tools) 與物件導向式資料庫上所可能引發的巢狀異動 (Nested Transactions)、或長期異動 (Long Transactions),傳統的異動模式須要加以修正或改進,以符合需求。 目前被提出來的高等異動模式有:Cooperative Transaction Model, Open Nested Transaction Model, Multilevel Transaction Model, Saga, Polytransactions, [42]
  4. 跨越多個不同資料庫系統的查詢最佳化處理。
  5. 網路錯誤時的回復 (Recovery From Network Failure)其發生原因與同質性分散式環境是一樣的,但是由於異質性分散式資料庫上的各資料站都有充分的自主性,所以其解決方案不一樣。
  6. 死結的偵測與處理 (Deadlock Detection and Handling)其發生原因與同質性分散式環境是一樣的,但是由於異質性分散式資料庫上的各資料站都有充分的自主性,所以解決方案是不一樣的 [79, 139]

關於分散式資料庫系統方面的書籍與專論方面,可參考 [8, 18, 21, 70, 95]

4.6物件導向技術

各種關於物件導向方面的相關研究 [70],如:

  1. 物件導向式分析與設計,
  2. 物件導向式資料庫綱要設計,
  3. 物件導向式資料模式上的問題探討。

在物件導向分析與設計的方法論中,目前較有名的有:Grady Booch的物件導向式分析設計方法論 [15, 16]James Rumbaugh等所倡導的物件模型技術OMT (Object Modeling Technique) [98],以及Ivar Jacobson的使用個案方法論 (Use Case Driven Approach) [64]。據悉 Grady BoochJame Rumbaugh等人有意要合作將物件導向的方法論統合,且讓我們拭目以待。目前在市面上有許多的電腦輔助軟體工程 (Computer Aided Software Engineering) 發展工具,俗稱 CASE Tools 可以用來支援物件導向論的設計與分析。

當然,如果資料庫系統是採用物件導向模式來發展時,則其使用者介面、系統內部的核心技術,或者是分散式上的處理、整合與管理,也都會與關聯式資料模式有所不同,所以本節中所提到的各種問題在物件導向式資料庫系統裡也都需要重新經過一番深入的研究。

4.7從資料中發掘知識

從資料庫中發掘資訊或知識 (Data MiningKnowledge Discovery),目前已經被許多研究人員視為結合資料庫系統與機器學習技術的一個很重要的研究領域 [3, 72],許多業界人士也咸認為此領域將是一項增加各企業潛能的重要指標。目前在資料庫與知識庫、人工智慧、機器學習、統計學,等方面的研究人員都已表現了十分高度的興趣要投入此一研究方向,以便促使將來的許多服務性應用,如:World-Wide Web得以利用此一技術更了解使用者的行為模式、改善服務品質,並增進與活絡商機。

基本上,此一研究方向是希望以人類的決策能力,與電腦系統的大量資料處理能力相互共生共榮,使人與機器互相補足彼此之間的不足。其主要目的並非要將知識或推理能力轉移到電腦系統中,而是要利用人與系統溝通的過程來增強與放大人類的知識與決策。

4.8資料庫系統的硬體架構

在硬體架構上與資料庫系統有關的部份有如下幾點:

  1. 在磁碟的效能增進方面,除了加大儲存容量以外,存取速度也是非常的重要。如果上述兩項都要滿足的話,那麼解決方案便是使用磁碟陣列 (Disk Array),將許多個磁碟串聯起來,並將同一筆資料分別放置在不同的磁碟上,並以平行存取方式來提高效率。但是增加磁碟數量也將使得磁碟的損壞機率也增加了,所以磁碟陣列上的錯誤容忍處理 (Fault-Tolerance) 必須要加以增強。RAID (Redundant Array of Inexpensive Disk) 技術即是在增快速度的同時還多儲存了一些額外的資料,可以具備容錯的能力。RAID 的技術可以分成 0, 1, 2, 3, 4, 5, 6 等七個等級。不過,常用的 RAID 技術是採用 RAID 0, 1, 3, 5 此四個等級。
    1. 主記憶體資料庫系統 (Main Memory Database Systems) [40, 53]此類系統的出現主要是因為主記憶體的硬體技術越來越進步,足以在價格上與容量上提供大量的資料儲存,因此有人便提出將整個資料庫由磁碟機中移至主記憶體中來處理,以加快其處理速度,俟處理完後在存回磁碟機中的觀念。要注意的是由於主記憶體內的資料在電源消失後會消失無蹤,所以其錯誤回復處理必須要非常強固,方能防止資料的遺失。
    2. 硬體資料庫機器 (Database Machine):以硬體來做資料庫中的合併運算 (Join Operations) 或其他耗費時間的運算,加速執行效率。Stanley Y.W. Su曾撰寫了一本與本議題有關的書 [111],有興趣的讀者不妨參考之。
    3. 平行計算的資料庫伺服器 (Parallel Data Servers):以平行計算的硬體架構來做資料庫中的合併運算 (Join Operations) 或其他耗費時間的運算,加速執行效率。
    4. 大量平行計算 (Massively Parallel Computing):以大量的平行計算硬體架構來做資料庫中的合併運算 (Join Operations) 或其他耗費時間的運算,加速執行效率。通常是將數萬個處理單元連在一起做運算,但是將運算拆解後平均放入各個處理單元的演算法乃其主要關鍵。

4.9架於資料庫系統上的各種輔助系統

依所處理之資料的型態與對象可以再分出:

  1. 主動式資料庫系統 (Active Database Systems) [37]:一般的資料庫系統是被動式的 (Passive),也就是說:除非使用者下達命令,否則它是不會主動幫我們做任何事的。但是主動式資料庫系統則不一樣,經由使用者的設定後,它會主動完成某些工作,或是提出警告以防止意外情況發生。例如:我們可以在主動式資料庫系統中設定:在工廠的原料庫存量低於 10 % 時提出警告,或主動透過網路向原料供應商下訂單。
  2. 時間資料庫系統 (Temporal Database Systems) 或稱歷史資料庫系統 (Historical Database Systems):在此類資料庫系統中,資料異動的時間點、內容,等資料會完全被記錄下來,形成另一版的資料。它不像一般的資料庫系統,一旦資料更新後,舊有的資料將消失無蹤,因此每次查詢的對象都是針對「目前的狀態」,而無法查詢「以前的狀態」。而時間資料庫系統的查詢則可以比一般的資料庫系統多一個時間維度 (Dimension)。在 [110] 中,R. Snodgrass 對此類系統的許多相關的研究做了一番整理。
  3. 空間資料庫系統 (Spatial Database Systems) 或稱影像資料庫系統 (Image Database Systems) [58, 112]:在此類型資料庫系統中,我們可以儲存地圖資料,並對於空間中的物體查詢其相對位置、距離,或地圖上某個城市的人口數與預算,等資料。H. Samet所撰寫的書 [101] 是這方面很好的入門書籍。
  4. 地理資訊系統 (Geographical Information Systems, GIS):與上述的空間資料庫系統類似,不過一般所指的地理資訊系統可能會著重在地勢的高低、經緯度,或其它相關地質資訊的處理。如:國土資訊系統的建立,等。
  5. 知識庫系統 (Knowledge-Based Systems, KBS):在此系統下,將知識規則存成知識庫後,我們可以經由這些知識到資料庫中導出某些知識出來。J.D. Ullman 在所著之 [134] 中對知識庫系統有深入的解說。
  6. 決策支援系統 (Decision Support Systems, DSS):此類系統可以對資料庫中的資料做某些分析後,建立綜合資料庫,並運用決策理論、作業研究、財務分析與系統模擬,等其他管理科學工具,針對某決策問題建立處理模式後,提出所有或部份可行的替代方案,以幫助決策的主管做參考。E.G. Mallach所著之 [87] 是一本很好的入門書籍。
  7. 主管查詢系統 (Executive Information Systems, EIS):在資訊系統的演進過程中,由於資訊系統本身的不適用性等原因,例如:管理資訊系統所呈現的報表資訊無法滿足高階主管的需求、決策支援系統所使用的交談方式對高階主管而言,在使用上不易學習、系統使用上的不方便、親和性不夠,等因素。大部份資訊系統的發展僅能針對中、低階層的管理者提供支援,無法對高階主管的決策過程有實質幫助。於是乎有了主管查詢系統 EIS 的觀念出現,目的便是要提供高階主管一個更容易使用,而且可以看到整個整體概觀與年度統計資訊的資訊服務。
  8. 專家系統 (Expert Systems):此類系統與上述的知識庫系統很類似,通常是將某個專業領域的專家知識化成規則後存成知識庫,並以邏輯推論的方式將該應用領域的問題予以推理,使用者則可以透過系統所提供的介面做交談式的查詢,並藉由系統中的專家知識達成幫助其個人所需的目的。通常應用在法律、醫療,等專業領域。J. Giarratano G. Riley 所合著之 [49] 是一本很好的入門書籍。

事實上,上述的幾種系統可以互相結合,或者透過網路做彼此間的交互運作 (Interoperability),以形成更完整的資訊系統。

4.10資訊保密與安全性方面的議題

資訊的保密與安全性維護無庸置疑是最重要的,不過此研究領域可以說相當獨立,不見得是專屬於資料庫系統方面,但是其應用卻是遍及各式各樣的系統及運作環境。

五、管理方面的議題

資料庫系統的使用對於當代的人們與社會顯然已經造成了很大的衝擊與影響,所以此一現象對於社會的影響、社會結構的改變、企業的內部調適與改造,等都是很好的研究題材。尤其最重要的乃是要將資料庫與資訊系統科技與經營策略、企業內部的作業方式,以及人員組織結合,透過資訊相關科技的協助重新思考經營方式、改善或改造作業流程,並賦予員工最新的技能與職責。更重要的是要透過組織變革、知識累積與移轉,以及技術的融合,將人力資源與資訊系統的技術充分結合,以便做最有效的運用。其中:

  1. 組織的變革最重要的是「人」的因素,而非「制度」,因此如何將再造過程中的各種阻力減到最低、甚至於化解,以順利導入高效能的管理模式乃是其中的首要重點。
  2. 知識的累積與移轉乃是為了因應組織變革的需要,因此其重點在於如何輔導員工,將最新的觀念或技術,以專業的訓練加以落實,讓所有員工得以隨著企業一同成長。
  3. 技術的融合之重點則在於如何、以及採用何種最適合該企業的新技術,讓既有系統中能完整而有效的吸收,以配合企業與人員的共同成長。

另外,由於各機構對於異質性分散式資料庫的整合立場,可能是一種又愛又恨之間的掙扎,因為整合後雖然可以提供更多的資源共享途徑、提升形象與服務品質;但是由另一方面來說,也會造成公司內部資料的外漏。某些在公司內部可能被認為是無關緊要的資料,一但開放出去後卻可能使同業如獲至寶,甚至於可能是用來打擊本公司的工具。不過我們認為:企業間的單打獨鬥模式已經不符時代的潮流,合作互利、共創雙贏局面才是所有企業共同的利基,這將使得跨企業間的資料庫系統整合是一種未來趨勢,終究無法抵擋,如何提早規劃因應對策方是首要之務。

將來在行動計算環境的加入後,問題將更形複雜。所以,在參與異質性整合的同時,如何在整合後所得之利基與妨礙公司發展兩者間的衝突點上取得平衡,也是值得吾人所深思與探討的課題。在此期盼有更多的研究人員能投入這些應用領域,共同提昇國內的研究水準與產業之升級。

參考資料:

  1. ACM Computing Surveys, A Special Issue on Heterogeneous Database, Vol.22, No. 3, Sep. 1990.
  2. H. Aghili and D.G. Severance, "A Practical Guide to the Design of Differential Files for Recovery of On-Line Databases," ACM Trans. on Database Systems, Vol. 7, No. 4, 1982, pp. 540-565.
  3. R. Agrawal, T. Imielinski, and A. Swami, "Database Mining: A Performance Perspective," IEEE Trans. on Knowledge and Data Eng., Vol. 5, No. 6, 1993, pp. 914-925.
  4. R. Alonso, D. Barbara, and H. Garcia-Molina, "Data Caching Issues in an Information System," ACM Trans. on Database Systems, Vol. 15, No. 3, 1990, pp.359-384.
  5. R. Alonso and H. Korth, "Database Systems Issues in Nomadic Computing", Proc. ACM-SIGMOD Int'l Conf. On Management of Data, 1993, pp. 388-392.
  6. T. Anderson et. al., "The HyperModel Benchmark," Lecture Notes in Computer Science: Advances in Database TechnologyProc. EDBT'90, 1990.
  7. D.A. Bell, "Difficult Data Placement Problems," The Computer Journal, Vol. 27, No. 4, 1984, pp. 315-320.
  8. D. Bell and J. Grimson, "Distributed Database Systems", Addison-Wesley (1992).
  9. J.L. Bently, "Multidimensional Binary Search Tree in Database Applications," IEEE Trans. Software Engineering, Vol. SE-5, No. 4, 1979, pp. 333-340.
  10. D. Bitton, et. al., "Benchmarking Database SystemsA Systematic Approach," Proc. the 9th Int'l Conf. on Very Large Data Bases, 1983, pp. 8-19.
  11. D. Bitton and C. Turbyfill, "Design and Analysis of Multiuser Benchmarks for Database System," Proc. of the HICSS-18 Conf., 1985.
  12. D. Bitton and C. Turbyfill, "A Retrospective on the Wisconsin Benchmark," appears in Readings in Database Systems, Ed. By M. Stonebraker, Morgan Kaufmann, Inc., 1988.
  13. D. Bitton and D.J. DeWitt, "A Methodology for Database System Performance Evaluation," ACM SIGMODInt'l Conf. on Mgmt of Data, 1984, pp. 176-185.
  14. B.H. Bloom, "Space/Time Trade-Offs in Hash Coding with Allowable Errors," Comm. of the ACM, Vol. 13, No. 7, 1970, pp. 422-426.
  15. G. Booch, "Object-Oriented Analysis and Design with Applicaitons", Benjamin/Cummings Publishing Company, Inc., 1994.
  16. G. Booch, "Object Solutions: Managing the Object-Oriented Project", Benjamin/Cummings Publishing Company, Inc., 1996.
  17. M.W. Bright, A.R. Hurson, and S.H. Pakzad, "A Taxonomy and Current Issues in Multidatabase Systems", IEEE Computer, Vol. 25, No. 3, 1992, pp. 50-59.
  18. Edited by O.A. Bukhres and A.K. Elmagarmid, "Object-Oriented Multidatabase Systems A Solutions for Advanced Applications," Prentice-Hall (1996)
  19. M.J. Carey, D.J. DeWitt, and J.F. Naughton, "The OO7 Benchmark," ACM-SIGMODInt'l Conf. on Management of Data, 1993, pp. 12-21.
  20. R. Cattell and J. Skeen, "Object Operations Benchmark," ACM Trans. on Database Systems, Vol. 17, No. 1, 1992.
  21. Stefano Ceri and Giuzeppe Pelagatti, "Distributed Databases: Principles and Systems", McGraw Hill Book Company (1989).
  22. K.M. Chandy, J. Misra, and L.M. Hass, "Distribuded Deadlock Detections," ACM Trans. on Computer Systems, Vol. 1, No. 2, 1983, pp. 144-156.
  23. C.C. Chang, et. al., "Some Properties of Cartesian Product Files," Proc. ACM-SIGMODInt'l Conf. on Management of Data, 1980, pp. 157-168.
  24. A.L.P. Chen, "A Localized Approach to Distributed Query Processing," Proc. Extending Database TechnologyEDBT'90, pp. 188-202.
  25. C.Y. Chen, et. al., "Optimal MMI File Systems for Orthogonal Range Retrieval," Inform. Sys., Vol. 18, No. 1, 1993, pp.37-54.
  26. P.P.S. Chen, "The Entity-Relationship ModelToward a Unified View of Data, " ACM Trans. on Database Systems, Vol. 1, No. 1, March, 1976.
  27. J.J. Chiang, F.S.C. Tseng, and W.P. Yang, Integrating Different Structural Relations in Multidatabase Systems, Proc. National Computer Symposium (NCS'93), Taiwan (1993) pp.743-750.
  28. W.W. Chiu, et. al., "Using Type Inference and Induced Rules to Provide Intensional Answers", Proc. IEEE Int'l Conf. on Data Eng., 1991, pp.396-403.
  29. A.Y.H. Chou, C.C. Chang, and W.P. Yang, "Optimal Two-Attribute Cartesian Product Files for Orthogonal Range Queries," Journal of Infor. Sci. and Eng., Vol. 35, 1992, pp. 403-408.
  30. A.Y.H. Chou, C.C. Chang, and W.P. Yang, "Some Properties of Optimal Cartesian Product Files for Orthogonal Range Queries," Inform. Sci., to appear.
  31. A.Y.H. Chou, et. al., "Greedy FileA New Data Organization Concept for Partial Match Retrieval," The Computer Journal, Vol. 35, 1992, pp. 403-408.
  32. E.F. Codd, "A Relational Model of Data for Large Shared Data Banks," Communications of the ACM, Vol. 13, No. 6, June, 1970.
  33. E.F. Codd, "Missing Information (Applicable and Inapplicable) in Relational Databases," ACM SIGMOD Record, Vol. 15, No. 4, 1987, pp. 53-78.
  34. E.F. Codd, "More Commentary on Missing Information in Relational Databases (Applicable and Inapplicable Information), ACM SIGMOD Record, Vol. 16, No. 1, 1987, pp. 42-50.
  35. C.J. Date, "A Guide to the SQL Standard," Second Ed. Addison-Wesley, 1989.
  36. C.J. Date, "An Introduction to Database Systems," Addison-Wesley, 1995.
  37. U. Dayal, "Active Database Management Systems," Proc. Third Int'l Conf. on Data and Knowledge BasesImproving Usability and Responsiveness, Jerusalem, June, 1988.
  38. D.J. DeWitt, "The Wisconsin Benchmark: Past, Present, and Future," appears in The Benchmark Handbook for Database and Transaction Processing Systems, Ed. By Jim Gray, Morgan Kaufmann, Inc., 1993, pp. 269-316.
  39. M.H. Dunham and A. Helal, "Mobile Computing and Databases: Anything New?", ACM SIGMOD Record, Vol. 24, No. 4, 1995, pp.5-9.
  40. M.H. Eich, "Main Memory Database Research Directions," Proc. of the 1989 Int'l Workshop on Database Machine, Deauville, France, 1989.
  41. A.K. Elmagarmid, "A Survey of Distributed Deadlock Detection Algorithms," ACM SIGMOD Record, Vol. 15, No. 3, 1986, pp. 37-45.
  42. Edited by A.K. Elmagarmid, "Database Transaction Models for Advanced Applications", Morgan Kaufmann Publishers, Inc. 1992.
  43. R. Fagin, et. al., "Extendible-HashingA Fast Access Method for Dynamic Files," ACM Trans. Database Systems, Vol. 4, No. 3, 1979.
  44. C. Faloutsos and S. Christodoulakis, "Signature Files: An Access Method for Documents and its analytical Performance Evaluation," ACM Trans. on Office Infor. Systems, Vol. 2, No. 4, 1984, pp. 267-288.
  45. C. Faloutsos, "Access Methods for Text," ACM Computing Surveys, Vol. 17, No. 1, 1985, pp. 49-74.
  46. C. Faloutsos and S. Christodoulakis, "Description and Performance Analysis of Signature File Methods for Office Filing," ACM Trans. on Office Infor. Systems, Vol. 5, No. 3, 1987, pp. 235-257.
  47. S. Fushimi, et. al., "Algorithm and Performance Evaluation of Adaptive Multi-dimensional Clustering Technique," Proc. ACM-SIGMODInt'l Conf. On Management of Data,1985, pp. 308-318.
  48. M.R. Gary and D.S. Johnson, "Computers and Intractability: A Guide to the Theory of NP-Completeness," Freeman Publishing Co., 1979.
  49. J. Giarratano and G. Riley, "Expert Systems: Principles and Programming", PWS Publishing company, 1994.
  50. G. Graefe, "Query Evaluation Techniques for Large Databases," ACM Computing Surveys, Vol. 25, No. 2, 1993, pp. 73-170.
  51. J. Grant, "Partial Values in a Tabular Database Model", Infor. Processing Letters, Vol. 9, No. 2, (1979), pp.97-99.
  52. J. Grant, et. al., "Query Languages for Relational Multidatabases," The VLDB Journal, Vol. 2, No. 2, 1993, pp.153-171.
  53. J.N. Gray Ed., "The Benchmark Handbook for Database and Transaction Processing Systems," Morgan-Kaufmann, Inc. 1993.
  54. L. Gruenwald and S. Liu, "Main Memory Database System", ACM SIGMOD Record, Vol. 22, No. 4, 1993, pp. 38-44.
  55. A. Guttman, "R-Trees: A Dynamic Index Structure for Spatial Searching," Proc. ACM SIGMODInt'l Conf. Management of Data, 1984, pp. 47-57.
  56. M.M. Hammer and D.J. McLeod, "The Semantic Data Model: A Modelling Mechanism for Database Applications," Proc. ACM-SIGMODInt'l Conf. on Management of Data, May/June, 1978.
  57. G.W. Hansen and J.V. Hansen, "Database Management and Design," 2nd Ed., Prentice-Hall Int'l, Inc. 1996.
  58. C.F. Herot, "Spatial Management of Data," ACM Trans. on Database Systems, Vol. 5, No. 3, 1980, pp. 493-514.
  59. D. Hsiao, "Tutorial on Federated Databases and Systems (Part 1)," The VLDB Journal, Vol.1, No. 1, 1992, pp. 127-179.
  60. D. Hsiao, "Tutorial on Federated Databases and Systems (Part 2)," The VLDB Journal, Vol.1, No. 2, 1992
  61. D.A. Huffman, "A Method for the Construction of Minimum Redundancy Codes," Proc. IRE, Vol. 40, No. 9, 1952, pp. 1098-1101.
  62. A.R. Hurson and S.H. Pakzad, "Object-Oriented Database Management Systems: Evolution and Performance Issues," IEEE Computer, Vol. 26, No. 2, February (1993), pp.48-58.
  63. IEEE Computer, A Special Issue on Heterogeneous Distributed Database Systems, Vol. 24, No. 12, Dec., 1991.
  64. Ivar Jacobson, "Object-Oriented Software Engineering, A Use Case Driven Approach," Addison-Wesley, 1992.
  65. E. Knapp, "Deadlock Detection in Distributed Databases," ACM Computing Survey, Vol.19, No. 4, 1987, pp. 303-328.
  66. W. Kent, "Consequences of Assuming a Universal Relation." ACM Trans. on Database Systems, Vol. 6, No. 4, 1981.
  67. W. Kent, "The Universal Relation Revisited," ACM Trans. on Databases Systems, Vol. 8, No. 4, 1983.
  68. E.H. Khan, M. Al-A'ali, and M.R. Girgis, "Object-Oriented Programming for Procedural Programmers," IEEE Computer, Vol. 28, No. 10, 1995, pp.48-57.
  69. W. Kim and J. Seo, "Classifying Schematic and Data Heterogeneity in Multidatabase Systems," IEEE Computer, Vol. 24, No. 12, 1991, 12-18.
  70. W. Kim, "Modern Database Systems: The Object Model, Interoperability and Beyond, Addison-Wesley (1995).
  71. H.F. Korth and A. Silberschatz, "Database System Concepts", 2nd Ed. McGraw-Hill Inc. (1991).
  72. R. Krishnamurthy and T. Imielinski, "Research Directions in Knowledge Discovery," ACM SIGMOD Record, Vol. 20, No. 3, 1991, pp. 76-78.
  73. R. Krishnamurthy , W. Litwin, and W. Kent, "Language Features for Interoperabilityof Databases with Schematic Discrepancies", Proc. ACM SIGMODInt'l Conf. Management of Data, 1991, pp. 40-49.
  74. A. Kumar, et. al., "Genetic Algorithm Based Approach for File Allocation on Distribution Systems," Computers Ops. Res., Vol. 22, No. 1, 1995, pp. 41-54.
  75. B.S. Lee, "Normalization in OODB Design," ACM SIGMOD Record, Vol. 24, No. 3, September, 1995.
  76. D.L. Lee and C. Leng, "Partitioned Signature Files: Design Issues and Performance Evaluation," ACM Trans. on Office Infor. Systems, Vol. 17, No. 2, 1989, pp. 158-180.
  77. S.K. Lee, "Imprecise and Uncertain Information in Databases: An Evidential Approach", Proc. 8th IEEE Int'l Conf. on Data Eng., 1992, pp.614-621.
  78. S.T. Leutenegger and D. Dias, "A Modeling Study of the TPC-C Benchmark," ACM-SIGMODInt'l Conf. on Management of Data, 1993, pp. 22-31.
  79. W.C. Liao (廖婉君), "Deadlock Detection in Multidatabase Systems," Master Thesis, National Chiao Tung University, 1992.
  80. J.H. Liou and S.B. Yao, "Multi-Dimensional Clustering for Database Organizations," Infor. Systems, Vol. 2, 1977, pp. 187-198.
  81. W. Litwin, "Virtual Hashing: A Dynamically Changing Hashing," Proc. 4th Int'l Conf. on Very Large Data Bases, 1978.
  82. W. Litwin, "Linear Hashing: A New Tool for File and Table Addressing," Proc. 6th Int'l Conf. on Very Large Data Bases, 1980.
  83. W. Litwin, A. Abdellatif, A. Zeroual, B. Nicolas, and Ph. Vigier, "MSQL: A Multidatabase Language," Infor. Sciences, Vol. 49, 1989, pp. 59-101.
  84. K.-C. Liu and R. Sunderraman, "On Representing Indefinite and Maybe Information in Relational Databases," Proc. 4th IEEE Int'l Conf. on Data Eng., 1988, pp. 250-257.
  85. K.-C. Liu and R. Sunderraman, "Indefinite and Maybe Information in Relational Databases," ACM Trans. on Database Systems, Vol. 15, No. 1, 1990, pp. 1-39.
  86. K.-C. Liu and R. Sunderraman, "A Generalized Relational Model for Indefinite and Maybe Information," IEEE Trans. on Knowledge and Data Eng., Vol. 3, No. 1, 1991, pp. 65-77.
  87. E.G. Mallach, "Understanding Decision Support Systems and Expert Systems", RICHARD D. IRWIN, Inc. 1994.
  88. D. McGoveran and C.J. Date, "A Guide to SYBASE and SQL Server", Addison-Wesley, 1992.
  89. A. Motro, "Superviews: Virtual Integration of Multiple Databases," IEEE Trans. on Software Eng., Vol. 13, No. 7, 1987, 785-798.
  90. A. Motro, "VAGUE: A User Interface to Relational Databases that Permits Vague Queries," ACM Trans. on Office Infor. Systems, Vol. 6, No. 3, 1988, pp. 187-214.
  91. A. Motro, "Using Integrity Constraints to Provide Intensional Answers to Relational Queries", Proc. Very Large Data Bases, 1989, pp.237-246.
  92. R. Obermarck, "Deadlock Detection for All Resource Classes," ACM Trans. on Database Systems, Vol. 7, No. 2, 1982, pp. 187-208.
  93. Y. Ohsawa and M. Sakauchi, "The BD TreeA New N-Dimensional Data Structure with Highly Efficient Dynamic Characteristics," Proc. IFIP Conf., Paris, 1983, pp. 539-544.
  94. A. Ola and G. Ozsoyoglu, "A Family of Incomplete Relational Database Models," Proc. Very Large Data Bases, 1989, pp.23-31.
  95. M.T. Ozsu and P. Valduriez, "Principles of Distributed Database Systems," Prentice-Hall Int'l Book Company, 1991.
  96. J.E. Perry and H.D. Levin, "An Introduction to Object-Oriented Design in C++", Addison-Wesley, 1996.
  97. P.J. Pratt and J.J. Adamski, "Database Systems Management and Design," 3rd Edition, Boyd & Fraser Publishing Company, Danvers, MA, 1994.
  98. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, "Object-Oriented Modeling and Design", Prentice-Hall, Inc., 1991.
  99. R.L. Rivest, "Partial-Match Retrieval Algorithms," SIAM Journal of Computing, Vol., 14, No. 1, 1976, pp. 19-50.
  100. J.T. Robinson, "The K-D-B Tree: A Search Structure for Large Multi-Dimensional Dynamic Indexes," Proc. ACM-SIGMODInt'l Conf. on Management of Data, 1981, pp. 10-18.
  101. H. Samet, The Design and Analysis of Spatial Data Structures, Addision-Wesley, Inc., 1990.
  102. T. Sellis, et. al., "The R+-Tree: A Dynamic for Multi-Dimensional Objects," Computer Sci. TR-1795, Univ. of Maryland, College Park, MD, February 1987.
  103. D.G. Severance and G.M. Lohman, "Differential Files: Their Applications to the Maintenance of Large Databases," ACM Trans. on Database Systems, Vol. 1, No. 3, 1976, pp. 256-267.
  104. G. Shafer, "A Mathematical Theory of Evidence," Princeton Univ. Press, 1976.
  105. A.P. Sheth and T.A. Larson, "Federated Database Systems for Managing Distributed Heterogeneous and Autonomous Databases," ACM Computing Surveys, Vol. 22, No. 3, 1990, pp. 183-236.
  106. D. Shipman, "The Functional Data Model and the Data Language DAPLEX," ACM Trans. on Database Systems, Vol. 6, No. 1, March, 1981.
  107. SIGMOD RECORD, Vol. 24, No. 4, 1995, Special Section on Data Management Issues in Mobile Computing.
  108. M. Singhal, "Deadlock Detection in Distributed Systems," IEEE Computer, Vol. 22, No. 1, 1989, pp. 37-48.
  109. K.P. Smith and J.W.S. Liu, "Monotonically Improving Approximate Answers to Relaitonal Algebra Queries", Proc. IEEE COMPSAC'89, 1989, pp.234-241.
  110. R. Snodgrass, "Temporal Databases Status and Research Directions," ACM SIGMOD Record, Vol. 19, No. 4, 1990, pp. 83-89.
  111. S.W.Y. Su, "Database Computers: Principles, Architectures and Techniques," New York, McGraw-Hill, 1988.
  112. T. Tamura and N. Yokoya, "Image Database Systems: A Survey," Pattern Recognition, Vol. 11, No. 10, 1984, pp. 29-43.
  113. T.J. Teorey, et. al., "A Logical Design Methodology for Relational Databases Using the Extended Entity-Relationship Model," ACM Comp. Survey, Vol. 18, No. 2, June, 1986.
  114. TPC-A, Transaction Processing Performance Council, TPC Benchmark A, Standard Specification, March 1992.
  115. TPC-B, Transaction Processing Performance Council, TPC Benchmark B, Standard Specification, March, 1992.
  116. TPC-C, Transaction Processing Performance Council, TPC Benchmark C, Standard Specification, August, 1992.
  117. TPC-D, Transaction Processing Performance Council, TPC Benchmark C, Standard Specification, April, 1995.
  118. TPC-E, Transaction Processing Performance Council, TPC Benchmark E, Standard Specification, Draft, 1995.
  119. F.S.C. Tseng, et. al., On Mapping Language Constructs into Relational Algebra through E-R Representation, Data & Knowledge Eng., Vol. 9, No.1, (1992/93) pp.97-118.
  120. F.S.C. Tseng, et. al., Searching a Minimal Semantically-Equivalent Subset of a Set of Partial Values, the VLDB Journal, Vol. 2, No. 4, Oct. (1993) pp.489-512.
  121. F.S.C. Tseng, et. al., Answering Heterogeneous Database Queries with Degrees of Uncertainty, Distributed and Parallel DatabasesAn Int'l Journal, Vol.1 (1993) pp.281-302.
  122. F.S.C. Tseng, et. al., Refining Imprecise Data by Integrity Constraints, Data & Knowledge Eng., Vol.11, No.3, (1993) pp.299-316.
  123. F.S.C. Tseng, et. al., Evaluating Aggregation Functions over Imprecise Data, IEEE Trans. on Knowledge and Data Eng., Vol. 8, No. 2, 1996, pp. 273-284.
  124. F.S.C. Tseng, et. al., Implementing the Division Operation on a Database Containing Uncertain Data, Journal of Infor. Science and Eng., Vol. 12, No. 1, 1996, pp. 51-78.
  125. F.S.C. Tseng, et. al., Integrating Different Structural Relations in Heterogeneous Database Systems, submitted for publication.
  126. F.S.C. Tseng, et. al., Extending the E-R Concepts to Capture Natural Language Semantics for Database Access, Proc. IEEE COMPSAC (1991) pp.30-35.
  127. F.S.C. Tseng, et. al., A Probabilistic Approach to Query Processing in Heterogeneous Database Systems, Proc. IEEE Int'l Workshop Research Issues on Data Eng.: Trans. and Query Processing (RIDE-TQP), 1992, pp.176-183.
  128. F.S.C. Tseng, et. al., Generalizing the Division Operation on Indefinite Databases, Proc. Far-East Workshop on Future Database Systems, Kyoto, Japan, 1992, pp.347-354.
  129. D.C. Tsichritzis and F.H. Lochovsky, "Data Models", Prentice-Hall Inc., 1982.
  130. C. Turbyfill, C. Orji, and D. Bitton, "AS3APA Comparative Relational Database Benchmark," Proc. the IEEE COMPON, 1989, pp. 560-564.
  131. C. Turbyfill, C. Orji, and D. Bitton, "AS3APAn ANSI SQL Standard Scaleable and Portable Benchmark for Relational Database Systems," appears in The Benchmark Handbook for Database and Transaction Processing Systems, Ed. By Jim Gray, Morgan Kaufmann, Inc., 1993, pp. 317-358.
  132. J.D. Ullman, "The U.R. Strikes Back," Proc. ACM Symposium on Principles of Database SystemsPODS, 1982.
  133. J.D. Ullman, "On Kent's "Consequences of Assuming a Universal Relations"." ACM Transaction on Database Systems, Vol. 8, No. 4, 1983.
  134. J.D. Ullman, "Principles of Database and Knowledge Base Systems, Vol. I, II" Computer Science Press, 1988.
  135. O. Ulusoy, "An Annotated Bibliography on Real-Time Database Systems," ACM SIGMOD Record, Vol. 24, No. 4, 1995, pp. 40-45.
  136. "UniSQL/M Database Management System User's Manual," UniSQL, Inc. January 1995.
  137. "UniSQL/X Database Management System User's Manual," UniSQL, Inc. January 1995.
  138. P. Velardi, "Natural Language Interfaces to Databases: Features and Limitations," Proc. 7th Int'l Conf. on Entity-Relationship ApproachA Bridge to the User, 1988.
  139. K. Vidyasankar, "A Non-Two-Phase Locking Protocol for Global Concurrency Control in Distributed Heterogeneous Database Systems," IEEE Trans. on Knowledge and Data Eng., Vol. 3, No. 2, 1991, pp. 256-260.
  140. S.V. Vrbsky and J.W.S. Liu, "An Object-Oriented Query Processor that Produces Monotonically Improving Approximate Answers", Proc. IEEE Int'l Conf. on Data Eng., 1991, pp.472-481.
  141. C.T. Yu and T.M. Jiang, "Adaptive Algorithms for Balanced Multi-Dimensional Clustering," Proc. of Int'l Conf. on Management of Data, 1988, pp.386-393.
  142. L.A. Zadeh, "Fuzzy Sets as a Basis for a Theory of Possibility," Fuzzy Sets and Systems, Vol. 1, No. 1, 1987, pp. 3-28.
  143. H.J. Zimmermann, "Fuzzy Set Theory and Its Applications", Second Edition, Kluwer Academic Publishers, 1991.
  144. M.M. Zloof, "Query By Example," Proc. NCC 44, Anaheim, Calif. 1975.


電腦病毒面面觀

張真誠 國立中正大學教務長

婁德權 國立中正大學資工所博士生

電腦的發明與製作,耗費了人類相當多的智力、物力與財力,它無疑地是本世紀最偉大的發明之一。而聰明的人類在有意及無意之間,卻也製作出了電腦病毒,它對資訊社會所產生的破壞,遠超出一般人的想像,它所造成的金錢損失,更是難以估計。無疑地,電腦病毒亦是本世紀人類最偉大的發明之一。本文將對電腦病毒之起源、特性、及如何預防與治療作一深入的剖析與探討。

壹、電腦病毒的起源

生物病毒雖只是基因 DNA RNA 的一小部份,但它卻能夠接管整的細胞之功能,進而控制該細胞,並複製出成先上萬的病毒細胞。基本上,電腦病毒與細胞病毒是神似的,它具有破壞與複製的能力。電腦病毒是個能自我繁殖的程式,這種自行複製程式的觀念,早在第一部商用電腦出現之前,電腦的先驅者范紐曼(Von Neumann)先生即已昭告天下。不過這個概念在經過十年後,才在美國貝爾實驗室,由三位年僅二十多歲的程式設計師在公餘之暇予以實現。他們將它取名為「磁蕊大戰」[7]

「磁蕊大戰」本質上是一種電腦遊戲,遊戲的規則是由兩方各設計一套程式,輸入電腦後,這兩個程式便在電腦的記憶體系統內互相追殺。為了避免被另一套程式封殺(即指程式被對方程式破壞),程式不但要隨時在計憶體系統內遊走,而且在危困之際,必須自己複製一次,以避免被對方消滅。由於當時的電腦計憶體是磁蕊而非今日的半導體,故取名為「磁蕊大戰」。值得一提的是上述三位年輕的程式設計師中,有一位莫禮士先生是磁蕊大戰中的高手。有趣的是三十年後,他的兒子羅伯莫禮士在電腦網路上輸入了一個病毒程式,這個程式原本破壞力不大,但由於程式設計上的一個錯誤,使得良性病毒變成了惡性病毒。最後連原程式設計者也無法控制這套程式,使得整個網路因超載而癱瘓,造成了六千餘部電腦在一天半之內無法工作。其中波及的單位包括許多著名的大學、研究機構、軍火商、軍事基地等重要單位。更有趣的是羅伯莫禮士的父親居然是該電腦網路的安全事務負責人。

1960年代,「磁蕊大戰」遊戲僅盛行於少數電腦科學家之間。不過,到了1970年代情況改變了,一來電腦網路日漸普及,再者個人電腦也很盛行。這些「磁蕊大戰」的玩家也意識到他們所設計的程式,會對社會造成很大的傷害,因此彼此之間都嚴守一項不成文的規定:不對大眾公開這些程式設計的方法。以致於這些電腦病毒的老祖宗,雖已擁有 20 年的歷史,但是直到 1980 年代初期,尚鮮為人知,對社會也無任何嚴重的不利影響。

1980年代,個人電腦和網路在美國已相當普遍,因而構成了電腦病毒散播的溫床,加上如何製作電腦病毒的祕密被公諸於世,使得設計病毒程式者,突然增加了許多。這其中,不乏有心人士設計病毒程式來滿足戲弄別人的成就感,並對資訊社會造成重大的不安。1983年,ACM Turing Award 的得主 Ken Thompson,他是現今最流行的 UNIX 系統的原創者,在他的受獎演講中揭發了設計電腦病毒程式的技巧,其後所造成的影響真是出人意表的嚴重。很多人因而利用電腦病毒來惡作劇,造成非法謀利。解毒公司林立,專門替人消除電腦病毒,儼然一付"病毒剋星"的姿態,而在製毒與解毒者之間更形同群仙鬥法。有人如此說過:「當我們談論病毒的同時,我們也製造了病毒,而且我們幾乎是讓病毒更具自立更生與免疫的能力。」

三十年前,由少數人所發明的一種電腦遊戲,如今卻演變成令電腦使用者傷透腦筋的電腦病毒。十年前,能製作電腦病毒的人為數不多,如今許多大專生都能設計製作電腦病毒了。也就是說電腦病毒已經不再是一個單純的學術問題,它已演變成為一個嚴重的社會問題。遺憾的是,這些病毒製作者雖無犯罪意識,但卻有犯罪行為,當他觸及法網時,常引來一陣唏噓,令人扼腕嘆息。

貳、電腦病毒之產生背景與來源

電腦病毒的產生是電腦技術和以電腦為核心的社會資訊化過程,發展到一定階段的必然產物。它產生的背景可概述如下[1,2,4]

一、電腦病毒的普及應用是電腦病毒產生的必要環境:

個人電腦的廣泛應用,各種作業系統的簡明易懂,及軟硬體的透明度高,使得電腦玩家予以輕易了解各種軟硬體的內部結構與製作原理,對其存在的缺點與破綻,也因而可以瞭若指掌,針對不同的目的,可以設計不同的攻擊方式,這一切都提供了病毒製作、傳染、繁殖的溫床。

二、電腦病毒是電腦犯罪的另一種新的衍化方式:

電腦病毒實是電腦犯罪的另一種變形,電腦犯罪具有瞬時性、動態性和隨機性,不易查証,風險低且破壞性高,更加刺激了犯罪的動機。而電腦病毒同樣的具有以上的特性,是某些人惡作劇和復仇心態在電腦應用領域的最鮮明的寫照。

生物病毒可能是動物、植物或大自然的產物,其來源較多面化。而電腦病毒則純粹是人類的製造物,其主要的來源可歸納如下:

一、電腦從業員和業餘玩家為了惡作劇而製造的病毒,此類病毒大都為良性病毒,純粹為了開玩笑或惡作劇而誕生。

二、軟體公司及使用者為了保護自己的軟體著作權而採取的報復性措施。因為大多數人發現對軟體加上存取權之類的限制,反而易遭破解。不如在其中隱藏病毒,以懲罰非法拷貝者,這更加助長了各種病毒的製造與傳播。

三、旨在攻擊和摧毀資訊系統而製造的病毒。例如「黑色星期五」病毒,又名「耶路撒冷」病毒,傳說是紀念巴勒斯坦亡國四十周年,在 1988 5 13 日發作,企圖癱瘓以色列全國的電腦系統。

四、用於研究或為著某種效益而設計的程式,由於某種原因而失去控制,或產生了意想不到的效果。

參、電腦病毒之特性

電腦病毒與一般程式最大的不同處在於,病毒程式會 "感染" 其它程式。這裡所謂的感染是指它會修改其他程式,而使感染者也含有與病毒同樣的、或更進化的版本。這個會 "感染" 的特性,使得病毒較不同於其他電腦犯罪程式。在那種狀態下,犯罪程式固然會造成破壞與損失,但因它不會感染其他程式,因此這種損失不會一再發生,而且犯罪程式一經發現後,很容易就可以撲滅,而病毒程式就不是如此了。電腦病毒的特性,大致可歸納出下列四點[5]

一、傳染性:感染迅速,日行萬里,無孔不入。

二、潛伏期:潛伏無期,生命頑強,無限繁殖。

三、隱蔽期:化身萬千,難緝元兇,無所不在。

四、破壞期:及物即毀,不擇對象,無情至極。

電腦病毒的傳染是以電腦系統的執行及磁碟的讀寫動作為要件的。沒有如此的動作,電腦病毒是不會傳染的。系統的啟動與執行程式,為駐留於記憶體的病毒創造了機會,此為病毒傳染的第一步。一旦病毒進駐主記憶體之後,它便積極尋找感染的對象和下手的機會,若條件符合即予以感染病毒。

由以上特性,可感覺電腦病毒有如水銀,一經瀉地便無孔不入,而且很難補獲而完前清除之。而且就算設計出防制之道,但只要有一備份磁碟中的病毒未被清除,終有一天它會死灰復燃,再次肆虐的。

當資訊系統出現以下現象時,應當懷疑是否病毒已經侵入:

一、磁碟的檔案配置表(File Allocation Table)被修改。

二、根目錄被修改。

三、"command.com"系統檔案被修改。

四、"autoexec.bat""config.sys"被修改。

五、磁碟出現固定的損壞磁區。

六、螢幕顯示特殊的訊息或影像。

七、系統執行時經常無故當機。

八、磁碟上出現異常檔案。

九、磁碟檔案內容被修改。

十、磁碟檔案的長度無故增加。

十一、程式載入時間增長,存取磁碟資料之時間增長。

十二、使用者未用到的設備,出現忙碌訊號

十三、出現陌生的隱藏檔。

十四、系統之可用空間變小。

肆、電腦病毒的預防與治療

病毒程式的設計者,大多為年輕的程式設計師。他們抱著惡作劇和開玩笑的心理而製作病毒,卻常常忽略了這種玩笑所可能帶來的副作用及後遺症,羅伯莫禮士事件正是典型的例子之一。雖然以惡意為出發點而製作病毒的例子並不多,但其破壞又卻不容忽視。萬一製作病毒程式的技巧落入恐怖份子手中,則對資訊社會的安全性,將構成另一威脅。病毒既是人類有意製作出來的產品,雖然它在一經散佈之後,就常導致不易根治。然使用者若能採取嚴密的防範措施,那電腦病毒應不至於像自然界中的生物病毒一般地縱橫無阻。以下我們將就預防與治療兩方面,來談談電腦病毒的防治之道[3][6][8]

一、電腦病毒的預防

病毒的侵入必將對資訊系統造成重大傷害,即使是良性病毒,它至少也要佔用部份的系統空間,因此防止病毒的侵入要比病毒入侵之後再去尋找和消滅它來得重要,也就是說「預防重於治療」。電腦使用及管理者為了預防電腦中毒,可從以下幾方面加以注意:

1. 經常對重要的檔案資料預存備份。

2. 對磁片做防寫保謢。

3. 將所有".com"".exe"檔案賦以"唯讀"屬性。

4. 勿將系統磁片、應用程式磁片借予他人。

5. 若系統有硬碟,則採用硬碟來啟動系統。

6. 勿使用來歷不明的磁碟片,式是不正當途徑複製的程式磁片,因為此類磁片夾帶病毒的可能性較大。

7. 執行較重要的工作,要使用專機專碟。

8. 經常檢查一些可執行程式的長度,對可執行程式採取一些簡單的加密,防止程式被感染。因為加密後的可執行程式若遭病毒感染,經解密後也必定會面目全非,無法執行,但卻也不會再散佈病毒。

9. 勿在機器上玩各種電腦遊戲,因遊戲程式大多來歷不明,很多遊戲軟體為了防止拷貝而使用了一些懲罰手段,其中可能有病毒存在。

10. 使用合法的原版軟體,除了尊重智慧財產權,也是預防電腦中毒的重要法則。俗話說:「病從口入」,所以不亂吃東西是防止中毒的良方。

11. 安裝並定時更新有效的防毒程式。

12. 採用唯讀式光碟片(CDROM),其具有速度快,容量高及防毒的特性。

13. 一旦發現系統中有病毒存在之可能,應立即關機。關機的時間至少要45秒以上,最好是三分鐘,因為倘若時間不久,存在主記憶體中的病毒可能尚未消失,而伺機復活。

二、電腦病毒的治療

電腦病毒的診治與動植物的治病過程是相同的,一般可分為以下三個步驟:

1. 診斷:無論那一型態的電腦病毒,當其駐留於主記體中,並具有傳染能力前,都要佔據一定的主記憶體空間,監視系統的運作,並尋找攻擊目標,因此,病毒很容易的便可躲過系統的偵測。為有效的偵測病毒,務必先以無毒的系統開機片來開機,再進行診斷手續。如此一來,病毒便無法掌控系統的運作而躲避被偵測的命運了。

2. 治療:根據診斷結果,確定病毒型態後,可採人工消除法或病毒診治軟體消除法,將系統的病毒消除之。

3. 免疫:對系統設置常駐型的"疫苗",以防止某種病毒的再次傳染。

此處只簡介電腦病毒的診治觀念,至於深入的抓毒及解毒技巧,請讀者詳閱參考文獻[9][10]

伍、結論

自電腦病毒被發明之後,便令電腦使用者陷入一連串的夢魘之中,如黑色星期五、磁碟殺手、stoned等病毒的相繼出現,更令吾人有風聲鶴唳,草木皆兵之感。於是乎,各路英雄豪傑相繼投入此一聖戰,仁人志士悉以捍衛資訊系統為己任;而巨惡元兇則以煽風點火,製造混亂為樂事;又有混水摸魚者,乘機大發利市。鳴呼!一場無聲的戰事,便在無數的電腦上展開了。有時魔高一尺,有時道高一丈;有人淚洒PC,有人志得意滿;有人數鈔票叫好;勝者,為文吹噓;敗者則埋首練功,或廣徵武林高手,以為助陣,卻又有時認識不清,引毒入室。而無辜的使用者,唯有祈禱不被戰火所波及,但真能置之事外者,幾希!

目前,世界各國皆在制訂法律以防範病毒的製造,但這只是治標的方法。根本之道還是在於資訊教育的課程中,應加強資訊倫理的建立和職業道德的灌輸,就如同醫生要具備醫德一般。何況訂定一套完整、週全的法律並非易事。因此,防範病毒的傳染須先從教育著手,再輔以法律嚇阻,方能收相輔相成之功效。

參考文獻

[1]林惠芬 (1988):國內專家談電腦病毒,資訊傳真系統版,1988年元月,pp. 56-58

[2]張啟祥 (1989):電腦病毒登陸台灣,PC WORLD TAIWAN1989年元月,pp. 59-60

[3] 李宗翰 (1989)PC 捉毒記,PC WORLD TAIWAN1989年元月,pp. 61-64

[4] 吳家琪 (1989):「電腦病毒」並非新聞,倚天雜誌,第十一期,1989年元月,pp. 81

[5] 黃台揚 (1989):資訊世界的愛滋病? 電腦病毒,資訊與教育雜誌,第十期,1989年四月。

[6] 羅錦坤 (1989):電腦病毒的預防與治療,資訊與教育雜誌,第十三期,198910月,pp. 37-38

[7] 李進寶 (1990):電腦病毒發展史,資訊與教育雜誌,第十九期,199010月。

[8] 吳穆 (1990):如何降低電腦感染病毒的機會,資訊與教育雜誌,第十九期,199010月,pp. 11-12

[9] 張真誠,李鴻進,李維斌,王智弘 (1992):天山雪蓮-開放式電腦病毒診治系統,凱立資訊股份有限公司,19929月。

[10] 張真誠,李維斌 (1992):魔繭-電腦病毒疫苗,松崗電腦圖書資料股份有限公司,199211月。