百科解釋
目錄·定義·數(shù)據(jù)庫的基本結(jié)構(gòu)·數(shù)據(jù)庫的主要特點·數(shù)據(jù)庫發(fā)展階段·數(shù)據(jù)庫結(jié)構(gòu)與數(shù)據(jù)庫種類·常用數(shù)據(jù)庫·數(shù)據(jù)庫發(fā)展史·數(shù)據(jù)庫未來發(fā)展趨勢·數(shù)據(jù)庫發(fā)展大事記·史上重要人物·數(shù)據(jù)庫領(lǐng)域研究組織和機構(gòu) 定義 定義1 當(dāng)人們從不同的角度來描述這一概念時就有不同的定義(當(dāng)然是描述性的)。例如,稱數(shù)據(jù)庫是一個“記錄保存系統(tǒng)”(該定義強調(diào)了數(shù)據(jù)庫是若干記錄的集合)。又如稱數(shù)據(jù)庫是“人們?yōu)榻鉀Q特定的任務(wù),以一定的組織方式存儲在一起的相關(guān)的數(shù)據(jù)的集合”(該定義側(cè)重于數(shù)據(jù)的組織)。更有甚者稱數(shù)據(jù)庫是“一個數(shù)據(jù)倉庫”。當(dāng)然,這種說法雖然形象,但并不嚴謹。 嚴格地說,數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。在經(jīng)濟管理的日常工作中,常常需要把某些相關(guān)的數(shù)據(jù)放進這樣“倉庫”,并根據(jù)管理的需要進行相應(yīng)的處理。例如,企業(yè)或事業(yè)單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數(shù)據(jù)庫。有了這個"數(shù)據(jù)倉庫"我們就可以根據(jù)需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內(nèi)的職工人數(shù)等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務(wù)管理、倉庫管理、生產(chǎn)管理中也需要建立眾多的這種"數(shù)據(jù)庫",使其可以利用計算機實現(xiàn)財務(wù)、倉庫、生產(chǎn)的自動化管理。 J.Martin給數(shù)據(jù)庫下了一個比較完整的定義:數(shù)據(jù)庫是存儲在一起的相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)是結(jié)構(gòu)化的,無有害的或不必要的冗余,并為多種應(yīng)用服務(wù);數(shù)據(jù)的存儲獨立于使用它的程序;對數(shù)據(jù)庫插入新數(shù)據(jù),修改和檢索原有數(shù)據(jù)均能按一種公用的和可控制的方式進行。當(dāng)某個系統(tǒng)中存在結(jié)構(gòu)上完全分開的若干個數(shù)據(jù)庫時,則該系統(tǒng)包含一個“數(shù)據(jù)庫集合”。 定義2 數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級存儲器中的數(shù)據(jù)集合。這種數(shù)據(jù)集合具有如下特點:盡可能不重復(fù),以最優(yōu)方式為某個特定組織的多種應(yīng)用服務(wù),其數(shù)據(jù)結(jié)構(gòu)獨立于使用它的應(yīng)用程序,對數(shù)據(jù)的增、刪、改和檢索由統(tǒng)一軟件進行管理和控制。從發(fā)展的歷史看,數(shù)據(jù)庫是數(shù)據(jù)管理的高級階段,它是由文件管理系統(tǒng)發(fā)展起來的。數(shù)據(jù)庫的基本結(jié)構(gòu) 數(shù)據(jù)庫的基本結(jié)構(gòu)分三個層次,反映了觀察數(shù)據(jù)庫的三種不同角度。 (1)物理數(shù)據(jù)層。 它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。 (2)概念數(shù)據(jù)層。 它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。 (3)邏輯數(shù)據(jù)層。 它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。 數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進行轉(zhuǎn)換的。 (學(xué)習(xí)了)數(shù)據(jù)庫的主要特點 (1)實現(xiàn)數(shù)據(jù)共享。 數(shù)據(jù)共享包含所有用戶可同時存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。 (2)減少數(shù)據(jù)的冗余度。 同文件系統(tǒng)相比,由于數(shù)據(jù)庫實現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件。減少了大量重復(fù)數(shù)據(jù),減少了數(shù)據(jù)冗余,維護了數(shù)據(jù)的一致性。 (3)數(shù)據(jù)的獨立性。 數(shù)據(jù)的獨立性包括數(shù)據(jù)庫中數(shù)據(jù)庫的邏輯結(jié)構(gòu)和應(yīng)用程序相互獨立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。 (4)數(shù)據(jù)實現(xiàn)集中控制。 文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同處理中其文件之間毫無關(guān)系。利用數(shù)據(jù)庫可對數(shù)據(jù)進行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。 (5)數(shù)據(jù)一致性和可維護性,以確保數(shù)據(jù)的安全性和可靠性。 主要包括:①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用;②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性;③并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用;④故障的發(fā)現(xiàn)和恢復(fù):由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復(fù)故障,從而防止數(shù)據(jù)被破壞數(shù)據(jù)庫發(fā)展階段 數(shù)據(jù)庫發(fā)展階段大致劃分為如下幾個階段: 人工管理階段; 文件系統(tǒng)階段; 數(shù)據(jù)庫系統(tǒng)階段; 高級數(shù)據(jù)庫階段。數(shù)據(jù)庫結(jié)構(gòu)與數(shù)據(jù)庫種類 數(shù)據(jù)庫通常分為層次式數(shù)據(jù)庫、網(wǎng)絡(luò)式數(shù)據(jù)庫和關(guān)系式數(shù)據(jù)庫三種。而不同的數(shù)據(jù)庫是按不同的數(shù)據(jù)結(jié)構(gòu)來聯(lián)系和組織的。 1.數(shù)據(jù)結(jié)構(gòu)模型 (1)數(shù)據(jù)結(jié)構(gòu) 所謂數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系。如果用D表示數(shù)據(jù),用R表示數(shù)據(jù)對象之間存在的關(guān)系集合,則將DS=(D,R)稱為數(shù)據(jù)結(jié)構(gòu)。例如,設(shè)有一個電話號碼簿,它記錄了n個人的名字和相應(yīng)的電話號碼。為了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,并在名字的后面跟隨著對應(yīng)的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那么只須查找以Y開頭的那些名字就可以了。該例中,數(shù)據(jù)的集合D就是人名和電話號碼,它們之間的聯(lián)系R就是按字典順序的排列,其相應(yīng)的數(shù)據(jù)結(jié)構(gòu)就是DS=(D,R),即一個數(shù)組。(2)數(shù)據(jù)結(jié)構(gòu)種類 數(shù)據(jù)結(jié)構(gòu)又分為數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯的角度(即數(shù)據(jù)間的聯(lián)系和組織方式)來觀察數(shù)據(jù),分析數(shù)據(jù),與數(shù)據(jù)的存儲位置無關(guān)。數(shù)據(jù)的物理結(jié)構(gòu)是指數(shù)據(jù)在計算機中存放的結(jié)構(gòu),即數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的實現(xiàn)形式,所以物理結(jié)構(gòu)也被稱為存儲結(jié)構(gòu)。這里只研究數(shù)據(jù)的邏輯結(jié)構(gòu),并將反映和實現(xiàn)數(shù)據(jù)聯(lián)系的方法稱為數(shù)據(jù)模型。 目前,比較流行的數(shù)據(jù)模型有三種,即按圖論理論建立的層次結(jié)構(gòu)模型和網(wǎng)狀結(jié)構(gòu)模型以及按關(guān)系理論建立的關(guān)系結(jié)構(gòu)模型。 2.層次、網(wǎng)狀和關(guān)系數(shù)據(jù)庫系統(tǒng) (1)層次結(jié)構(gòu)模型 層次結(jié)構(gòu)模型實質(zhì)上是一種有根結(jié)點的定向有序樹(在數(shù)學(xué)中"樹"被定義為一個無回的連通圖)。例如圖20.6.4是一個高等學(xué)校的組織結(jié)構(gòu)圖。這個組織結(jié)構(gòu)圖像一棵樹,校部就是樹根(稱為根結(jié)點),各系、專業(yè)、教師、學(xué)生等為枝點(稱為結(jié)點),樹根與枝點之間的聯(lián)系稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。 按照層次模型建立的數(shù)據(jù)庫系統(tǒng)稱為層次模型數(shù)據(jù)庫系統(tǒng)。IMS(Information Manage-mentSystem)是其典型代表。 (2)網(wǎng)狀結(jié)構(gòu)模型 按照網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)建立的數(shù)據(jù)庫系統(tǒng)稱為網(wǎng)狀數(shù)據(jù)庫系統(tǒng),其典型代表是DBTG(Data Base Task Group)。用數(shù)學(xué)方法可將網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為層次數(shù)據(jù)結(jié)構(gòu)。 (3)關(guān)系結(jié)構(gòu)模型 關(guān)系式數(shù)據(jù)結(jié)構(gòu)把一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二維表格形式)。例如某單位的職工關(guān)系就是一個二元關(guān)系。 由關(guān)系數(shù)據(jù)結(jié)構(gòu)組成的數(shù)據(jù)庫系統(tǒng)被稱為關(guān)系數(shù)據(jù)庫系統(tǒng)。 在關(guān)系數(shù)據(jù)庫中,對數(shù)據(jù)的操作幾乎全部建立在一個或多個關(guān)系表格上,通過對這些關(guān)系表格的分類、合并、連接或選取等運算來實現(xiàn)數(shù)據(jù)的管理。dBASEII就是這類數(shù)據(jù)庫管理系統(tǒng)的典型代表。對于一個實際的應(yīng)用問題(如人事管理問題),有時需要多個關(guān)系才能實現(xiàn)。用dBASEII建立起來的一個關(guān)系稱為一個數(shù)據(jù)庫(或稱數(shù)據(jù)庫文件),而把對應(yīng)多個關(guān)系建立起來的多個數(shù)據(jù)庫稱為數(shù)據(jù)庫系統(tǒng)。dBASEII的另一個重要功能是通過建立命令文件來實現(xiàn)對數(shù)據(jù)庫的使用和管理,對于一個數(shù)據(jù)庫系統(tǒng)相應(yīng)的命令序列文件,稱為該數(shù)據(jù)庫的應(yīng)用系統(tǒng)。因此,可以概括地說,一個關(guān)系稱為一個數(shù)據(jù)庫,若干個數(shù)據(jù)庫可以構(gòu)成一個數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)可以派生出各種不同類型的輔助文件和建立它的應(yīng)用系統(tǒng)。常用數(shù)據(jù)庫 1. IBM 的DB2 作為關(guān)系數(shù)據(jù)庫領(lǐng)域的開拓者和領(lǐng)航人,IBM在1997年完成了System R系統(tǒng)的原型,1980年開始提供集成的數(shù)據(jù)庫服務(wù)器—— System/38,隨后是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關(guān)。DB2 forMVSV1 在1983年推出。該版本的目標是提供這一新方案所承諾的簡單性,數(shù)據(jù)不相關(guān)性和用戶生產(chǎn)率。1988年DB2 for MVS 提供了強大的在線事務(wù)處理(OLTP)支持,1989 年和1993 年分別以遠程工作單元和分布式工作單元實現(xiàn)了分布式數(shù)據(jù)庫支持。最近推出的DB2 Universal Database 6.1則是通用數(shù)據(jù)庫的典范,是第一個具備網(wǎng)上功能的多媒體關(guān)系數(shù)據(jù)庫管理系統(tǒng),支持包括Linux在內(nèi)的一系列平臺。 2. Oracle Oracle 前身叫SDL,由Larry Ellison 和另兩個編程人員在1977創(chuàng)辦,他們開發(fā)了自己的拳頭產(chǎn)品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用SQL 關(guān)系數(shù)據(jù)庫管理系統(tǒng)。Oracle公司是最早開發(fā)關(guān)系數(shù)據(jù)庫的廠商之一,其產(chǎn)品支持最廣泛的操作系統(tǒng)平臺。目前Oracle關(guān)系數(shù)據(jù)庫產(chǎn)品的市場占有率名列前茅。 3. Informix Informix在1980年成立,目的是為Unix等開放操作系統(tǒng)提供專業(yè)的關(guān)系型數(shù)據(jù)庫產(chǎn)品。公司的名稱Informix便是取自Information 和Unix的結(jié)合。Informix第一個真正支持SQL語言的關(guān)系數(shù)據(jù)庫產(chǎn)品是Informix SE(StandardEngine)。InformixSE是在當(dāng)時的微機Unix環(huán)境下主要的數(shù)據(jù)庫產(chǎn)品。它也是第一個被移植到Linux上的商業(yè)數(shù)據(jù)庫產(chǎn)品。 4. Sybase Sybase公司成立于1984年,公司名稱“Sybase”取自“system”和“database” 相結(jié)合的含義。Sybase公司的創(chuàng)始人之一Bob Epstein 是Ingres 大學(xué)版(與System/R同時期的關(guān)系數(shù)據(jù)庫模型產(chǎn)品)的主要設(shè)計人員。公司的第一個關(guān)系數(shù)據(jù)庫產(chǎn)品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 數(shù)據(jù)庫體系結(jié)構(gòu)的思想,并率先在Sybase SQLServer 中實現(xiàn)。 5. SQL Server 1987 年,微軟和IBM合作開發(fā)完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統(tǒng)中綁定了OS/2Database Manager,而微軟產(chǎn)品線中尚缺少數(shù)據(jù)庫產(chǎn)品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協(xié)議,使用Sybase的技術(shù)開發(fā)基于OS/2平臺的關(guān)系型數(shù)據(jù)庫。1989年,微軟發(fā)布了SQL Server 1.0 版。 6. PostgreSQL PostgreSQL 是一種特性非常齊全的自由軟件的對象——關(guān)系性數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),它的很多特性是當(dāng)今許多商業(yè)數(shù)據(jù)庫的前身。PostgreSQL最早開始于BSD的Ingres項目。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以說是目前世界上最豐富的數(shù)據(jù)類型的支持;其次,目前PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫管理系統(tǒng). 7.mysql MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL的官方網(wǎng)站的網(wǎng)址是: www.mysql.com數(shù)據(jù)庫發(fā)展史 數(shù)據(jù)庫技術(shù)從誕生到現(xiàn)在,在不到半個世紀的時間里,形成了堅實的理論基礎(chǔ)、成熟的商業(yè)產(chǎn)品和廣泛的應(yīng)用領(lǐng)域,吸引越來越多的研究者加入。數(shù)據(jù)庫的誕生和發(fā)展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內(nèi)外已經(jīng)開發(fā)建設(shè)了成千上萬個數(shù)據(jù)庫,它已成為企業(yè)、部門乃至個人日常工作、生產(chǎn)和生活的基礎(chǔ)設(shè)施。同時,隨著應(yīng)用的擴展與深入,數(shù)據(jù)庫的數(shù)量和規(guī)模越來越大,數(shù)據(jù)庫的研究領(lǐng)域也已經(jīng)大大地拓廣和深化了。30年間數(shù)據(jù)庫領(lǐng)域獲得了三次計算機圖靈(C.W. Bachman,E.F.Codd, J.Gray),更加充分地說明了數(shù)據(jù)庫是一個充滿活力和創(chuàng)新精神的領(lǐng)域。就讓我們沿著歷史的軌跡,追溯一下數(shù)據(jù)庫的發(fā)展歷程。 一、數(shù)據(jù)庫發(fā)展簡史 1. 數(shù)據(jù)管理的誕生 數(shù)據(jù)庫的歷史可以追溯到五十年前,那時的數(shù)據(jù)管理非常簡單。通過大量的分類、比較和表格繪制的機器運行數(shù)百萬穿孔卡片來進行數(shù)據(jù)的處理,其運行結(jié)果在紙上打印出來或者制成新的穿孔卡片。而數(shù)據(jù)管理就是對所有這些穿孔卡片進行物理的儲存和處理。然而,1 9 5 1 年雷明頓蘭德公司(Remington Rand Inc.)的一種叫做Univac I 的計算機推出了一種一秒鐘可以輸入數(shù)百條記錄的磁帶驅(qū)動器,從而引發(fā)了數(shù)據(jù)管理的革命。1956 年IBM生產(chǎn)出第一個磁盤驅(qū)動器—— the Model 305 RAMAC。此驅(qū)動器有50 個盤片,每個盤片直徑是2 英尺,可以儲存5MB的數(shù)據(jù)。使用磁盤最大的好處是可以隨機地存取數(shù)據(jù),而穿孔卡片和磁帶只能順序存取數(shù)據(jù)。 1951: Univac系統(tǒng)使用磁帶和穿孔卡片作為數(shù)據(jù)存儲。 數(shù)據(jù)庫系統(tǒng)的萌芽出現(xiàn)于60 年代。當(dāng)時計算機開始廣泛地應(yīng)用于數(shù)據(jù)管理,對數(shù)據(jù)的共享提出了越來越高的要求。傳統(tǒng)的文件系統(tǒng)已經(jīng)不能滿足人們的需要。能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)應(yīng)運而生。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),各種DBMS 軟件都是基于某種數(shù)據(jù)模型的。所以通常也按照數(shù)據(jù)模型的特點將傳統(tǒng)數(shù)據(jù)庫系統(tǒng)分成網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫三類。 最早出現(xiàn)的是網(wǎng)狀 DBMS,是美國通用電氣公司Bachman等人在1961年開發(fā)成功的IDS(Integrated DataStore)。1961年通用電氣公司(General ElectricCo.)的Charles Bachman 成功地開發(fā)出世界上第一個網(wǎng)狀DBMS也是第一個數(shù)據(jù)庫管理系統(tǒng)—— 集成數(shù)據(jù)存儲(Integrated DataStore IDS),奠定了網(wǎng)狀數(shù)據(jù)庫的基礎(chǔ),并在當(dāng)時得到了廣泛的發(fā)行和應(yīng)用。IDS 具有數(shù)據(jù)模式和日志的特征。但它只能在GE主機上運行,并且數(shù)據(jù)庫只有一個文件,數(shù)據(jù)庫所有的表必須通過手工編碼來生成。之后,通用電氣公司一個客戶——BF Goodrich Chemical 公司最終不得不重寫了整個系統(tǒng)。并將重寫后的系統(tǒng)命名為集成數(shù)據(jù)管理系統(tǒng)(IDMS)。 網(wǎng)狀數(shù)據(jù)庫模型對于層次和非層次結(jié)構(gòu)的事物都能比較自然的模擬,在關(guān)系數(shù)據(jù)庫出現(xiàn)之前網(wǎng)狀DBMS要比層次DBMS用得普遍。在數(shù)據(jù)庫發(fā)展史上,網(wǎng)狀數(shù)據(jù)庫占有重要地位。 層次型DBMS是緊隨網(wǎng)絡(luò)型數(shù)據(jù)庫而出現(xiàn)的。最著名最典型的層次數(shù)據(jù)庫系統(tǒng)是IBM 公司在1968 年開發(fā)的IMS 。↖nformation Management System),一種適合其主機的層次數(shù)據(jù)庫。這是IBM公司研制的最早的大型數(shù)據(jù)庫系統(tǒng)程序產(chǎn)品。從60 年代末產(chǎn)生起,如今已經(jīng)發(fā)展到IMSV6,提供群集、N路數(shù)據(jù)共享、消息隊列共享等先進特性的支持。這個具有3 0 年歷史的數(shù)據(jù)庫產(chǎn)品在如今的WWW應(yīng)用連接、商務(wù)智能應(yīng)用中扮演著新的角色。 1973 年Cullinane 公司(也就是后來的Cullinet軟件公司),開始出售Goodrich 公司的IDMS 改進版本,并且逐漸成為當(dāng)時世界上最大的軟件公司。 2. 關(guān)系數(shù)據(jù)庫的由來 網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫已經(jīng)很好地解決了數(shù)據(jù)的集中和共享問題,但是在數(shù)據(jù)獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種數(shù)據(jù)庫進行存取時,仍然需要明確數(shù)據(jù)的存儲結(jié)構(gòu),指出存取路徑。而后來出現(xiàn)的關(guān)系數(shù)據(jù)庫較好地解決了這些問題。 1970年,IBM的研究員E.F.Codd博士在刊物《Communication of the ACM》上發(fā)表了一篇名為“A Relational Model of Data for Large Shared Data Banks”的論文,提出了關(guān)系模型的概念,奠定了關(guān)系模型的理論基礎(chǔ)。盡管之前在1968年Childs已經(jīng)提出了面向集合的模型,然而這篇論文被普遍認為是數(shù)據(jù)庫系統(tǒng)歷史上具有劃時代意義的里程碑。Codd的心愿是為數(shù)據(jù)庫建立一個優(yōu)美的數(shù)據(jù)模型。后來Codd又陸續(xù)發(fā)表多篇文章,論述了范式理論和衡量關(guān)系系統(tǒng)的12條標準,用數(shù)學(xué)理論奠定了關(guān)系數(shù)據(jù)庫的基礎(chǔ)。關(guān)系模型有嚴格的數(shù)學(xué)基礎(chǔ),抽象級別比較高,而且簡單清晰,便于理解和使用。但是當(dāng)時也有人認為關(guān)系模型是理想化的數(shù)據(jù)模型,用來實現(xiàn) DBMS是不現(xiàn)實的,尤其擔(dān)心關(guān)系數(shù)據(jù)庫的性能難以接受,更有人視其為當(dāng)時正在進行中的網(wǎng)狀數(shù)據(jù)庫規(guī)范化工作的嚴重威脅。為了促進對問題的理解,1974 年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關(guān)系數(shù)據(jù)庫兩派之間的辯論。這次著名的辯論推動了關(guān)系數(shù)據(jù)庫的發(fā)展,使其最終成為現(xiàn)代數(shù)據(jù)庫產(chǎn)品的主流。 1969: Edgar F!癟ed” Codd發(fā)明了關(guān)系數(shù)據(jù)庫 1970年關(guān)系模型建立之后,IBM公司在San Jose實驗室增加了更多的研究人員研究這個項目,這個項目就是著名的System R。其目標是論證一個全功能關(guān)系DBMS的可行性。該項目結(jié)束于1979年,完成了第一個實現(xiàn)SQL的 DBMS。然而IBM對IMS的承諾阻止了System R的投產(chǎn),一直到1980年System R才作為一個產(chǎn)品正式推向市場。IBM產(chǎn)品化步伐緩慢的三個原因:IBM重視信譽,重視質(zhì)量,盡量減少故障;IBM是個大公司,官僚體系龐大;IBM內(nèi)部已經(jīng)有層次數(shù)據(jù)庫產(chǎn)品,相關(guān)人員不積極,甚至反對。 然而同時,1973年加州大學(xué)伯克利分校的Michael Stonebraker和Eugene Wong利用System R已發(fā)布的信息開始開發(fā)自己的關(guān)系數(shù)據(jù)庫系統(tǒng)Ingres。他們開發(fā)的Ingres項目最后由Oracle公司、Ingres公司以及硅谷的其他廠商所商品化。后來,System R和Ingres系統(tǒng)雙雙獲得ACM的1988年“軟件系統(tǒng)獎”。 1976年霍尼韋爾公司(Honeywell)開發(fā)了第一個商用關(guān)系數(shù)據(jù)庫系統(tǒng)——Multics Relational Data Store。關(guān)系型數(shù)據(jù)庫系統(tǒng)以關(guān)系代數(shù)為堅實的理論基礎(chǔ),經(jīng)過幾十年的發(fā)展和實際應(yīng)用,技術(shù)越來越成熟和完善。其代表產(chǎn)品有Oracle、IBM公司的 DB2、微軟公司的MS SQL Server以及Informix、ADABASD等等。 3. 結(jié)構(gòu)化查詢語言 (SQL) 1974 年,IBM的Ray Boyce和Don Chamberlin將Codd關(guān)系數(shù)據(jù)庫的12條準則的數(shù)學(xué)定義以簡單的關(guān)鍵字語法表現(xiàn)出來,里程碑式地提出了SQL(Structured Query Language)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。SQL集成實現(xiàn)了數(shù)據(jù)庫生命周期中的全部操作。SQL提供了與關(guān)系數(shù)據(jù)庫進行交互的方法,它可以與標準的編程語言一起工作。自產(chǎn)生之日起,SQL語言便成了檢驗關(guān)系數(shù)據(jù)庫的試金石,而SQL語言標準的每一次變更都指導(dǎo)著關(guān)系數(shù)據(jù)庫產(chǎn)品的發(fā)展方向。然而,直到二十世紀七十年代中期,關(guān)系理論才通過SQL在商業(yè)數(shù)據(jù)庫Oracle和DB2中使用。 1986年,ANSI把SQL作為關(guān)系數(shù)據(jù)庫語言的美國標準,同年公布了標準SQL文本。目前SQL標準有3個版本;維QL定義是ANSIX3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數(shù)據(jù)操作和事務(wù)處理。 SQL- 89和隨后的ANSIX3168-1989,“Database Language-Embedded SQL”構(gòu)成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現(xiàn)在叫做SQL-92標準。SQL-92包括模式操作,動態(tài)創(chuàng)建和SQL語句動態(tài)執(zhí)行、網(wǎng)絡(luò)環(huán)境支持等增強特性。在完成SQL-92標準后,ANSI和ISO即開始合作開發(fā)SQL3標準。SQL3的主要特點在于抽象數(shù)據(jù)類型的支持,為新一代對象關(guān)系數(shù)據(jù)庫提供了標準。 1969:Edgar F. Codd發(fā)明了關(guān)系數(shù)據(jù)庫 1976 年IBM E.F.Codd發(fā)表了一篇里程碑的論文“R系統(tǒng):數(shù)據(jù)庫關(guān)系理論”,介紹了關(guān)系數(shù)據(jù)庫理論和查詢語言SQL。Oracle的創(chuàng)始人Ellison非常仔細地閱讀了這篇文章,被其內(nèi)容震驚,這是第一次有人用全面一致的方案管理數(shù)據(jù)信息。作者E.F.Codd十年前就發(fā)表了關(guān)系數(shù)據(jù)庫理論,并在IBM 研究機構(gòu)開發(fā)原型,這個項目就是R系統(tǒng),存取數(shù)據(jù)表的語言就是SQL。Ellison看完后,敏銳意識到在這個研究基礎(chǔ)上可以開發(fā)商用軟件系統(tǒng)。而當(dāng)時大多數(shù)人認為關(guān)系數(shù)據(jù)庫不會有商業(yè)價值。Ellison認為這是他們的機會:他們決定開發(fā)通用商用數(shù)據(jù)庫系統(tǒng)Oracle,這個名字來源于他們曾給中央情報局做過的項目名。幾個月后,他們就開發(fā)了Oracle 1.0 。但這只不過是個玩具,除了完成簡單關(guān)系查詢不能做任何事情,他們花相當(dāng)長的時間才使Oracle變得可用,維持公司運轉(zhuǎn)主要靠承接一些數(shù)據(jù)庫管理項目和做顧問咨詢工作。而IBM卻沒有計劃開發(fā),為什么藍色巨人放棄了這個價值上百億的產(chǎn)品,原因有很多:IBM的研究人員大多是學(xué)術(shù)出身,他們最感興趣的是理論,而非推向市場的產(chǎn)品,從學(xué)術(shù)上看,研究成果應(yīng)公開,發(fā)表論文和演講能使他們成名,為什么不呢?還有一個很主要的原因就是IBM 當(dāng)時有一個銷售得還不錯的層次數(shù)據(jù)庫產(chǎn)品IMS。直到1985年I B M 才發(fā)布了關(guān)系數(shù)據(jù)庫D B 2 ,Ellision那時已經(jīng)成了千萬富翁。Ellison曾將IBM 選擇Microsoft 的MS-DOS作為IBM-PC機的操作系統(tǒng)比為:“世界企業(yè)經(jīng)營歷史上最嚴重的錯誤,價值超過了上千億美元!盜BM 發(fā)表R系統(tǒng)論文,而且沒有很快推出關(guān)系數(shù)據(jù)庫產(chǎn)品的錯誤可能僅僅次之。Oracle 的市值在1996年就達到了280億美元。 目前SQL標準有3個版本。基本SQL定義是ANSIX3135-89,“DatabaseLan guage —— SQL with IntegrityEnhancement”[ANS89],一般叫做SQL-89。SQL-89 定義了模式定義、數(shù)據(jù)操作和事務(wù)處理。S Q L - 8 9 和隨后的ANSIX3168-1989,“Database Language——Embedded SQL”構(gòu)成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現(xiàn)在叫做SQL-92標準。SQL-92 包括模式操作,動態(tài)創(chuàng)建和SQL語句動態(tài)執(zhí)行、網(wǎng)絡(luò)環(huán)境支持等增強特性。在完成SQL-92標準后,ANSI和ISO即開始合作開發(fā)SQL3標準。 SQL3的主要特點在于抽象數(shù)據(jù)類型的支持,為新一代對象關(guān)系數(shù)據(jù)庫提供了標準。 4. 面向?qū)ο髷?shù)據(jù)庫 隨著信息技術(shù)和市場的發(fā)展,人們發(fā)現(xiàn)關(guān)系型數(shù)據(jù)庫系統(tǒng)雖然技術(shù)很成熟,但其局限性也是顯而易見的:它能很好地處理所謂的“表格型數(shù)據(jù)”,卻對技術(shù)界出現(xiàn)的越來越多的復(fù)雜類型的數(shù)據(jù)無能為力。九十年代以后,技術(shù)界一直在研究和尋求新型數(shù)據(jù)庫系統(tǒng)。但在什么是新型數(shù)據(jù)庫系統(tǒng)的發(fā)展方向的問題上,產(chǎn)業(yè)界一度是相當(dāng)困惑的。受當(dāng)時技術(shù)風(fēng)潮的影響,在相當(dāng)一段時間內(nèi),人們把大量的精力花在研究“面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)(object oriented database)”或簡稱“OO數(shù)據(jù)庫系統(tǒng)”。值得一提的是,美國Stonebraker教授提出的面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫理論曾一度受到產(chǎn)業(yè)界的青睞。而Stonebraker本人也在當(dāng)時被Informix花大價錢聘為技術(shù)總負責(zé)人。 然而,數(shù)年的發(fā)展表明,面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫系統(tǒng)產(chǎn)品的市場發(fā)展的情況并不理想。理論上的完美性并沒有帶來市場的熱烈反應(yīng)。其不成功的主要原因在于,這種數(shù)據(jù)庫產(chǎn)品的主要設(shè)計思想是企圖用新型數(shù)據(jù)庫系統(tǒng)來取代現(xiàn)有的數(shù)據(jù)庫系統(tǒng)。這對許多已經(jīng)運用數(shù)據(jù)庫系統(tǒng)多年并積累了大量工作數(shù)據(jù)的客戶,尤其是大客戶來說,是無法承受新舊數(shù)據(jù)間的轉(zhuǎn)換而帶來的巨大工作量及巨額開支的。另外,面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫系統(tǒng)使查詢語言變得極其復(fù)雜,從而使得無論是數(shù)據(jù)庫的開發(fā)商家還是應(yīng)用客戶都視其復(fù)雜的應(yīng)用技術(shù)為畏途。 5. 數(shù)據(jù)管理的變革 二十世紀六十年代后期出現(xiàn)了一種新型數(shù)據(jù)庫軟件:決定支持系統(tǒng)(DSS),其目的是讓管理者在決策過程中更有效地利用數(shù)據(jù)信息。于是在1970年, 第一個聯(lián)機分析處理工具——Express誕生了。其他決策支持系統(tǒng)緊隨其后,許多是由公司的IT部門開發(fā)出來的。 1985年,第一個商務(wù)智能系統(tǒng)(business intelligence)由Metaphor計算機系統(tǒng)有限公司為Procter & Gamble公司開發(fā)出來,主要是用來連接銷售信息和零售的掃描儀數(shù)據(jù)。同年, Pilot 軟件公司開始出售第一個商用客戶/服務(wù)器執(zhí)行信息系統(tǒng)——Command Center。同樣在這年,加州大學(xué)伯克利分校Ingres項目演變成Postgres,其目標是開發(fā)出一個面向?qū)ο蟮臄?shù)據(jù)庫。此后一年, Graphael公司開發(fā)了第一個商用的對象數(shù)據(jù)庫系統(tǒng)—Gbase。 1988年,IBM公司的研究者Barry Devlin和Paul Murphy發(fā)明了一個新的術(shù)語—信息倉庫,之后,IT的廠商開始構(gòu)建實驗性的數(shù)據(jù)倉庫。1991年,W.H. "Bill" Inmon出版了一本“如何構(gòu)建數(shù)據(jù)倉庫”的書,使得數(shù)據(jù)倉庫真正開始應(yīng)用。 1991: W.H.“Bill” Inmon發(fā)表了”構(gòu)建數(shù)據(jù)倉庫” 二十世紀九十年代,隨著基于PC的客戶/服務(wù)器計算模式和企業(yè)軟件包的廣泛采用,數(shù)據(jù)管理的變革基本完成。數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。Internet的異軍突起以及XML語言的出現(xiàn),給數(shù)據(jù)庫系統(tǒng)的發(fā)展開辟了一片新的天地。數(shù)據(jù)庫未來發(fā)展趨勢 隨著信息管理內(nèi)容的不斷擴展,出現(xiàn)了豐富多樣的數(shù)據(jù)模型(層次模型,網(wǎng)狀模型,關(guān)系模型,面向?qū)ο竽P,半結(jié)構(gòu)化模型等),新技術(shù)也層出不窮(數(shù)據(jù)流,Web數(shù)據(jù)管理,數(shù)據(jù)挖掘等)。目前每隔幾年,國際上一些資深的數(shù)據(jù)庫專家就會聚集一堂,探討數(shù)據(jù)庫研究現(xiàn)狀,存在的問題和未來需要關(guān)注的新技術(shù)焦點。過去已有的幾個類似報告包括:1989 年Future Directions inDBMS Research-The Laguna BeachParticipants ,1990 年DatabaseSystems : Achievements and Opportunities ,1995 年的Database 1991:W.H. Inmon 發(fā)表了《構(gòu)建數(shù)據(jù)倉庫》數(shù)據(jù)庫發(fā)展大事記 1951:Univac系統(tǒng)使用磁帶和穿孔卡片作為數(shù)據(jù)存儲。 1956:IBM公司在其Model 305 RAMAC中第一次引入了磁盤驅(qū)動器 1961:通用電氣(GE)公司的Charles Bachman開發(fā)了第一個數(shù)據(jù)庫管理系統(tǒng)——IDS 1969:E.F. Codd發(fā)明了關(guān)系數(shù)據(jù)庫。 1973: 由John J.Cullinane領(lǐng)導(dǎo)Cullinane公司開發(fā)了 IDMS——一個針對IBM主機的基于網(wǎng)絡(luò)模型的數(shù)據(jù)庫。 1976: Honeywell公司推出了Multics Relational Data Store——第一個商用關(guān)系數(shù)據(jù)庫產(chǎn)品。 1979: Oracle公司引入了第一個商用SQL關(guān)系數(shù)據(jù)庫管理系統(tǒng)。 1983: IBM 推出了DB2數(shù)據(jù)庫產(chǎn)品。 1985: 為Procter & Gamble系統(tǒng)設(shè)計的第一個商務(wù)智能系統(tǒng)產(chǎn)生。 1991: W.H.“Bill” Inmon發(fā)表了”構(gòu)建數(shù)據(jù)倉庫”。史上重要人物 埃德加·考特(EdgarF.Codd) 計算機界公認的關(guān)系數(shù)據(jù)庫之父。1970年他提出了關(guān)系模型的理論,1970年以后,E.F.Codd繼續(xù)完善和發(fā)展關(guān)系理論;之后創(chuàng)辦了一個研究所The RelationalInstitute和一個公司Codd & Associations;1990 年出版了專著The Relational Modelfor Database Management:Version 2 。E.F.Codd 以其對關(guān)系數(shù)據(jù)庫的卓越貢獻獲得了1983 年ACM圖靈獎。 C.J.戴特(C.J.Date) C.J.Date 是最早認識到Codd 在關(guān)系模型方面所做的開創(chuàng)性貢獻的學(xué)者之一,他是關(guān)系數(shù)據(jù)庫技術(shù)領(lǐng)域中非常著名的獨立撰稿人、學(xué)者和顧問,他使得關(guān)系模型的概念普及化。他參與了IBM公司的SQL/DS和DB2兩大產(chǎn)品的技術(shù)規(guī)劃和設(shè)計。30多年來,Date 一直活躍在數(shù)據(jù)庫領(lǐng)域中,其著作有《數(shù)據(jù)庫系統(tǒng)導(dǎo)論》,《對象關(guān)系數(shù)據(jù)庫基礎(chǔ):第三次宣言》(1998)等。 吉姆·格雷(Jim Gray) Jim Gray使關(guān)系模型的技術(shù)實用化,他為RDBMS成熟并順利進入市場起到了關(guān)鍵性的作用。他在事務(wù)處理方面取得了突出的貢獻,使他成為該技術(shù)領(lǐng)域公認的權(quán)威,他也成為圖靈獎?wù)Q生32 年來第三位在數(shù)據(jù)庫技術(shù)的發(fā)展中作出重大貢獻而獲此殊榮的學(xué)者。曾參與主持過IMS、System R、SQL/DS、DB2等項目的開發(fā)。他的研究成果反映在他發(fā)表的一系列論文和研究報告之中,最后結(jié)晶為一部厚厚的專著:Transaction Processing: Concepts andTechniques。 Michael Stonebraker Michael Stonebraker是Ingres的創(chuàng)始人。他是加州大學(xué)伯克利分校的教授,著名的數(shù)據(jù)庫學(xué)者,他在1992 年提出對象關(guān)系數(shù)據(jù)庫模型。S t o n e b r a k e r 教授領(lǐng)導(dǎo)了稱為Postgres 的后Ingres 項目。這個項目的成果是非常巨大的,在現(xiàn)代數(shù)據(jù)庫的許多方面都做出的大量的貢獻。Stonebraker 教授還做出了一件造福全人類的事情,那就是把Postgres 放在了BSD 版權(quán)的保護下。 Jeffrey D. Ullman Jeffrey D. Ullman 是國際知名的數(shù)據(jù)庫專家。現(xiàn)為斯坦福大學(xué)的Stanford W. Ascherman計算機科學(xué)教授。1996 年獲得Sigmod 貢獻獎和1998年Karl V. Karstrom 杰出教育家獎獲得者。出版了多本數(shù)據(jù)庫專著。數(shù)據(jù)庫領(lǐng)域研究組織和機構(gòu) ACM SIGMOD 國際計算機學(xué)會數(shù)據(jù)管理專業(yè)委員會(ACM SIGMOD)是國際數(shù)據(jù)庫領(lǐng)域最高級別的國際會議。其主要致力于數(shù)據(jù)庫以及信息技術(shù)的研究,開發(fā)和應(yīng)用。SIGMOD 每年召開一次,SIGMODRecord 是其發(fā)行的數(shù)據(jù)庫期刊。 VLDB 國際超大型數(shù)據(jù)庫會議(Int ernationalConference on Very Large Data Bases,VLDB)是一個專門從事超大規(guī)模數(shù)據(jù)庫管理理論、方法和應(yīng)用研究的專業(yè)性學(xué)術(shù)機構(gòu),它涉及的內(nèi)容也很豐富,包括研究及應(yīng)用的諸多方面,基本上能夠較全面地反映當(dāng)前數(shù)據(jù)庫研究的前沿方向、工業(yè)界的最新技術(shù)以及各國的研發(fā)水平。1975年,以美籍華裔科學(xué)家肖開美教授(DaveHsiao)為首的一批數(shù)據(jù)庫學(xué)者發(fā)起組織了第一屆VLDB會議。此后每年召開一次,已成為是數(shù)據(jù)庫領(lǐng)域中最主要、規(guī)模最大的國際學(xué)術(shù)會議。 ICDE 數(shù)據(jù)工程國際學(xué)術(shù)會議(ICDE)是由IEEE計算機數(shù)據(jù)工程技術(shù)學(xué)會(TCDE)主辦的數(shù)據(jù)庫領(lǐng)域的最高級別的國際性會議之一。會議產(chǎn)生出版季刊數(shù)據(jù)工程通報(英文Data Engineering Bulletin)。TCDE致力于研究數(shù)據(jù)在信息系統(tǒng)的設(shè)計、實現(xiàn)與管理中的作用,面向的主要問題包括數(shù)據(jù)庫設(shè)計、數(shù)據(jù)處理、數(shù)據(jù)庫存儲與操縱語言、數(shù)據(jù)采集的策略與機制、數(shù)據(jù)庫的安全性與完整性控制、數(shù)據(jù)庫的工程應(yīng)用以及分布式系統(tǒng)。 CCF DBS 中國計算機學(xué)會數(shù)據(jù)庫專業(yè)委員會(CHINA COMPUTER FEDERATION DATABASE SOCIETY,簡稱CCFDBS)是中國計算機學(xué)會領(lǐng)導(dǎo)下的數(shù)據(jù)庫學(xué)術(shù)組織,于1999 年8 月24日在蘭州大學(xué)召開的第十六屆全國數(shù)據(jù)庫學(xué)術(shù)會議上正式成立。由數(shù)據(jù)庫專業(yè)委員會主辦的全國數(shù)據(jù)庫學(xué)術(shù)會議(NDBC)始于1977 年,至今已舉辦20 屆。NDBC這一傳統(tǒng)的數(shù)據(jù)庫盛會已成為國內(nèi)數(shù)據(jù)庫領(lǐng)域較為權(quán)威的會議。 DB DataBase 數(shù)據(jù)庫
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助