定義1
當人們從不同的角度來描述這壹概念時就有不同的定義(當然是描述性的)。例如,稱數據庫是壹個“記錄保存系統”(該定義強調了數據庫是若幹記錄的集合)。又如稱數據庫是“人們為解決特定的任務,以壹定的組織方式存儲在壹起的相關的數據的集合”(該定義側重於數據的組織)。更有甚者稱數據庫是“壹個數據倉庫”。當然,這種說法雖然形象,但並不嚴謹。
嚴格地說,數據庫是“按照數據結構來組織、存儲和管理數據的倉庫”。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的“倉庫”,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是壹個數據庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個範圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"數據庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
J.Martin給數據庫下了壹個比較完整的定義:數據庫是存儲在壹起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗余,並為多種應用服務;數據的存儲獨立於使用它的程序;對數據庫插入新數據,修改和檢索原有數據均能按壹種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若幹個數據庫時,則該系統包含壹個“數據庫集合”。
定義2
數據庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改和檢索由統壹軟件進行管理和控制。從發展的歷史看,數據庫是數據管理的高級階段,它是由文件管理系統發展起來的。
定義3 (伯爾尼公約議定書專家委員會的觀點)
所有的信息(數據事實等)的編纂物,不論其是以印刷形式,計算機存儲單元形式,還是其它形式存在,都應視為“數據庫”。
數字化內容選擇的原因有很多,概括起來主要有:
(1)存儲空間的原因。數字化的產品是通過網絡被廣大用戶存取利用,而大家都知道數字化產品是存放在磁盤陣列上的,磁盤陣列由服務器來管理,磁盤空間是有限的,服務器的能力也是有限的,不可能無限量地存入數字資源,這就需要我們對文獻資源數字化內容進行選擇。
(2)解決數字化生產高成本和圖書館經費有限性之間矛盾的需要。幾乎沒有圖書館有充足的資源來對整個館藏進行數字化,內容選擇不可避免。
(3)數字資源管理的需要。技術的快速發展使數字化項目所生成的數字資源的生命周期越來越短,投入巨資進行數字遷移是延長數字資源生命的1個重要途徑,昂貴的維護成本就必須考慮數字化的內容選擇。
數據庫發展史數據庫技術從誕生到現在,在不到半個世紀的時間裏,形成了堅實的理論基礎、成熟的商業產品和廣泛的應用領域,吸引越來越多的研究者加入。數據庫的誕生和發展給計算機信息管理帶來了壹場巨大的革命。三十多年來,國內外已經開發建設了成千上萬個數據庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著應用的擴展與深入,數據庫的數量和規模越來越大,數據庫的研究領域也已經大大地拓廣和深化了。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. [編輯本段]數據庫發展階段
數據庫發展階段大致劃分為如下幾個階段:
人工管理階段;
文件系統階段;
數據庫系統階段;
高級數據庫階段。
[編輯本段]數據庫的基本結構
數據庫的基本結構分三個層次,反映了觀察數據庫的三種不同角度。
(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在功能和性能上又有了很大的改進,主要是引入了窗口、按紐、列表框和文本框等控件,進壹步提高了系統的開發能力。