程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sqlserver 文件數據庫和關系數據庫的比較

sqlserver 文件數據庫和關系數據庫的比較

編輯:更多數據庫知識

摘要:隨著應用領域的不斷拓展和多媒體技術, 人們發現關系數據庫的許多限制和不足,因而數據庫技術進入了“後關系數據庫時代”。文件數據庫由此應運而生。本文概要地從數據格式、數據庫結構和WEB發布數據三個方面比較了文件數據庫和關系數據庫的異同,同時差別了文件數據庫和過去存儲數據的文件系統的不同。

關鍵詞:數據庫 Internet 文件數據庫 WEB數據庫服務器

一、關系數據庫的優勢和目前面臨的問題

從60年代末開始, 數據庫技術經歷了層次數據庫、網狀數據庫和關系數據庫而進入數據庫管理系統( DBMS)階段至今, 數據庫技術的研究也不斷取得進展。80年代, 關系數據庫成為發展的主流, 幾乎所有新推出的DBMS產品都是關系型的。關系型數據庫在計算機數據管理的發展史上是個重要的裡程碑,這種數據庫具有數據結構化、最低冗余度、較高的程式和數據獨立性、易於擴充、易於編制應用程式等好處,目前較大的信息系統都是建立在結構化數據庫設計之上的。
然而,隨著網絡技術和軟件技術的飛速發展,特別是Internet和Intranet技術的發展,使得非結構化數據的應用日趨擴大。關系數據庫從1970年發展至今,雖功能日趨完善,但對數據類型的處理只局限於數字、字符等,對多媒體信息的處理只是停留在簡單的二進制代碼文件的存儲。然而,隨著用戶應用需求的提高、硬件技術的發展和Intranet/Internet提供的多彩的多媒體交流方式,用戶對多媒體處理的需求從簡單的存儲上升為識別、檢索和深入加工,正是用戶呼喚出"通用"數據庫服務器來處理占信息總量70%的聲音、圖像、時間序列信號和視頻等復雜數據類型。據有關數據,1996年,全球數據庫市場的銷售額已接近40億美元,預計到2000年,數據庫市場銷售額將達到80億美元。巨大的增長潛力來自復雜數據類型的處理需求,使處理復雜數據類型的"超媒體"數據庫將成為各公司投資研發的重點。

二、全新的文件數據概念

從1989年起,Lotus通過其群件產品Notes提出了數據庫技術的全新概念-"文件數據庫",文件數據庫差別於傳統的其他數據庫,他是用來管理文件。在傳統的數據庫中,信息被分割成離散的數據段,而在文件數據庫中,文件是處理信息的基本單位。一文件能非常長、非常復雜、能無結構,和字處理文件類似。
文件數據庫和五、六十年代管理數據的文件系統不同,文件數據庫仍屬於數據庫范疇。首先,文件系統中的文件基本上對應於某個應用程式。當不同的應用程式所需要的數據有部分相同時,也必須建立各自的文件,而不能共享數據,而文件數據庫能共享相同的數據。因此,文件系統比文件數據庫數據冗余度更大,更浪費存儲空間,且更難於管理維護。其次,文件系統中的文件是為某一特定應用服務的,所以,要想對現有的數據再增加一些新的應用是非常困難的,系統不容易擴充。數據和程式缺乏獨立性。而文件數據庫具有數據的物理獨立性和邏輯獨立性,數據和程式分離。
文件數據庫也不同於關系數據庫,關系數據庫是高度結構化的,而Notes的文件數據庫允許創建許多不同類型的非結構化的或任意格式的字段,和關系數據庫的主要不同在於,他不提供對參數完整性和分布事務的支持,但和關系數據庫也不是相互排斥的,他們之間能相互交換數據,從而相互補充、擴展。

三、關系數據庫和文件數據庫的異同

下面從三個方面比較兩種數據庫的異同:
1、格式文本/多媒體
在信息時代,所有信息大體上能分為兩類:一類信息能夠用數據或統一的結構加以表示。例如,成本、費用、人員、工資及員工業績等,都能用數字或文字來描述或表達。這類信息具有相同的層次或網絡結構,我們稱之為結構化數據;而另一類信息根本無法用數字或統一的結構表示,例如,圖象、聲音等,我們稱之為非結構化數據。這些非結構化數據既能是一段包含大量附加信息(如排版信息)的文字信息,也可能是一段聲音、圖象,甚至是影像。對於結構化數據和非結構化數據的關系如圖所示,非結構化數據包括結構化數據,但又不止是結構化數據;結構化數據屬於非結構化數據,是非結構化數據的特例。一般來說,在人們的認識之中,關系數據庫最主要的特征就是數據的結構化。然而,隨著網絡技術和軟件技術的飛速發展,特別是Internet和Intranet技術的發展,使得非結構化數據的應用日趨擴大。關系數據庫是高度結構化的,這種數據結構化使關系數據庫具有冗余度最低、程式和數據獨立性較高、易於擴充、易於編制應用程式的特點。不過,隨著應用領域的不斷拓展, 為滿足應用對數據處理不斷"苛刻"的需求, 人們開始發現關系數據庫的許多限制和不足。因為文件數據庫的基本元素就是文件本身,而數據庫中的文件能同時包含結構化的和非結構化的信息,所以,文件數據庫能夠存儲和管理類似文件這樣的非結構化數據。特別是,Notes的對象庫是個非常最佳的商業信息存儲器,可用於高效地存儲、傳播、分配和管理這類信息。這類信息通常具有豐富的數據類型,如表格(能是從某個關系數據庫或電子表軟件中得到的)、格式化文本、WWW的頁面、圖像、OLE對象、或掃描的圖象及傳真件、聲頻或視頻信號這樣的多媒體信息。
2、在結構上
關系數據庫是應用數學方法來處理數據庫數據的,其數據模型也是建立在數學概念基礎上的,在關系模型中,數據在用戶觀點下的邏輯結構就是一張二維表。而Lotus Notes是個文件數據庫管理系統,文件數據庫的基本元素就是文件。這裡的文件和關系數據庫中的記錄相似。Notes文件的結構是由表單(form)定義的,而表單由一組各式各樣的字段域組成。
(1)域(Domain)和字段(Field)
在關系數據庫中,域(Domain)是屬性值的集合,如:大於0小於150的正整數,長度小於25的字符串集合等等。而在文件數據庫中,域(Field)的概念出目前表單對象中,域是表單上存儲數據的單個元素,域決定了一個獨立的文件能包含什麼數據。雖二者的中文譯文相同,但其實際意義和作用相差千裡。反而在文件數據庫中域的概念和關系數據庫中的字段(Field)相類似。
(2)條目(Item)和屬性(Attribute)
在關系數據庫中,有屬性(Attribute)的概念,即二維表中的每一列稱為一個屬性,給每一列起一個名稱即屬性名。而在文件數據庫中,就沒有"屬性",文件擁有的是條目(Item),條目是指存儲於文件中的任意數據部分。每一個條目代表文件中一段數據,在用戶界面中,是通過表單中的域來顯示文件中的條目的。二者雖命名不同,但筆者認為從"屬性"的角度更容易理解文件數據庫中條目的意義。
(3)視圖(View)
在關系數據庫和文件數據庫中,均有視圖的概念。在關系數據庫中,視圖是指從一個或幾個基本表(或視圖)導出的表。視圖和基本表不同,視圖是個虛表,即視圖所對應的數據不實際存儲在數據庫中,數據庫中只存儲視圖的定義(存在數據字典中)。在文件數據庫中,用戶通過Notes視圖浏覽文件。視圖是非常方便的目錄,用戶能從中看到關於文件的概要信息和文件的狀態,然後存取特定的Notes文件。文件數據庫中文件能在視圖中顯示起全部或部分內容,通過視圖,用戶能看一組文件的關鍵域,並可按某一准則對顯示的信息進行分類和排序。實質上,二者邏輯上非常相似,即視圖所對應的數據均不實際存儲在數據庫中,數據庫中只存儲視圖的定義。
3、WEB數據庫
近年來網絡體系結構經歷了一次次重大變遷,客戶機/服務器結構越來越流行了,Intranet以驚人的速度在短短一年內迅速蔓延,面臨新的格局,怎麼簡易地實現"客戶機/服務器"連接和"Web/Intranet"連接成為數據庫管理人員關注的焦點。計算機技術和網絡技術的發展使以網絡為中心的計算日益得到重視,WWW系統和數據庫成為網絡化信息服務的基礎。如果能把文件數據庫同WWW服務器連接起來,就能從浏覽器中檢索文件。這種一體化的信息網絡系統:數據庫+WWW服務器,便成為下一代Internet研發的新領域。目前,在Web上一個典型的數據庫應用程式應包括三個部分:Web浏覽器、HTTP 服務器和Web數據庫服務器。對於一般的關系型數據庫,實現Web數據庫的應用通常有兩種方法:一種是Web服務器提供中間件連接Web服務器和數據庫服務器;另一種是把應用程式下載到客戶端直接訪問數據庫。最常用的中間件技術有通用網關接口(CGI)和應用程式編程接口(API)兩種。CGI程式缺陷在於CGI接口不支持用戶和數據庫間的持續互操作,再就是CGI的效率低,且需要同時運行多個CGI程式。用戶每次連至服務器時,服務器都要創建一個事務或運行CGI程式的一個拷貝。這樣對於一個復雜的應用或有多個用戶訪問時,就會加重服務器的負擔。API在非常大程度上克服了CGI的缺點,但其兼容性差和研發難度大也讓廣大研發人員望而卻步。客戶端訪問數據庫主要包括Java Script和數據庫連接器(IDC)等。用Java Script和IDC研發Web數據庫雖簡單但同時也存在功能有限、不能完全控制其過程等缺點。所以他們也無法勝任較復雜的Web數據庫的研發。難道就沒有一個研發相對容易、功能強大且高效的Web數據庫的研發方法嗎?有,答案是-Lotus Notes。Lotus Notes通過文件數據庫實現了多媒體文件管理,支持客戶機/服務器工作方式。每個數據能包含若干不同形式的Notes文件。存放在一個或多個Notes服務器上,能讓許多用戶存取的數據庫稱為共享數據庫。通過利用服務器存取和數據庫存取控制等安全措施,數據庫管理員能規定誰能存取數據庫和在什麼范圍內使用數據庫,各數據庫在網上通過復制功能實現同步。這樣,通過文件數據庫用戶能在網絡上存取、追蹤儲存和組織信息。
四. 結束語
最近幾年,我國的數據庫市場飛速發展,並將具有更為巨大的增長潛力,表現為如下特點:首先,在近五年裡,用戶的選型觀念發生了明顯的改動,有更多的用戶把數據庫的重要性放在十分重要的地位,其主要原因是用戶將把應用軟件和應用需求放在首位,應用軟件是否滿足用戶需求是整個項目是否成功的標志,而應用軟件研發直接依賴於數據庫研發工具。實際上,大量潛在的投資都在應用軟件的研發上;另一個原因是硬件隨著芯片技術的發展越來越缺乏特性,硬件指標將變成次要的考慮因素。對行業性應用來講,以前是制定幾家硬件產品作為優選,而今可能是最佳選擇數據庫廠家再考慮硬件廠家了。正是用戶需求的這種變化給數據庫廠商提供了新的發展機會。Lotus Notes為各數據庫系統集成商提供了強大的文件數據庫研發平台,Notes結合了企業級電子郵件、分布式文件數據庫和快速應用研發等三位一體的強大技術、完全集成Internet技術,提供用戶完整的,以網絡為中心的應用技術平台。能預言,在不久的將來,Lotus Notes的文件數據庫將成為繼層次數據庫、網狀數據庫和關系數據庫之後的又一熱點技術。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved