數據儲存庫

數據儲存庫

當人們從不同的角度來描述這一概念時就有不同的定義(當然是描述性的)。例如,稱資料庫是一個“記錄保存系統”(該定義強調了資料庫是若干記錄的集合)。又如稱資料庫是“人們為解決特定的任務,以一定的組織方式存儲在一起的相關的數據的集合”(該定義側重於數據的組織)。更有甚者稱資料庫是“一個數據倉庫”。當然,這種說法雖然形象,但並不嚴謹。

定義

定義1.嚴格地說,資料庫是“按照數據結構來組織、存儲和管理數據的倉庫”。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣“倉庫”,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個範圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種套用服務;數據的存儲獨立於使用它的程式;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個“資料庫集合”。
定義2
資料庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:儘可能不重複,以最優方式為某個特定組織的多種套用服務,其數據結構獨立於使用它的應用程式,對數據的增、刪、改和檢索由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由檔案管理系統發展起來的。
定義3 (伯爾尼公約議定書專家委員會的觀點)
所有的信息(數據事實等)的編纂物,不論其是以印刷形式,計算機存儲單元形式,還是其它形式存在,都應視為“資料庫”。
數位化內容選擇的原因有很多,概括起來主要有:
(1)存儲空間的原因。數位化的產品是通過網路被廣大用戶存取利用,而大家都知道數位化產品是存放在磁碟陣列上的,磁碟陣列由伺服器來管理,磁碟空間是有限的,伺服器的能力也是有限的,不可能無限量地存入數字資源,這就需要我們對文獻資源數位化內容進行選擇。
(2)解決數位化生產高成本和圖書館經費有限性之間矛盾的需要。幾乎沒有圖書館有充足的資源來對整個館藏進行數位化,內容選擇不可避免。
(3)數字資源管理的需要。技術的快速發展使數位化項目所生成的數字資源的生命周期越來越短,投入巨資進行數字遷移是延長數字資源生命的1個重要途徑,昂貴的維護成本就必須考慮數位化的內容選擇。

基本結構

資料庫的基本結構分三個層次,反映了觀察資料庫的三種不同角度。
(1)物理數據層。
它是資料庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字元和字組成。
(2)概念數據層。
它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個數據的邏輯定義及數據間的邏輯聯繫,是存貯記錄的集合。它所涉及的是資料庫所有對象的邏輯關係,而不是它們的物理情況,是資料庫管理員概念下的資料庫。
(3)邏輯數據層。
它是用戶所看到和使用的資料庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。
資料庫不同層次之間的聯繫是通過映射進行轉換的。

主要特點

(1)實現數據共享。
數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過接口使用資料庫,並提供數據共享。
(2)減少數據的冗餘度。
同檔案系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立套用檔案。減少了大量重複數據,減少了數據冗餘,維護了數據的一致性。
(3)數據的獨立性。
數據的獨立性包括資料庫中資料庫的邏輯結構和應用程式相互獨立,也包括數據物理結構的變化不影響數據的邏輯結構。
(4)數據實現集中控制。
檔案管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其檔案之間毫無關係。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯繫。
(5)數據一致性和可維護性,以確保數據的安全性和可靠性。
主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③並發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常互動作用;④故障的發現和恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞
(6)故障恢復。
由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。資料庫系統能儘快恢複數據庫系統運行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的數據錯誤等。

發展階段

資料庫發展階段大致劃分為如下幾個階段:
人工管理階段;
檔案系統階段;
資料庫系統階段;
高級資料庫階段。

結構與種類

資料庫通常分為層次式資料庫、網路式資料庫和關係式資料庫三種。而不同的資料庫是按不同的數據結構來聯繫和組織的。
1.數據結構模型
(1)數據結構
所謂數據結構是指數據的組織形式或數據之間的聯繫。如果用D表示數據,用R表示數據對象之間存在的關係集合,則將DS=(D,R)稱為數據結構。例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨著對應的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那么只須查找以Y開頭的那些名字就可以了。該例中,數據的集合D就是人名和電話號碼,它們之間的聯繫R就是按字典順序的排列,其相應的數據結構就是DS=(D,R),即一個數組。
(2)數據結構種類
數據結構又分為數據的邏輯結構和數據的物理結構。數據的邏輯結構是從邏輯的角度(即數據間的聯繫和組織方式)來觀察數據,分析數據,與數據的存儲位置無關。數據的物理結構是指數據在計算機中存放的結構,即數據的邏輯結構在計算機中的實現形式,所以物理結構也被稱為存儲結構。這裡只研究數據的邏輯結構,並將反映和實現數據聯繫的方法稱為數據模型。
目前,比較流行的數據模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關係理論建立的關係結構模型。
2.層次、網狀和關係資料庫系統
(1)層次結構模型
層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義為一個無回的連通圖)。下圖是一個高等學校的組織結構圖。這個組織結構圖像一棵樹,校部就是樹根(稱為根結點),各系、專業、教師、學生等為枝點(稱為結點),樹根與枝點之間的聯繫稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。
按照層次模型建立的資料庫系統稱為層次模型資料庫系統。IMS(Information Manage-mentSystem)是其典型代表。
(2)網狀結構模型
按照網狀數據結構建立的資料庫系統稱為網狀資料庫系統,其典型代表是DBTG(Data Base Task Group)。用數學方法可將網狀數據結構轉化為層次數據結構。
(3)關係結構模型
關係式數據結構把一些複雜的數據結構歸結為簡單的二元關係(即二維表格形式)。例如某單位的職工關係就是一個二元關係。
由關係數據結構組成的資料庫系統被稱為關係資料庫系統。
在關係資料庫中,對數據的操作幾乎全部建立在一個或多個關係表格上,通過對這些關係表格的分類、合併、連線或選取等運算來實現數據的管理。dBASEII就是這類資料庫管理系統的典型代表。對於一個實際的套用問題(如人事管理問題),有時需要多個關係才能實現。用dBASEII建立起來的一個關係稱為一個資料庫(或稱資料庫檔案),而把對應多個關係建立起來的多個資料庫稱為資料庫系統。dBASEII的另一個重要功能是通過建立命令檔案來實現對資料庫的使用和管理,對於一個資料庫系統相應的命令序列檔案,稱為該資料庫的套用系統。因此,可以概括地說,一個關係稱為一個資料庫,若干個資料庫可以構成一個資料庫系統。資料庫系統可以派生出各種不同類型的輔助檔案和建立它的套用系統。

常用資料庫

1. IBM 的DB2
作為關係資料庫領域的開拓者和領航人,IBM在1977年完成了System R系統的原型,1980年開始提供集成的資料庫伺服器—— System/38,隨後是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關。DB2 forMVSV1 在1983年推出。該版本的目標是提供這一新方案所承諾的簡單性,數據不相關性和用戶生產率。1988年DB2 for MVS 提供了強大的線上事務處理(OLTP)支持,1989 年和1993 年分別以遠程工作單元和分散式工作單元實現了分散式資料庫支持。最近推出的DB2 Universal Database 6.1則是通用資料庫的典範,是第一個具備網上功能的多媒體關係資料庫管理系統,支持包括Linux在內的一系列平台。
2. Oracle
Oracle 前身叫SDL,由Larry Ellison 和另兩個編程人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用SQL 關係資料庫管理系統。Oracle公司是最早開發關係資料庫的廠商之一,其產品支持最廣泛的作業系統平台。目前Oracle關係資料庫產品的市場占有率名列前茅。
3. Informix
Informix在1980年成立,目的是為Unix等開放作業系統提供專業的關係型資料庫產品。公司的名稱Informix便是取自Information 和Unix的結合。Informix第一個真正支持SQL語言的關係資料庫產品是Informix SE(StandardEngine)。InformixSE是在當時的微機Unix環境下主要的資料庫產品。它也是第一個被移植到Linux上的商業資料庫產品。
4. Sybase
Sybase公司成立於1984年,公司名稱“Sybase”取自“system”和“database” 相結合的含義。Sybase公司的創始人之一Bob Epstein 是Ingres 大學版(與System/R同時期的關係資料庫模型產品)的主要設計人員。公司的第一個關係資料庫產品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 資料庫體系結構的思想,並率先在Sybase SQLServer 中實現。
5. SQL Server
1987 年,微軟和IBM合作開發完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統中綁定了OS/2Database Manager,而微軟產品線中尚缺少資料庫產品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協定,使用Sybase的技術開發基於OS/2平台的關係型資料庫。1989年,微軟發布了SQL Server 1.0 版。
6. PostgreSQL
PostgreSQL 是一種特性非常齊全的自由軟體的對象——關係性資料庫管理系統(ORDBMS),它的很多特性是當今許多商業資料庫的前身。PostgreSQL最早開始於BSD的Ingres項目。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以說是目前世界上最豐富的數據類型的支持;其次,目前PostgreSQL 是唯一支持事務、子查詢、多版本並行控制系統、數據完整性檢查等特性的唯一的一種自由軟體的資料庫管理系統.
7.mySQL
mySQL是一個小型關係型資料庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地套用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。MySQL的官方網站的網址是: www.mysql.com
8.Access資料庫 美國Microsoft公司於1994年推出的微機資料庫管理系統。它具有界面友好、易學易用、開發簡單、接口靈活等特點,是典型的新一代桌面資料庫管理系統。其主要特點如下:
(1)完善地管理各種資料庫對象,具有強大的數據組織、用戶管理、安全檢查等功能。
(2)強大的數據處理功能,在一個工作組級別的網路環境中,使用Access開發的多用戶資料庫管理系統具有傳統的XBASE(DBASE、FoxBASE的統稱)資料庫系統所無法實現的客戶伺服器(Cient/Server)結構和相應的資料庫安全機制,Access具備了許多先進的大型資料庫管理系統所具備的特徵,如事務處理/出錯回滾能力等。
(3)可以方便地生成各種數據對象,利用存儲的數據建立窗體和報表,可視性好。
(4)作為Office套件的一部分,可以與Office集成,實現無縫連線。
(5)能夠利用Web檢索和發布數據,實現與Internet的連線。 Access主要適用於中小型套用系統,或作為客戶機/伺服器系統中的客戶端資料庫。
9.FoxPro資料庫
最初由美國Fox公司1988年推出,1992年Fox公司被Microsoft公司收購後,相繼推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了較大的提高。 FoxPro2.5、2.6分為DOS和Windows兩種版本,分別運行於DOS和Windows環境下。FoxPro比FoxBASE在功能和性能上又有了很大的改進,主要是引入了視窗、按紐、列表框和文本框等控制項,進一步提高了系統的開發能力。

發展史

資料庫技術從誕生到現在,在不到半個世紀的時間裡,形成了堅實的理論基礎、成熟的商業產品和廣泛的套用領域,吸引越來越多的研究者加入。資料庫的誕生和發展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內外已經開發建設了成千上萬個資料庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著套用的擴展與深入,資料庫的數量和規模越來越大,資料庫的研究領域也已經大大地拓廣和深化了。30年間資料庫領域獲得了三次計算機圖靈(C.W. Bachman,E.F.Codd, J.Gray),更加充分地說明了資料庫是一個充滿活力和創新精神的領域。就讓我們沿著歷史的軌跡,追溯一下資料庫的發展歷程。
一、資料庫發展簡史
1. 數據管理的誕生
資料庫的歷史可以追溯到五十年前,那時的數據管理非常簡單。通過大量的分類、比較和表格繪製的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果在紙上列印出來或者製成新的穿孔卡片。而數據管理就是對所有這些穿孔卡片進行物理的儲存和處理。然而,1 9 5 1 年雷明頓蘭德公司(Remington Rand Inc.)的一種叫做Univac I 的計算機推出了一種一秒鐘可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。1956 年IBM生產出第一個磁碟驅動器—— the Model 305 RAMAC。此驅動器有50 個碟片,每個碟片直徑是2 英尺,可以儲存5MB的數據。使用磁碟最大的好處是可以隨機地存取數據,而穿孔卡片和磁帶只能順序存取數據。
1951: Univac系統使用磁帶和穿孔卡片作為數據存儲。
資料庫系統的萌芽出現於60 年代。當時計算機開始廣泛地套用於數據管理,對數據的共享提出了越來越高的要求。傳統的檔案系統已經不能滿足人們的需要。能夠統一管理和共享數據的資料庫管理系統(DBMS)應運而生。數據模型是資料庫系統的核心和基礎,各種DBMS 軟體都是基於某種數據模型的。所以通常也按照數據模型的特點將傳統資料庫系統分成網狀資料庫、層次資料庫和關係資料庫三類。
最早出現的是網狀 DBMS,是美國通用電氣公司Bachman等人在1961年開發成功的IDS(Integrated DataStore)。1961年通用電氣公司(General ElectricCo.)的Charles Bachman 成功地開發出世界上第一個網狀DBMS也是第一個資料庫管理系統—— 集成數據存儲(Integrated DataStore IDS),奠定了網狀資料庫的基礎,並在當時得到了廣泛的發行和套用。IDS 具有數據模式和日誌的特徵。但它只能在GE主機上運行,並且資料庫只有一個檔案,資料庫所有的表必須通過手工編碼來生成。之後,通用電氣公司一個客戶——BF Goodrich Chemical 公司最終不得不重寫了整個系統。並將重寫後的系統命名為集成數據管理系統(IDMS)。
網狀資料庫模型對於層次和非層次結構的事物都能比較自然的模擬,在關係資料庫出現之前網狀DBMS要比層次DBMS用得普遍。在資料庫發展史上,網狀資料庫占有重要地位。
層次型DBMS是緊隨網路型資料庫而出現的。最著名最典型的層次資料庫系統是IBM 公司在1968 年開發的IMS
(Information Management System),一種適合其主機的層次資料庫。這是IBM公司研製的最早的大型資料庫系統程式產品。從60 年代末產生起,如今已經發展到IMSV6,提供群集、N路數據共享、訊息佇列共享等先進特性的支持。這個具有3 0 年歷史的資料庫產品在如今的WWW套用連線、商務智慧型套用中扮演著新的角色。
1973 年Cullinane 公司(也就是後來的Cullinet軟體公司),開始出售Goodrich 公司的IDMS 改進版本,並且逐漸成為當時世界上最大的軟體公司。
2. 關係資料庫的由來
網狀資料庫和層次資料庫已經很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種資料庫進行存取時,仍然需要明確數據的存儲結構,指出存取路徑。而後來出現的關係資料庫較好地解決了這些問題。
1970年,IBM的研究員E.F.Codd博士在刊物《Communication of the ACM》上發表了一篇名為“A Relational Model of Data for Large Shared Data Banks”的論文,提出了關係模型的概念,奠定了關係模型的理論基礎。儘管之前在1968年Childs已經提出了面向集合的模型,然而這篇論文被普遍認為是資料庫系統歷史上具有劃時代意義的里程碑。Codd的心愿是為資料庫建立一個優美的數據模型。後來Codd又陸續發表多篇文章,論述了範式理論和衡量關係系統的12條標準,用數學理論奠定了關係資料庫的基礎。關係模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關係模型是理想化的數據模型,用來實現 DBMS是不現實的,尤其擔心關係資料庫的性能難以接受,更有人視其為當時正在進行中的網狀資料庫規範化工作的嚴重威脅。為了促進對問題的理解,1974 年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關係資料庫兩派之間的辯論。這次著名的辯論推動了關係資料庫的發展,使其最終成為現代資料庫產品的主流。
1969: Edgar F。“Ted” Codd發明了關係資料庫
1970年關係模型建立之後,IBM公司在San Jose實驗室增加了更多的研究人員研究這個項目,這個項目就是著名的System R。其目標是論證一個全功能關係DBMS的可行性。該項目結束於1979年,完成了第一個實現SQL的 DBMS。然而IBM對IMS的承諾阻止了System R的投產,一直到1980年System R才作為一個產品正式推向市場。IBM產品化步伐緩慢的三個原因:IBM重視信譽,重視質量,儘量減少故障;IBM是個大公司,官僚體系龐大;IBM內部已經有層次資料庫產品,相關人員不積極,甚至反對。
然而同時,1973年加州大學伯克利分校的Michael Stonebraker和Eugene Wong利用System R已發布的信息開始開發自己的關係資料庫系統Ingres。他們開發的Ingres項目最後由Oracle公司、Ingres公司以及矽谷的其他廠商所商品化。後來,System R和Ingres系統雙雙獲得ACM的1988年“軟體系統獎”。
1976年霍尼韋爾公司(Honeywell)開發了第一個商用關係資料庫系統——Multics Relational Data Store。關係型資料庫系統以關係代數為堅實的理論基礎,經過幾十年的發展和實際套用,技術越來越成熟和完善。其代表產品有Oracle、IBM公司的 DB2、微軟公司的MS SQL Server以及Informix、ADABASD等等。
3. 結構化查詢語言 (SQL)
1974 年,IBM的Ray Boyce和Don Chamberlin將Codd關係資料庫的12條準則的數學定義以簡單的關鍵字語法表現出來,里程碑式地提出了SQL(Structured Query Language)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關係資料庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什麼而不需要指出怎么做。SQL集成實現了資料庫生命周期中的全部操作。SQL提供了與關係資料庫進行互動的方法,它可以與標準的程式語言一起工作。自產生之日起,SQL語言便成了檢驗關係資料庫的試金石,而SQL語言標準的每一次變更都指導著關係資料庫產品的發展方向。然而,直到二十世紀七十年代中期,關係理論才通過SQL在商業資料庫Oracle和DB2中使用。
1986年,ANSI把SQL作為關係資料庫語言的美國標準,同年公布了標準SQL文本。目前SQL標準有3個版本。基本SQL定義是ANSIX3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數據操作和事務處理。
SQL- 89和隨後的ANSIX3168-1989,“Database Language-Embedded SQL”構成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現在叫做SQL-92標準。SQL-92包括模式操作,動態創建和SQL語句動態執行、網路環境支持等增強特性。在完成SQL-92標準後,ANSI和ISO即開始合作開發SQL3標準。SQL3的主要特點在於抽象數據類型的支持,為新一代對象關係資料庫提供了標準。
1969:Edgar F. Codd發明了關係資料庫
1976 年IBM E.F.Codd發表了一篇里程碑的論文“R系統:資料庫關係理論”,介紹了關係資料庫理論和查詢語言SQL。Oracle的創始人Ellison非常仔細地閱讀了這篇文章,被其內容震驚,這是第一次有人用全面一致的方案管理數據信息。作者E.F.Codd十年前就發表了關係資料庫理論,並在IBM 研究機構開發原型,這個項目就是R系統,存取數據表的語言就是SQL。Ellison看完後,敏銳意識到在這個研究基礎上可以開發商用軟體系統。而當時大多數人認為關係資料庫不會有商業價值。Ellison認為這是他們的機會:他們決定開發通用商用資料庫系統Oracle,這個名字來源於他們曾給中央情報局做過的項目名。幾個月後,他們就開發了Oracle 1.0 。但這只不過是個玩具,除了完成簡單關係查詢不能做任何事情,他們花相當長的時間才使Oracle變得可用,維持公司運轉主要靠承接一些資料庫管理項目和做顧問諮詢工作。而IBM卻沒有計畫開發,為什麼藍色巨人放棄了這個價值上百億的產品,原因有很多:IBM的研究人員大多是學術出身,他們最感興趣的是理論,而非推向市場的產品,從學術上看,研究成果應公開,發表論文和演講能使他們成名,為什麼不呢?還有一個很主要的原因就是IBM 當時有一個銷售得還不錯的層次資料庫產品IMS。直到1985年I B M 才發布了關係資料庫D B 2 ,Ellision那時已經成了千萬富翁。Ellison曾將IBM 選擇Microsoft 的MS-DOS作為IBM-PC機的作業系統比為:“世界企業經營歷史上最嚴重的錯誤,價值超過了上千億美元。”IBM 發表R系統論文,而且沒有很快推出關係資料庫產品的錯誤可能僅僅次之。Oracle 的市值在1996年就達到了280億美元。
目前SQL標準有3個版本。基本SQL定義是ANSIX3135-89,“DatabaseLan guage —— SQL with IntegrityEnhancement”[ANS89],一般叫做SQL-89。SQL-89 定義了模式定義、數據操作和事務處理。S Q L - 8 9 和隨後的ANSIX3168-1989,“Database Language——Embedded SQL”構成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現在叫做SQL-92標準。SQL-92 包括模式操作,動態創建和SQL語句動態執行、網路環境支持等增強特性。在完成SQL-92標準後,ANSI和ISO即開始合作開發SQL3標準。 SQL3的主要特點在於抽象數據類型的支持,為新一代對象關係資料庫提供了標準。
4. 面向對象資料庫
隨著信息技術和市場的發展,人們發現關係型資料庫系統雖然技術很成熟,但其局限性也是顯而易見的:它能很好地處理所謂的“表格型數據”,卻對技術界出現的越來越多的複雜類型的數據無能為力。九十年代以後,技術界一直在研究和尋求新型資料庫系統。但在什麼是新型資料庫系統的發展方向的問題上,產業界一度是相當困惑的。受當時技術風潮的影響,在相當一段時間內,人們把大量的精力花在研究“面向對象的資料庫系統(object oriented database)”或簡稱“OO資料庫系統”。值得一提的是,美國Stonebraker教授提出的面向對象的關係型資料庫理論曾一度受到產業界的青睞。而Stonebraker本人也在當時被Informix花大價錢聘為技術總負責人。
然而,數年的發展表明,面向對象的關係型資料庫系統產品的市場發展的情況並不理想。理論上的完美性並沒有帶來市場的熱烈反應。其不成功的主要原因在於,這種資料庫產品的主要設計思想是企圖用新型資料庫系統來取代現有的資料庫系統。這對許多已經運用資料庫系統多年並積累了大量工作數據的客戶,尤其是大客戶來說,是無法承受新舊數據間的轉換而帶來的巨大工作量及巨額開支的。另外,面向對象的關係型資料庫系統使查詢語言變得極其複雜,從而使得無論是資料庫的開發商家還是套用客戶都視其複雜的套用技術為畏途。
5. 數據管理的變革
二十世紀六十年代後期出現了一種新型資料庫軟體:決定支持系統(DSS),其目的是讓管理者在決策過程中更有效地利用數據信息。於是在1970年, 第一個在線上分析處理工具——Express誕生了。其他決策支持系統緊隨其後,許多是由公司的IT部門開發出來的。
1985年,第一個商務智慧型系統(business intelligence)由Metaphor計算機系統有限公司為Procter & Gamble公司開發出來,主要是用來連線銷售信息和零售的掃瞄器數據。同年,Pilot軟體公司開始出售第一個商用客戶/伺服器執行信息系統——Command Center。同樣在這年,加州大學伯克利分校Ingres項目演變成Postgres,其目標是開發出一個面向對象的資料庫。此後一年, Graphael公司開發了第一個商用的對象資料庫系統—Gbase。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy發明了一個新的術語—信息倉庫,之後,IT的廠商開始構建實驗性的數據倉庫。1991年,W.H. "Bill" Inmon出版了一本“如何構建數據倉庫”的書,使得數據倉庫真正開始套用。
1991: W.H.“Bill” Inmon發表了”構建數據倉庫”
二十世紀九十年代,隨著基於PC的客戶/伺服器計算模式和企業軟體包的廣泛採用,數據管理的變革基本完成。數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。Internet的異軍突起以及XML語言的出現,給資料庫系統的發展開闢了一片新的天地。

未來趨勢

隨著信息管理內容的不斷擴展,出現了豐富多樣的數據模型(層次模型,網狀模型,關係模型,面向對象模型,半結構化模型等),新技術也層出不窮(數據流,Web數據管理,數據挖掘等)。目前每隔幾年,國際上一些資深的資料庫專家就會聚集一堂,探討資料庫研究現狀,存在的問題和未來需要關注的新技術焦點。過去已有的幾個類似報告包括:1989 年Future Directions inDBMS Research-The Laguna BeachParticipants ,1990 年DatabaseSystems : Achievements and Opportunities ,1995 年的Database 1991:W.H. Inmon 發表了《構建數據倉庫》

大事記

1951:Univac系統使用磁帶和穿孔卡片作為數據存儲。
1956:IBM公司在其Model 305 RAMAC中第一次引入了磁碟驅動器
1961:通用電氣(GE)公司的Charles Bachman開發了第一個資料庫管理系統——IDS
1969:E.F. Codd發明了關係資料庫。
1973: 由John J.Cullinane領導Cullinane公司開發了 IDMS——一個針對IBM主機的基於網路模型的資料庫。
1976: Honeywell公司推出了Multics Relational Data Store——第一個商用關係資料庫產品。
1979: Oracle公司引入了第一個商用SQL關係資料庫管理系統。
1983: IBM 推出了DB2資料庫產品。
1985: 為Procter & Gamble系統設計的第一個商務智慧型系統產生。
1991: W.H.“Bill” Inmon發表了”構建數據倉庫”。

檢查病毒

1:使用惡意軟體掃描器
有的資料庫伺服器因為怕性能下降或者系統崩潰而不採取,或者採取有限的惡意軟體防範措施。很如果沒有安裝反病毒軟體,就儘快安裝一個防毒軟體。如果需要實時保護的資源太多了,那么就要將資料庫和其它高活動性的目錄排除在實時掃描的外面吧。否則,最低限度,也要安裝反病毒軟體,然後每隔幾天,找個非高峰的時間來掃描本地磁碟。
如果已經運行了反病毒軟體,那么確保它是最新的(那些基於客戶端的自動更新和網路管理簽名並不是百分百的可靠),並且執行一次全面的系統掃描。
2: 查看記憶體
可以使用Windows任務管理器來搜尋那些看起來就屬於惡意軟體,或者使用了太多記憶體或者占用了大量CPU時間的應用程式。建議使用Sysinternals公司的Process Explorer(下面高亮顯示的NetBus Trojan),因為它提供了運行進程的較多信息,並且以更可靠的方式來殺掉那些不應該的進程。
在網路中的所有系統中,確實需要徹底地了解資料庫——其中包括記錄哪些進程應該運行,哪些不應該。所以,如果在第一次安裝之後擁有了良好的基線——甚至是現在,假設所有事物都運行得很好——當發生特洛伊類型的問題的時候,就可以用它作為比較的基礎。
3: 查看開放的連線埠
可以使用Windows內置的netstat工具來查看哪些連線埠開放的,並且連線到伺服器上。在命令行中,輸入netstat –an more,可以一頁挨著一頁地查看開放的和監聽的TCP和UDP連線埠。還有一種更好的方法就是使用Foundstone的 Vision工具或者Sysinternals公司的TCPView工具來完成。
4: 查看網路流量
也許判斷SQL Server中是否發生了惡意行為的最簡單辦法就是看看它是否進行了網路通信。如果有一個非常順手的網路分析器,那么就可以在1、2分鐘之內發現情況。可以使用SQL Server自身攜帶的分析器,或者從別處連線到乙太網交換器的交換或者鏡像連線埠上。
EtherPeek可以輕鬆抓取網路流量,並且高亮顯示特洛伊的動作——在本次網路流量抓取過程中可以真正地創建網路分析觸發器和過濾器,如果知道要尋找什麼的話。這裡的列表列出了常見的特洛伊和相關連線埠的細膩向。這種發現惡意流量的方法並不是十分安全,因為連線埠號是可以經常更換的,但是它的伺服器是個不錯的目標。
可以在“監控”模式下運行Ether Peek,讓它對網路上發生的事情有個從上到下的整體視角,——而不需要抓取包。可以查看正在使用哪個協定,尋找巨大的流量,奇怪的通信,以及其它網路進出SQL Server系統的傾向。
5:對付惡意軟體的方法
特洛伊木馬是計算機上的一個令人厭惡的創造——它創建遠程訪問隧道,截獲按鍵,刪除數據等更多事情——特別是在最重要的伺服器上。很明顯,最好的辦法就是不用SQL Server進行Internet訪問,Web瀏覽,電子郵件等行為。——但是,這不現實。(或者其他人)可能會需要它最終不僅僅作為一個資料庫伺服器。一旦這樣的事情出現了,就需要確保是被保護的。不要把責任推卸給其他人,或者其他任何東西,特洛伊不是運行在他們的系統上。不論以何種方式,永遠不要假設反病毒軟體可以保證萬無一失。
分析並解決惡意軟體的方法:如果想要攻擊,或者安裝一個可以在網路上給幫助的欺詐軟體,那么沒有什麼地方比直接在SQL Server上更好了。伺服器上可能還沒有特洛伊,但是如果感覺到有問題,那么兇手就可以很容易發現。

重要人物

埃德加·考特(EdgarF.Codd)
計算機界公認的關係資料庫之父。1970年他提出了關係模型的理論,1970年以後,E.F.Codd繼續完善和發展關係理論;之後創辦了一個研究所The RelationalInstitute和一個公司Codd & Associations;1990 年出版了專著The Relational Modelfor Database Management:Version 2
。E.F.Codd 以其對關係資料庫的卓越貢獻獲得了1983 年ACM圖靈獎。
C.J.戴特(C.J.Date)
C.J.Date 是最早認識到Codd 在關係模型方面所做的開創性貢獻的學者之一,他是關係資料庫技術領域中非常著名的獨立撰稿人、學者和顧問,他使得關係模型的概念普及化。他參與了IBM公司的SQL/DS和DB2兩大產品的技術規劃和設計。30多年來,Date 一直活躍在資料庫領域中,其著作有《資料庫系統導論》,《對象關係資料庫基礎:第三次宣言》(1998)等。
吉姆·格雷(Jim Gray)
Jim Gray使關係模型的技術實用化,他為RDBMS成熟並順利進入市場起到了關鍵性的作用。他在事務處理方面取得了突出的貢獻,使他成為該技術領域公認的權威,他也成為圖靈獎誕生32 年來第三位在資料庫技術的發展中作出重大貢獻而獲此殊榮的學者。曾參與主持過IMS、System R、SQL/DS、DB2等項目的開發。他的研究成果反映在他發表的一系列論文和研究報告之中,最後結晶為一部厚厚的專著:Transaction Processing: Concepts andTechniques。
Michael Stonebraker
Michael Stonebraker是Ingres的創始人。他是加州大學伯克利分校的教授,著名的資料庫學者,他在1992 年提出對象關係資料庫模型。S t o n e b r a k e r 教授領導了稱為Postgres 的後Ingres 項目。這個項目的成果是非常巨大的,在現代資料庫的許多方面都做出的大量的貢獻。Stonebraker 教授還做出了一件造福全人類的事情,那就是把Postgres 放在了BSD 著作權的保護下。
Jeffrey D. Ullman
Jeffrey D. Ullman 是國際知名的資料庫專家。現為史丹福大學的Stanford W. Ascherman計算機科學教授。1996 年獲得Sigmod 貢獻獎和1998年Karl V. Karstrom 傑出教育家獎獲得者。出版了多本資料庫專著。

研究機構

ACM SIGMOD
國際計算機學會數據管理專業委員會(ACM SIGMOD)是國際資料庫領域最高級別的國際會議。其主要致力於資料庫以及信息技術的研究,開發和套用。SIGMOD 每年召開一次,SIGMODRecord 是其發行的資料庫期刊。
VLDB
國際超大型資料庫會議(Int ernationalConference on Very Large Data Bases,VLDB)是一個專門從事超大規模資料庫管理理論、方法和套用研究的專業性學術機構,它涉及的內容也很豐富,包括研究及套用的諸多方面,基本上能夠較全面地反映當前資料庫研究的前沿方向、工業界的最新技術以及各國的研發水平。1975年,以美籍華裔科學家肖開美教授(DaveHsiao)為首的一批資料庫學者發起組織了第一屆VLDB會議。此後每年召開一次,已成為是資料庫領域中最主要、規模最大的國際學術會議。
ICDE
數據工程國際學術會議(ICDE)是由IEEE計算機數據工程技術學會(TCDE)主辦的資料庫領域的最高級別的國際性會議之一。會議產生出版季刊數據工程通報(英文Data Engineering Bulletin)。TCDE致力於研究數據在信息系統的設計、實現與管理中的作用,面向的主要問題包括資料庫設計、數據處理、資料庫存儲與操縱語言、數據採集的策略與機制、資料庫的安全性與完整性控制、資料庫的工程套用以及分散式系統。
CCF DBS
中國計算機學會資料庫專業委員會(CHINA COMPUTER FEDERATION DATABASE SOCIETY,簡稱CCFDBS)是中國計算機學會領導下的資料庫學術組織,於1999 年8 月24日在蘭州大學召開的第十六屆全國資料庫學術會議上正式成立。由資料庫專業委員會主辦的全國資料庫學術會議(NDBC)始於1977 年,至今已舉辦20 屆。NDBC這一傳統的資料庫盛會已成為國內資料庫領域較為權威的會議。
資料庫軟體
比較常見的有三種資料庫:
ACCESS, SQL Server 和 Oracle 其中ACCESS 是美國Microsoft公司於1994年推出的微機資料庫管理系統.它具有界面友好、易學易用、開發簡單、接口靈活等特點,是典型的新一代桌面資料庫管理系統. 其主要特點如下: 完善地管理各種資料庫對象,具有強大的數據組織、用戶管理。
ACCESS 的功能相對不是那么強大,主要是開發單機版軟體中經常用到,SQL Server 是目前套用比較廣泛和普遍的一款資料庫,是資料庫發展的一個里程碑。 Oracle的功能是比較強大的,一般用於超大型管理系統軟體的建立,現在的套用範圍也已經比較廣泛。

事件

香港特區金管局今日宣布,就香港的場外衍生工具交易設立本地交易數據儲存庫。
香港的儲存庫訂於2012年啟用,並會以金管局運作的債務工具中央結算系統下的一項新服務的形式推出。儲存庫將會與香港交易所推出的場外衍生工具結算所建立聯網,可讓合資格交易經由結算所進行中央結算。金管局會與政府及證券及期貨事務監察委員會合作制定場外衍生工具市場的監管制度,其中會涵蓋向儲存庫匯報場外衍生工具交易(尤其涉及香港市場的交易),以及由認可結算所結算標準化場外衍生工具交易的規定。
初期匯報及結算規定會適用於利率掉期契約及不交收遠期外匯契約。金管局會在儲存庫及結算所啟用後,參考本地及海外市場的發展形勢,包括國際監管機構的任何進一步指引,再考慮將有關規定的適用範圍擴大至其它合適的場外衍生工具資產類別。政府會在明年第三季度前就有關監管規定諮詢業界。
金管局發言人表示,金管局支持香港交易所就場外衍生工具設立結算所,並認為香港有必要設立本地儲存庫,而現在正是適當時機。本地儲存庫及結算所對鞏固香港的場外衍生工具市場的穩健性及提升透明度具有關鍵作用,使香港的金融市場基建與國際標準看齊。

元數據儲存

利用CWM標準,提出數據倉庫元數據管理系統實現方案,並給出系統的體系結構和簡單功能描述。著重介紹了該實現方案的元數據存儲庫MetaStore設計,它套用"對象關係映射"技術,建立在關係資料庫上,不僅解決了CWM中類、關聯和繼承在庫中的實現,而且與數據倉庫構建模式緊密結合,能夠集成多個主題的不同數據倉庫的元數據。

相關詞條

熱門詞條

聯絡我們