概述
資料庫技術是通過研究資料庫的結構、存儲、設計、管理以及套用的基本理論和實現方法,並利用這些理論來實現對資料庫中的數據進行處理、分析和理解的技術。即:資料庫技術是研究、管理和套用資料庫的一門軟體科學。
資料庫技術研究和管理的對象是數據,所以資料庫技術所涉及的具體內容主要包括:通過對數據的統一組織和管理,按照指定的結構建立相應的資料庫和數據倉庫;利用
資料庫管理系統和數據挖掘
系統設計出能夠實現對資料庫中的數據進行添加、修改、刪除、處理、分析、理解、報表和列印等多種功能的
數據管理和數據挖掘套用系統;並利用套用管理系統最終實現對數據的處理、分析和理解。
資料庫技術是信息系統的一個核心技術。是一種計算機輔助管理數據的方法,它研究如何組織和存儲數據,如何高效地獲取和處理數據。是通過研究
資料庫的結構、存儲、設計、管理以及套用的基本理論和實現方法,並利用這些理論來實現對
資料庫中的
數據進行處理、分析和理解的技術。即:資料庫技術是研究、管理和套用資料庫的一門軟體科學。
資料庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與信息管理系統的核心。資料庫技術研究和解決了計算機信息處理過程中大量數據有效地組織和存儲的問題,在
資料庫系統中減少數據存儲冗餘、實現數據共享、保障數據安全以及高效地檢索數據和處理數據。
產生背景
資料庫技術產生於20世紀60年代末70年代初,其主要目的是有效地管理和存取大量的數據資源.資料庫技術主要研究如何存儲,使用和管理數據. 數年來,資料庫技術和計算機
網路技術的發展相互滲透,相互促進,已成為當今計算機領域發展迅速,套用廣泛的兩大領域.資料庫技術不僅套用於事務處理,並且進一步套用到情報檢索,人工智慧,
專家系統,
計算機輔助設計等領域.
發展套用
從20世紀60年代末期開始到如今,資料庫技術已經發展了30多年。在這30多年的歷程中,人們在資料庫技術的理論研究和系統開發上都取得了輝煌的成就,而且已經開始對新一代
資料庫系統的深入研究。資料庫系統已經成為現代計算機系統的重要組成部分。
資料庫最初是在大公司或大機構中用作大規模事務處理的基礎。後來隨著個人計算機的普及,資料庫技術被移植到PC機(Personal Computer,個人計算機)上,供單用戶個人資料庫套用。接著,由於PC機在
工作組內連成網,資料庫技術就移植到工作組級。如今,資料庫正在Internet和
內聯網中廣泛使用。
20世紀60年代中期,資料庫技術是用來解決檔案處理系統問題的。當時的資料庫處理技術還很脆弱,常常發生套用不能提交的情況。20世紀70年代
關係模型的誕生為資料庫專家提供了構造和處理資料庫的標準方法,推動了關係資料庫的發展和套用。1979年,Ashton-Tate公司引入了微機產品dBase Ⅱ,並稱之為
關係資料庫管理系統,從此資料庫技術移植到了個人計算機上。20世紀80年代中期到後期,終端用戶開始使用
區域網路技術將獨立的計算機連線成網路,終端之間共享資料庫,形成了一種新型的多用戶數據處理,稱為客戶機/伺服器資料庫結構。如今,資料庫技術正在被用來同Internet技術相結合,以便在機構
內聯網、部門區域網路甚至WWW上發布資料庫數據。
基本概念
資料庫技術是現代信息科學與技術的重要組成部分,是計算機數據處理與
信息管理系統的核心。資料庫技術研究和解決了計算機
信息處理過程中大量數據有效地組織和存儲的問題,在資料庫系統中減少數據存儲冗餘、實現數據共享、保障數據安全以及高效地檢索數據和處理數據。資料庫技術的根本目標是要解決數據的共享問題。
發展
數據管理技術是對數據進行分類,組織,編碼,
輸入,存儲,檢索,維護和輸出的技術.數據管理技術的發展大致經過了以下三個階段:人工管理階段;檔案系統階段;
資料庫系統階段.
人工管理階段
20世紀50年代以前,計算機主要用於數值計算.從當時的硬體看,外存只有紙帶,卡片,磁帶,沒有直接存取設備;從軟體看(實際上,當時還未形成軟體的整體概念),沒有作業系統以及管理數據的軟體;從數據看,數據量小,數據無結構,由用戶直接管理,且數據間缺乏邏輯組織,
數據依賴於特定的應用程式,缺乏獨立性.
檔案系統階段
50年代後期到60年代中期,出現了磁鼓,磁碟等數據存儲設備.新的
數據處理系統迅速發展起來.這種數據處理系統是把計算機中的
數據組織成相互獨立的數據檔案,系統可以按照檔案的名稱對其進行訪問,對檔案中的記錄進行存取,並可以實現對檔案的修改,插入和刪除,這就是檔案系統.檔案系統實現了記錄內的結構化,即給出了記錄內各種數據間的關係.但是,檔案從整體來看卻是無結構的.其數據面向特定的應用程式,因此數據共享性,獨立性差,且冗餘度大,管理和維護的代價也很大.
60年代後期,出現了資料庫這樣的數據管理技術.資料庫的特點是數據不再只針對某一特定套用,而是面向全組織,具有整體的結構性,共享性高,冗餘度小,具有一定的程式與數據間的獨立性,並且實現了對數據進行統一的控制.
數據模型
⒈2.1
數據模型的概念及要素數據模型是現實世界在資料庫中的抽象,也是
資料庫系統的核心和基礎.數據模型通常包括3個要素:
⑴數據結構.數據結構主要用於描述數據的靜態特徵,包括數據的結構和數據間的聯繫.
⑵數據操作.數據操作是指在資料庫中能夠進行的查詢,修改,刪除現有數據或增加新數據的各種數據訪問方式,並且包括數據訪問相關的規則.
⑶數據完整性約束.數據完整性約束由一組完整性規則組成.
⒈2.2 常用的數據模型
資料庫理論領域中最常見的數據模型主要有層次模型,網狀模型和
關係模型3種.
⑴層次模型(Hierarchical Model).層次模型使用
樹形結構來表示數據以及數據之間的聯繫.
⑵網狀模型(Network Model).網狀模型使用網狀結構表示數據以及數據之間的聯繫.
⑶關係模型(Relational Model).關係模型是一種理論最成熟,套用最廣泛的
數據模型.在關係模型中,數據存放在一種稱為二維表的
邏輯單元中,整個資料庫又是由若干個相互關聯的二維表組成的.
⒈2.2 常用的數據模型
當前,已經有一些流行的,也比較成熟的軟體產品能夠很好地支持關係型數據模型,這些產品也因此稱為關係型
資料庫管理系統(Relational DataBase Management System,RDBMS).例如,
微軟公司的Microsoft Access和
MS-SQL Server,Sybase公司的Sybase,
甲骨文公司的Oracle以及IBM公司的DB2.其中,Microsoft Access是一個中小型資料庫管理系統,適用於一般的中小企業;MS-SQL Server,Sybase和Oracle基本屬於大中型的資料庫管理系統;而DB2則屬於大型的資料庫管理系統,並且對計算機硬體有很高和專門的要求.
技術
信息技術(Information Technology,IT)是當今使用頻率最高的名詞之一,它隨著計算機技術在工業、農業以及日常生活中的廣泛套用,已經被越來越多的個人和企業作為自己趕超世界潮流的標誌之一。而資料庫技術則是信息技術中一個重要的支撐。沒有資料庫技術,人們在浩瀚的信息世界中將顯得手足無措。
資料庫技術是計算機科學技術的一個重要分支。從20世紀50年代中期開始,計算機套用從科學研究部門擴展到企業管理及政府行政部門,人們對數據處理的要求也越來越高。1968年,世界上誕生了第一個商品化的
信息管理系統IMS(Information Management System),從此,資料庫技術得到了迅猛發展。在網際網路日益被人們接受的今天,Internet又使資料庫技術、知識、技能的重要性得到了充分的放大。如今資料庫已經成為信息管理、
辦公自動化、
計算機輔助設計等套用的主要軟體工具之一,幫助人們處理各種各樣的信息數據。
發展歷史
數據模型是資料庫技術的核心和基礎,因此,對
資料庫系統發展階段的劃分應該以數據模型的發展演變作為主要依據和標誌。按照數據模型的發展演變過程,資料庫技術從開始到如今短短的30年中,主要經歷了三個發展階段:第一代是網狀和層次資料庫系統,第二代是
關係資料庫系統,第三代是以面向對象數據模型為主要特徵的資料庫系統。資料庫技術與網路通信技術、人工智慧技術、
面向對象程式設計技術、
並行計算技術等相互滲透、有機結合,成為當代資料庫技術發展的重要特徵。
系統
第一代
資料庫系統是20世紀70年代研製的層次和
網狀資料庫系統。層次資料庫系統的典型代表是1969年IBM公司研製出的
層次模型的
資料庫管理系統IMS。20世紀60年代末70年代初,美國資料庫系統語言協會CODASYL(Conference on Data System Language)下屬的資料庫任務組DBTG(Data Base Task Group)提出了若干報告,被稱為DBTG報告。DBTG報告確定並建立了網狀資料庫系統的許多概念、方法和技術,是網狀資料庫的典型代表。在DBTG思想和方法的指引下資料庫系統的實現技術不斷成熟,開發了許多商品化的資料庫系統,它們都是基於
層次模型和
網狀模型的。
資料庫系統
第二代
資料庫系統是
關係資料庫系統。1970年IBM公司的San Jose研究試驗室的研究員Edgar F. Codd發表了題為《大型共享資料庫數據的
關係模型》的論文,提出了關係
數據模型,開創了關係資料庫方法和關係資料庫理論,為關係資料庫技術奠定了理論基礎。Edgar F. Codd於1981年被授予ACM
圖靈獎,以表彰他在關係資料庫研究方面的傑出貢獻。
20世紀70年代是關係資料庫理論研究和原型開發的時代,其中以IBM公司的San Jose研究試驗室開發的System R和Berkeley大學研製的Ingres為典型代表。大量的理論成果和實踐經驗終於使關係資料庫從實驗室走向了社會,因此,人們把20世紀70年代稱為資料庫時代。20世紀80年代幾乎所有新開發的系統均是關係型的,其中湧現出了許多性能優良的商品化
關係資料庫管理系統,如DB2、Ingres、
Oracle、Informix、
Sybase等。這些商用
資料庫系統的套用使資料庫技術日益廣泛地套用到企業管理、情報檢索、輔助
決策等方面,成為實現和最佳化信息系統的基本技術。
第三代資料庫系統
從20世紀80年代以來,資料庫技術在商業上的巨大成功刺激了其他領域對資料庫技術需求的迅速增長。這些新的領域為資料庫套用開闢了新的天地,並在套用中提出了一些新的
數據管理的需求,推動了資料庫技術的研究與發展。
應支持數據管理、對象管理和知識管理。必須保持或繼承第二代資料庫系統的技術。必須對其他系統開放。
四個方向
規模會向兩頭髮展—大的越來越大,小的越來越小。所謂大的,指的是企業級資料庫的規模。前10年,資料庫存儲的數據大都以GB為基準衡量,幾十GB就已經非常龐大。而如今,只廣東移動每個月新增的數據量,就已經以TB衡量,不出3年,很多企業要存儲的數據就要達到PB級。數據量越來越大,需要更大的資料庫做支撐,這就是資料庫的發展方向之一。另一方面,資料庫也會越來越小。如今,
Sybase的資料庫已經安裝在高檔的Casio手錶中了,這些手錶中記錄的有天氣情況、氣壓、佩帶者的血壓、心跳等數據。這種資料庫並不要求數據存儲量大,但是要求在低計算量的情況下反應快,而且能夠適應外界環境的變化。存儲方式從行到列的改變。以前資料庫都是以行的形式存儲的,理由很簡單,用戶需要的是對單條數據的讀取和存儲。而如今,單純的數據記錄已經不足以支撐企業發展了,企業更需要的是數據分析和
決策支持。那么,單純看一條記錄沒有任何意義,而是要把所有數據的某一項都統計出來進行分析,這就是列的概念。以
中國移動為例,上億個用戶,每個月上TB的數據,哪些是ⅥP用戶,該如何根據他們的需求提供專有服務,對於那些動感地帶的用戶,到底應該制定哪些優惠政策,除了看話費,是不是還能挖掘出他們的消費特點,進行更有針對性的業務推廣活動?這些,就不是看一條數據的問題,而需要頻繁對列進行操作。預計,不出半年,各大資料庫廠商都會推出以列為存儲方式的資料庫。
非結構化數據仍然不能納入資料庫中。說到這裡,可能大家都認為我在逆潮流而動,如今很多資料庫廠商都可以接受圖像、視頻等非結構化數據了,
Sybase怎么還要死守著結構化數據呢?其實我認為,非結構化數據要想進入資料庫,仍然需要結構化,只是這種結構化的方法各廠商不一樣,而且相比以前有了很大的進步和提高。以前我們圖片的記錄方式是記錄它的檔案名稱,如果檔案名稱中提到了某個人的名字,那么在整個資料庫查詢的時候,就可以把這個圖片找到。而這是非常不科學的,因為很多非結構化數據的檔案名稱起的並不可能完全。那么,如今大家把非結構化的數據變得結構化,其實就是在用結構化的數據描述這張圖片,比如用點和位置來記錄這張圖片的每個像素。而一旦需要做查詢的時候,可以根據像素的組合記錄來比對,把符合比對要求的數據全部篩選出來。這樣就把
非結構化數據以結構化的方式納入資料庫中了,並能接受查詢、
檢索等操作。資料庫和數據倉庫會分開。很多資料庫廠商認為,資料庫一個就行,一專多能,既能用它進行實時交易,也能用它來進行數據分析。但是,其實很多用戶如今在前台需要資料庫提供實時交易功能,需要有很快的回響速度,而在後台,則需要設立一些規則進行數據分析和商務智慧型分析。
Sybase就認為,這兩個資料庫應該是兩種格式,畢竟它們的功能不一樣。因此,從產品設定上,Sybase有交易型資料庫和分析型資料庫兩種。
發展趨勢
下一代資料庫技術的發展主流
針對關係資料庫技術現有的局限性,理論界如今主要有三種觀點 :
面向對象的資料庫技術將成為下一代資料庫技術發展的主流 部分學者認為現有的關係型資料庫無法描述現實世界的實體,而面向對象的
數據模型由於吸收了已經成熟的面向對象程式設計方法學的核心概念和基本思想,使得它符合人類認識世界的一般方法,更適合描述現實世界。甚至有人預言,資料庫的未來將是面向對象的時代。
面向對象的關係資料庫技術 關係資料庫幾乎是當前
資料庫系統的標準,關係語言與常規語言一起幾乎可完成任意的資料庫操作,但其簡潔的建模能力、有限的數據類型、程式設計中數據結構的制約等卻成為關係型資料庫發揮作用的瓶頸。
面向對象方法起源於程式設計語言,它本身就是以現實世界的實體對象為基本元素來描述複雜的客觀世界,但功能不如資料庫靈活。因此部分學者認為將
面向對象的建模能力和關係資料庫的功能進行有機結合而進行研究是資料庫技術的一個發展方向。
面向對象資料庫技術 面向對象資料庫的優點是能夠表示複雜的
數據模型,但由於沒有統一的數據模式和形式化理論,因此缺少嚴格的數據邏輯基礎。而
演繹資料庫雖有堅強的數學邏輯基礎,但只能處理平面數據類型。因此,部分學者將兩者結合,提出了一種新的資料庫技術——演繹面向對象資料庫,並指出這一技術有可能成為下一代資料庫技術發展的主流。
資料庫技術發展的新方向
非結構化資料庫是部分研究者針對關係資料庫模型過於簡單,不便表達複雜的嵌套需要以及支持數據類型有限等局限,從數據模型入手而提出的全面基於網際網路套用的新型資料庫理論。支持重複欄位、子欄位以及變長欄位並實現了對變長數據和重複欄位進行處理和數據項的變長存儲管理,在處理連續信息(包括全文信息)和非結構信息 (重複數據和變長數據)中有著傳統關係型資料庫所無法比擬的優勢。但研究者認為此種資料庫技術並不會完全取代如今流行的關係資料庫,而是它們的有益的補充。
資料庫技術發展的又一趨勢
有學者指出 :資料庫與學科技術的結合將會建立一系列新資料庫,如分散式資料庫、並行資料庫、知識庫、多媒體資料庫等,這將是資料庫技術重要的發展方向。其中,許多研究者都對多媒體資料庫作為研究的重點,並認為
多媒體技術和可視化技術引入多媒體資料庫將是未來資料庫技術發展的熱點和難點。
未來資料庫技術及市場發展的兩大方向數據倉庫電子商務 部分學者在對各個資料庫廠商的發展方向和套用需求的不斷擴展的現狀進行分析的基礎上,提出資料庫技術及市場在向數據倉庫和電子商務兩個方向不斷發展的觀點。他們指出 :從上一年開始,許多行業如電信、金融、稅務等逐步認識到數據倉庫技術對於企業巨觀發展所帶來的巨大經濟效益,紛紛建立起數據倉庫系統。在中國提供大型數據倉庫解決方案的廠商主要有
Oracle、IBM、
Sybase、CA及Informix等廠商,已經建設成功並已收回投資的項目主要有
招商銀行系統和國信證券系統等。當前,國內外學者對數據倉庫的研究正在繼續深入。與此同時,一些學者將資料庫技術及市場發展的視角瞄準電子商務領域,他們認為 :如今的
信息系統逐漸要求按照以客戶為中心的方式建立套用框架,因此勢必要求資料庫套用更加廣泛地接觸客戶,而Internet給了我們一個非常便捷的連線途徑,通過Internet我們可以實現所謂的One One Marketing和One One business,進而實現E business。因此,電子商務將成為未來資料庫技術發展的另一方向。
面向專門套用領域的資料庫技術 許多研究者從實踐的角度對資料庫技術進行研究,提出了適合套用領域的資料庫技術如工程資料庫、統計資料庫、科學資料庫、空間資料庫、地理資料庫等。這類資料庫在原理上也沒有多大的變化,但是它們卻與一定的套用相結合,從而加強了系統對有關套用的支撐能力,尤其表如今
數據模型、語言、查詢方面。部分研究者認為,隨著研究工作的繼續深和資料庫技術在實踐工作中的套用,資料庫技術將會更多朝著專門套用領域發展。
基本概念
數據和數據處理
數據(Data)是用於描述現實世界中各種具體事物或抽象概念的,可存儲並具有明確意義的符號,包括數字,文字,圖形和聲音等.數據處理是指對各種形式的數據進行收集,存儲,加工和傳播的一系列活動的總和.其目的之一是從大量的,原始的數據中抽取,推導出對人們有價值的信息以作為行動和決策的依據;目的之二是為了藉助計算機技術科學地保存和管理複雜的,大量的數據,以便人們能夠方便而充分地利用這些寶貴的信息資源.
資料庫
資料庫(DataBase,DB)是存儲在計算機
輔助存儲器中的,有組織的,可共享的相關數據集合.資料庫具有如下特性.
⑴資料庫是具有邏輯關係和確定意義的數據集合.
⑵資料庫是針對明確的套用目標而設計,建立和載入的.每個資料庫都具有一組用戶,並為這些用戶的套用需求服務.
⑶一個資料庫反映了客觀事物的某些方面,而且需要與客觀事物的狀態始終保持一致.
資料庫管理系統(DataBase Management System,DBMS)是對資料庫進行管理的
系統軟體,它的職能是有效地組織和存儲數據,獲取和管理數據,接受和完成用戶提出的各種數據訪問請求.能夠支持關係型
數據模型的資料庫管理系統,稱為關係型資料庫管理系統(Relational DataBase Management System,RDBMS).
RDBMS的基本功能包括以下4個方面:
⑴數據定義功能:RDBMS提供了
數據定義語言(Data Definition Language,DDL),利用DDL可以方便地對資料庫中的相關內容進行定義.例如,對資料庫,表,欄位和
索引進行定義,創建和修改.
⑵數據操縱功能:RDBMS提供了
數據操縱語言(Data Manipulation Language,DML),利用DML可以實如今資料庫中插入,修改和刪除數據等基本操作.
⑶數據查詢功能:RDBMS提供了數據查詢語言(Data Query Language,DQL),利用DQL可以實現對資料庫的數據查詢操作.
⑷數據控制功能:RDBMS提供了
數據控制語言(Data Control Language,DCL),利用DCL可以完成資料庫運行控制功能,包括並發控制(即處理多個用戶同時使用某些數據時可能產生的問題),安全性檢查,完整性約束條件的檢查和執行,資料庫的內部維護(例如索引的自動維護)等.RDBMS的上述許多功能都可以通過
結構化查詢語言(Structured Query Language,SQL)來實現的,SQL是
關係資料庫中的一種標準語言,在不同的RDBMS產品中,SQL中的基本語法是相同的.此外,DDL,DML,DQL和DCL也都屬於SQL.
資料庫套用系統又簡稱為
資料庫系統,是指擁有資料庫技術支持的計算機系統,它可以實現有組織地,動態地存儲大量相關數據,提供數據處理和
信息資源共享服務的功能.
各類人員主要參與資料庫套用系統的
需求分析,設計,開發,使用,管理和維護,他們在資料庫套用系統的開發,運行及維護等階段扮演著不同的角色,並起著不同的作用.各類人員主要包括以下幾種.
⑴最終用戶.
⑵系統分析員.
⑶應用程式員.
⑷
資料庫管理員(DataBase Administrator,DBA).
套用方式
從其套用方式來看,資料庫技術主要起著兩方面的作用.
⑴信息系統開發作用.利用資料庫技術以及網際網路技術,並結合具體的程式語言,可以開發一個信息系統,從而解決業務數據的輸入和管理問題.在信息系統開發中,主要利用的是RDBMS的基本功能,即數據定義功能,數據操縱功能,數據查詢功能以及數據控制功能.
⑵數據分析與展示作用.利用RDBMS的數據查詢功能對資料庫中的數據進行關聯組合或逐級匯總分析,並以表格,圖形或報表形式將分析結果進行展示,從而解決業務數據的綜合利用問題.