1. 資料庫的發展簡史
使用計算機後,隨著數據處理量的增長,產生了數據管理技術。
數據管理技術的發展與計算機硬體(主要是外部存儲器)系統軟體及計算機應用的范圍有著密切的聯系。
數據管理技術的發展經歷了以下四個階段:人工管理階段、文件系統階段、資料庫階段和高級資料庫技術階段。
數據管理的誕生
資料庫的歷史可以追溯到五十年前,那時的數據管理非常簡單。
通過大量的分類、比較和表格繪制的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果在紙上列印出來或者製成新的穿孔卡片。
而數據管理就是對所有這些穿孔卡片進行物理的儲存和處理。
然而,1950 年雷明頓蘭德公司(Remington Rand Inc)的一種叫做Univac I 的計算機推出了一種一秒鍾可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。
1956 年IBM生產出第一個磁碟驅動器—— the Model 305 RAMAC。
此驅動器有50 個碟片,每個碟片直徑是2 英尺,可以儲存5MB的數據。
使用磁碟最大的好處是可以隨機存取數據,而穿孔卡片和磁帶只能順序存取數據。
1951: Univac系統使用磁帶和穿孔卡片作為數據存儲。
資料庫系統的萌芽出現於二十世紀60 年代。
當時計算機開始廣泛地應用於數據管理,對數據的共享提出了越來越高的要求。
傳統的文件系統已經不能滿足人們的需要,能夠統一管理和共享數據的資料庫管理系統(DBMS)應運而生。
數據模型是資料庫系統的核心和基礎,各種DBMS軟體都是基於某種數據模型的。
所以通常也按照數據模型的特點將傳統資料庫系統分成網狀資料庫、層次資料庫和關系資料庫三類。
最早出現的網狀DBMS,是美國通用電氣公司Bachman等人在1961年開發的IDS(Integrated Data Store)。
1964年通用電氣公司(General ElectricCo.)的Charles Bachman 成功地開發出世界上第一個網狀DBMS也即第一個資料庫管理系統——集成數據存儲(Integrated Data Store IDS),奠定了網狀資料庫的基礎,並在當時得到了廣泛的發行和應用。
IDS 具有數據模式和日誌的特徵,但它只能在GE主機上運行,並且資料庫只有一個文件,資料庫所有的表必須通過手工編碼生成。
之後,通用電氣公司一個客戶——BF Goodrich Chemical 公司最終不得不重寫了整個系統,並將重寫後的系統命名為集成數據管理系統(IDMS)。
網狀資料庫模型對於層次和非層次結構的事物都能比較自然的模擬,在關系資料庫出現之前網狀DBMS要比層次DBMS用得普遍。
在資料庫發展史上,網狀數據團賣喚庫佔有重要地位。
層次型DBMS是緊隨網路型資料庫而出現的,最著名最典型的層次資料庫系統是IBM 公司在1968 年開發的IMS(Information Management System),一種適合其主機的層次資料庫。
這是IBM公司研製的最早的大型資料庫系統程序產品。
從60年代末產生起,如今已經發展塌凱到IMSV6,提供群集、N路數據共享、消息隊列共享等先進特性的支持。
這個具有30年歷史的資料庫產品在如今的WWW應用連接、商務智能應用中扮演著新的角色。
1973年Cullinane公司(也就是後來的Culli軟體公司),開始出售Goodrich公司的IDMS改進版本,並且逐漸成為當時世界上最大配頌的軟體公司。
網狀資料庫和層次資料庫已經很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。
用戶在對這兩種資料庫進行存取時,仍然需要明確數據的存儲結構,指出存取路徑。
而後來出現的關系資料庫較好地解決了這些問題。
1970年,IBM的研究員E.F.Codd博士在刊物《munication 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、ADABAS D等等。
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定義是ANSⅨ3135-89,「Database Language - SQL with Integrity Enhancement」[ANS89],一般叫做SQL-89。
SQL-89定義了模式定義、數據操作和事務處理。
SQL- 89和隨後的ANSⅨ3168-1989,「Database Language-Embedded SQL」構成了第一代SQL標准。
ANSⅨ3135-1992[ANS92]描述了一種增強功能的SQL,叫做SQL-92標准。
SQL-92包括模式操作,動態創建和SQL語句動態執行、網路環境支持等增強特性。
在完成SQL-92標准後,ANSI和ISO即開始合作開發SQL3標准。
SQL3的主要特點在於抽象數據類型的支持,為新一代對象關系資料庫提供了標准。
1976年IBM E.F.Codd發表了一篇里程碑的論文「R系統:資料庫關系理論」,介紹了關系資料庫理論和查詢語言SQL。
Oracle的創始人Ellison非常仔細地閱讀了這篇文章,被其內容震驚,這是第一次有人用全面一致的方案管理數據信息。
作者E.F.Codd 1966年就發表了關系資料庫理論,並在IBM研究機構開發原型,這個項目就是R系統,存取數據表的語言就是SQL。
Ellison看完後,敏銳意識到在這個研究基礎上可以開發商用軟體系統。
而當時大多數人認為關系資料庫不會有商業價值。
Ellison認為這是他們的機會:他們決定開發通用商用資料庫系統Oracle,這個名字來源於他們曾給中央情報局做過的項目名。
幾個月後,他們就開發了Oracle 1.0。
但這只不過是個玩具,除了完成簡單關系查詢不能做任何事情,他們花相當長的時間才使Oracle變得可用,維持公司運轉主要靠承接一些資料庫管理項目和做顧問咨詢工作。
而IBM卻沒有計劃開發,為什麼藍色巨人放棄了這個價值上百億的產品,原因有很多:IBM的研究人員大多是學術出身,他們最感興趣的是理論,而非推向市場的產品,從學術上看,研究成果應公開發表論文和演講能使他們成名,為什麼不呢?還有一個很主要的原因就是IBM當時有一個銷售得還不錯的層次資料庫產品IMS。
直到1985年IBM才發布了關系資料庫DB2 ,Ellision那時已經成了千萬富翁。
Ellison曾將IBM 選擇Microsoft 的MS-DOS作為IBM-PC機的操作系統比為:「世界企業經營歷史上最嚴重的錯誤,價值超過了上千億美元。」IBM發表R系統論文,而且沒有很快推出關系資料庫產品的錯誤可能僅僅次之。
Oracle的市值在1996年就達到了280億美元。
隨著信息技術和市場的發展,人們發現關系型資料庫系統雖然技術很成熟,但其局限性也是顯而易見的:它能很好地處理所謂的「表格型數據」,卻對技術界出現的越來越多的復雜類型的數據無能為力。
九十年代以後,技術界一直在研究和尋求新型資料庫系統。
但在什麼是新型資料庫系統的發展方向的問題上,產業界一度是相當困惑的。
受當時技術風潮的影響,在相當一段時間內,人們把大量的精力花在研究「面向對象的資料庫系統(object oriented database)」或簡稱「OO資料庫系統」。
值得一提的是,美國Stonebraker教授提出的面向對象的關系型資料庫理論曾一度受到產業界的青睞。
而Stonebraker本人也在當時被Informix花大價錢聘為技術總負責人。
然而,數年的發展表明,面向對象的關系型資料庫系統產品的市場發展的情況並不理想。
理論上的完美性並沒有帶來市場的熱烈反應。
其不成功的主要原因在於,這種資料庫產品的主要設計思想是企圖用新型資料庫系統來取代現有的資料庫系統。
這對許多已經運用資料庫系統多年並積累了大量工作數據的客戶,尤其是大客戶來說,是無法承受新舊數據間的轉換而帶來的巨大工作量及巨額開支的。
另外,面向對象的關系型資料庫系統使查詢語言變得極其復雜,從而使得無論是資料庫的開發商家還是應用客戶都視其復雜的應用技術為畏途。
二十世紀六十年代後期出現了一種新型資料庫軟體:決策支持系統(DSS),其目的是讓管理者在決策過程中更有效地利用數據信息。
於是在1970年,第一個聯機分析處理工具——Express誕生了。
其他決策支持系統緊隨其後,許多是由公司的IT部門開發出來的。
1985年,第一個商務智能系統(business intelligence)由Metaphor計算機系統有限公司為Procter & Gamble公司開發出來,主要是用來連接銷售信息和零售的掃描儀數據。
同年, Pilot軟體公司開始出售第一個商用客戶/伺服器執行信息系統——mand Center。
同樣在這年,加州大學伯克利分校Ingres項目演變成Postgres,其目標是開發出一個面向對象的資料庫。
此後一年, Graphael公司開發了第一個商用的對象資料庫系統—Gbase。
1988年,IBM公司的研究者Barry Devlin和Paul Murphy發明了一個新的術語—信息倉庫,之後,IT的廠商開始構建實驗性的數據倉庫。
1991年,W.H. Bill Inmon出版了一本「如何構建數據倉庫」的書,使得數據倉庫真正開始應用。
1991: W.H.「Bill」 Inmon發表了」構建數據倉庫」
二十世紀九十年代,隨著基於PC的客戶/伺服器計算模式和企業軟體包的廣泛採用,數據管理的變革基本完成。
數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。
Inter的異軍突起以及XML語言的出現,給資料庫系統的發展開辟了一片新的天地。
2. 什麼是資料庫
定義1嚴格地說,資料庫是「按照數據結構來組織、存儲和管理數據的倉庫」。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
資料庫(11張)
J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種應用服務;數據的存儲獨立於使用它的程序;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個「資料庫集合」。
定義2資料庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改和檢索由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由文件管理系統發展起來的。
定義3(伯爾尼公約議定書專家委員會的觀點)
所有的信息(數據事實等)的編纂物,不論其是以印刷形式,計算機存儲單元形式,還是其它形式存在,都應視為「資料庫」。
數字化內容選擇的原因有很多,概括起來主要有:
(1)存儲空間的原因。數字化的產品是通過網路被廣大用戶存取利用,而大家都知道數字化產品是存放在磁碟陣列上的,磁碟陣列由伺服器來管理,磁碟空間是有限的,伺服器的能力也是有限的,不可能無限量地存入數字資源,這就需要我們對文獻資源數字化內容進行選擇。
(2)解決數字化生產高成本和圖書館經費有限性之間矛盾的需要。幾乎沒有圖書館有充足的資源來對整個館藏進行數字化,內容選擇不可避免。
(3)數字資源管理的需要。技術的快速發展使數字化項目所生成的數字資源的生命周期越來越短,投入巨資進行數字遷移是延長數字資源生命的1個重要途徑,昂貴的維護成本就必須考慮數字化的內容選擇。
資料庫發展史資料庫技術從誕生到現在,在不到半個世紀的時間里,形成了堅實的理論基礎、成熟的商業產品和廣泛的應用領域,吸引越來越多的研究者加入。資料庫的誕生和發展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內外已經開發建設了成千上萬個資料庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著應用的擴展與深入,資料庫的數量和規模越來越大,資料庫的研究領域也已經大大地拓廣和深化了。30年間資料庫領域獲得了三次計算機圖靈獎(C.W. Bachman,E.F.Codd, J.Gray),更加充分地說明了資料庫是一個充滿活力和創新精神的領域。就讓我們沿著歷史的軌跡,追溯一下資料庫的發展歷程。
傳統上,為了確保企業持續擴大的IT系統穩定運行,一般用戶信息中心往往不僅要不斷更新更大容量的IT運維軟硬體設備,極大浪費企業資源;更要長期維持一支由資料庫維護、伺服器維護、機房值班等各種維護人員組成的運維大軍,維護成本也隨之節節高升。為此,企業IT決策者開始思考:能不能像擰水龍頭一樣按需調節的使用IT運維服務?而不是不斷增加已經價格不菲的運維成本。
定義4資料庫(DataBase,DB)是一個長期存儲在計算機內的、有組織的、有共享的、統一管理的數據集合。它是一個按數據結構來存儲和管理數據的計算機軟體系統。資料庫的概念實際包括兩層意思:
(1)資料庫是一個實體,它是能夠合理保管數據的「倉庫」,用戶在該「倉庫」中存放要管理的事務數據,「數據」和「庫」兩個概念結合成為資料庫。
(2)資料庫是數據管理的新方法和技術,它能更合適的組織數據、更方便的維護數據、更嚴密的控制數據和更有效的利用數據。
SQL是高級的非過程化編程語言,是溝通資料庫伺服器和客戶端的重要工具,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以,具有完全不同底層結構的不同資料庫系統,可以使用相同的SQL語言作為數據輸入與管理的
SQL
介面。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
結構化查詢語言(Structured Query Language)最早是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應用。如今無論是像Oracle、Sybase、DB2、Informix、SQL Server這些大型的資料庫管理系統,還是像Visual Foxpro、PowerBuilder這些PC上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
美國國家標准局(ANSI)與國際標准化組織(ISO)已經制定了SQL標准。ANSI是一個美國工業和商業集團組織,負責開發美國的商務和通訊標准。ANSI同時也是ISO和International Electrotechnical Commission(IEC)的成員之一。ANSI 發布與國際標准組織相應的美國標准。1992年,ISO和IEC發布了SQL國際標准,稱為SQL-92。ANSI隨之發布的相應標準是ANSI SQL-92。ANSI SQL-92有時被稱為ANSI SQL。盡管不同的關系資料庫使用的SQL版本有一些差異,但大多數都遵循 ANSI SQL 標准。SQL Server使用ANSI SQL-92的擴展集,稱為T-SQL,其遵循ANSI制定的 SQL-92標准。
3. 什麼是數據倉庫
1、面向主題。操作型資料庫的數據組織面向事務處理任務,各個業務系統之間各自分離,而數據倉庫中的數據是按照一定的主題域進行組織。主題是一個抽象的概念,是指用戶使用數據倉庫進行決策時所關心的重點方面,一個主題通常與多個操作型信息系統相關。
2、集成的。面向事務處理的操作型資料庫通常與某些特定的應用相關,資料庫之間相互獨立,並且往往是異構的。而數據倉庫中的數據是在對原有分散的資料庫數據抽取、清理的基礎上經過系統加工、匯總和整理得到的,必須消除源數據中的不一致性,以保證數據倉庫內的信息是關於整個企業的一致的全局信息。
3、相對穩定的。操作型資料庫中的數據通常實時更新,數據根據需要及時發生變化。數據倉庫的數據主要供企業決策分析之用,所涉及的數據操作主要是數據查詢,一旦某個數據進入數據倉庫以後,一般情況下將被長期保留,也就是數據倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的載入、刷新。
4、反映歷史變化。操作型資料庫主要關心當前某一個時間段內的數據,而數據倉庫中的數據通常包含歷史信息,系統記錄了企業從過去某一時點(如開始應用數據倉庫的時點)到目前的各個階段的信息,通過這些信息,可以對企業的發展歷程和未來趨勢做出定量分析和預測。
企業數據倉庫的建設,是以現有企業業務系統和大量業務數據的積累為基礎。數據倉庫不是靜態的概念,只有把信息及時交給需要這些信息的使用者,供他們做出改善其業務經營的決策,信息才能發揮作用,信息才有意義。而把信息加以整理歸納和重組,並及時提供給相應的管理決策人員,是數據倉庫的根本任務。因此,從產業界的角度看,數據倉庫建設是一個工程,是一個過程。
4. 資料庫發展歷史是什麼
資料庫技術從誕生到現在,在不到半個世紀的時間里,形成了堅實的理論基礎、成熟的商業產品和廣泛的應用領域,吸引越來越多的研究者加入。資料庫的誕生和發展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內外已經開發建設了成千上萬個資料庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著應用的擴展與深入,資料庫的數量和規模越來越大,資料庫的研究領域也已經大大地拓廣和深化了。30年間資料庫領域獲得了三次計算機圖靈獎(C.W. Bachman, E.F.Codd, J.Gray),更加充分地說明了資料庫是一個充滿活力和創新精神的領域。就讓我們沿著歷史的軌跡,追溯一下資料庫的發展歷程。
一. 資料庫發展簡史
1. 數據管理的誕生
資料庫的歷史可以追溯到五十年前,那時的數據管理非常簡單。通過大量的分類、比較和表格繪制的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果在紙上列印出來或者製成新的穿孔卡片。而數據管理就是對所有這些穿孔卡片進行物理的儲存和處理。
然而,1951年雷明頓蘭德公司(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 Electric Co.)的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路數據共享、消息隊列共享等先進特性的支持。這個具有30年歷史的資料庫產品在如今的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的主要特點在於抽象數據類型的支持,為新一代對象關系資料庫提供了標准。
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語言的出現,給資料庫系統的發展開辟了一片新的天地。
5. 資料庫發展大事記
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發表了」構建數據倉庫」。
5. 資料庫的發展歷史分哪幾個階段
資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
數據管理技術的發展經歷了四個階段:人工管理階段、文件系統階段、資料庫階段和高級資料庫技術階段。——常識計算機篇。
6. 什麼是資料庫
資料庫,簡而言之可視為電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據運行新增、截取、更新、刪除等操作。
所謂「資料庫」是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗餘度、與應用程序彼此獨立的數據集合。
在計算機編程之中,資料庫的定義和生活中有一定的區別。同樣是數據的集合這沒有變,但是多了一些條件限定,每一種類型數據集合裡面的數據都有固定的內容結構。
(6)什麼是資料庫歷史化擴展閱讀
計算機資料庫的應用如下:
1、將面向對象方法及其技術同資料庫技術逐步進行融入的主要目的是為了滿足相關用戶應用過程中的特定需求,確保用戶在數據傳輸以及應用過程中的安全性。
2、在多媒體技術中融入計算機資料庫技術,對於此類資料庫技術的應用而言,不僅具有多媒體技術的特點,還綜合了計算機資料庫技術的優勢。
7. 什麼是資料庫
資料庫是存放數據的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數據。但是資料庫並不是隨意地將數據進行存放,是有一定的規則的,否則查詢的效率會很低。當今世界是一個充滿著數據的互聯網世界,充斥著大量的數據。即這個互聯網世界就是數據世界。數據的來源有很多,比如出行記錄、消費記錄、瀏覽的網頁、發送的消息等等。除了文本類型的數據,圖像、音樂、聲音都是數據。
資料庫是一個按數據結構來存儲和管理數據的計算機軟體系統。資料庫的概念實際包括兩層意思:
(1)資料庫是一個實體,它是能夠合理保管數據的「倉庫」,用戶在該「倉庫」中存放要管理的事務數據,「數據」和「庫」兩個概念結合成為資料庫。
(2)資料庫是數據管理的新方法和技術,它能更合適的組織數據、更方便的維護數據、更嚴密的控制數據和更有效的利用數據。
發展現狀
在資料庫的發展歷史上,資料庫先後經歷了層次資料庫、網狀資料庫和關系資料庫等各個階段的發展,資料庫技術在各個方面的快速的發展。特別是關系型資料庫已經成為目前資料庫產品中最重要的一員,80年代以來, 幾乎所有的資料庫廠商新出的資料庫產品都支持關系型資料庫,即使一些非關系資料庫產品也幾乎都有支持關系資料庫的介面。這主要是傳統的關系型資料庫可以比較好的解決管理和存儲關系型數據的問題。隨著雲計算的發展和大數據時代的到來,關系型資料庫越來越無法滿足需要,這主要是由於越來越多的半關系型和非關系型數據需要用資料庫進行存儲管理,以此同時,分布式技術等新技術的出現也對資料庫的技術提出了新的要求,於是越來越多的非關系型資料庫就開始出現,這類資料庫與傳統的關系型資料庫在設計和數據結構有了很大的不同, 它們更強調資料庫數據的高並發讀寫和存儲大數據,這類資料庫一般被稱為NoSQL(Not only SQL)資料庫。 而傳統的關系型資料庫在一些傳統領域依然保持了強大的生命力。
資料庫管理系統
編輯
資料庫管理系統是為管理資料庫而設計的電腦軟體系統,一般具有存儲、截取、安全保障、備份等基礎功能。資料庫管理系統可以依據它所支持的資料庫模型來作分類,例如關系式、XML;或依據所支持的計算機類型來作分類,例如伺服器群集、行動電話;或依據所用查詢語言來作分類,例如SQL、XQuery;或依據性能沖量重點來作分類,例如最大規模、最高運行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。
8. 數據倉庫的發展歷程
數據倉庫是決策支此擾持系統(dss)和聯機分析應用數據源的結構化數據環境。數據倉庫研究和解決從資料庫中獲取信息的問題。數據倉庫的特徵在於面向主題、集成性、穩定性和時變性。
數據倉庫 ,由數據倉庫之父比爾·恩門(Bill Inmon)於1990年提出,主要功能仍是將組織透過資訊系統之聯機事務處理(OLTP)經年累月所累積的大量資料,透盯皮過數據倉庫理論所特有的資料儲存架構,作一有系統的分析整理,以利各種分析方法如聯機分析處凱扒差理(OLAP)、數據挖掘(Data Mining)之進行,並進而支持如決策支持系統(DSS)、主管資訊系統(EIS)之創建,幫助決策者能快速有效的自大量資料中,分析出有價值的資訊,以利決策擬定及快速回應外在環境變動,幫助建構商業智能(BI)。
數據倉庫之父比爾·恩門(Bill Inmon)在1991年出版的「Building the Data Warehouse」(《建立數據倉庫》)一書中所提出的定義被廣泛接受——數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。
9. 資料庫的發展歷史分為哪幾個階段
一般可分為以下幾個階段:
1.規劃 2.需求分析巧帶團 3.概念模型設計 4. 邏輯設計 5.物理設計 6.程序編制及調行敏試 7.運行及維護。
這些階段的劃分目前尚無統一的標准,各階段間相互聯接,而且常常需要回溯修正。 在資料庫應用系統的開發過程中,每個階段的工作成果就是寫出相應的文檔。每個階段都是在上一階段工作成果的基礎上繼續進行,孝橘整個開發工程是有依據、有組織、有計劃、有條不紊地展開工作。
10. 實時/歷史資料庫和關系型資料庫的區別
實時資料庫是資料庫系統發展的一個分支,它適用於處理不斷更新的快速變化的數據及具有時間限制的事務處理。實時資料庫技術是實時系統和資料庫技術相結合的產物。實時資料庫最起初是基於先進控制和優化控制而出現的,對數據的實時性要求比較高,因而實時、高效、穩定是實時資料庫最關鍵的指標。