資料庫
目錄
基本簡介
資料庫從不同的角度來描述這一概念時就有不同的定義。例如,稱資料庫是一個「記錄保存系統」(該定義強調了資料庫是若干記錄的集合)。又如稱資料庫是「人們為解決特定的任務,以一定的組織方式存儲在一起的相關的數據的集合」(該定義側重於數據的組織)。更有甚者稱資料庫是「一個數據倉庫」。當然,這種說法雖然形象,但並不嚴謹。
資料庫是「按照數據結構來組織、存儲和管理數據的倉庫」。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣「倉庫」,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個範圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種「資料庫」,使其可以利用計算機實現財務、倉庫、生產的自動化管理。
J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種應用服務;數據的存儲獨立於使用它的程序;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個「資料庫集合」。
基本結構
資料庫資料庫的基本結構分三個層次,反映了觀察資料庫的三種不同角度。
(1)物理數據層。
它是資料庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字符和字組成。
(2)概念數據層。
它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個數據的邏輯定義及數據間的邏輯聯繫,是存貯記錄的集合。它所涉及的是資料庫所有對象的邏輯關係,而不是它們的物理情況,是資料庫管理員概念下的資料庫。
(3)邏輯數據層。
它是用戶所看到和使用的資料庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。資料庫不同層次之間的聯繫是通過映射進行轉換的。
主要特點
資料庫(1)實現數據共享。
數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過接口使用資料庫,並提供數據共享。
(2)減少數據的冗餘度。
同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重複數據,減少了數據冗餘,維護了數據的一致性。
(3)數據的獨立性。
數據的獨立性包括資料庫中資料庫的邏輯結構和應用程式相互獨立,也包括數據物理結構的變化不影響數據的邏輯結構。
(4)數據實現集中控制。
文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關係。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯繫。
(5)數據一致性和可維護性,以確保數據的安全性和可靠性。
主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③並發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用;④故障的發現和恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。
結構種類
資料庫資料庫通常分為層次式資料庫、網絡式資料庫和關係式資料庫三種。而不同的資料庫是按不同的數據結構來聯繫和組織的。
1、數據結構模型
(1)數據結構
所謂數據結構是指數據的組織形式或數據之間的聯繫。如果用D表示數據,用R表示數據對象之間存在的關係集合,則將DS=(D,R)稱為數據結構。例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨著對應的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那麼只須查找以Y開頭的那些名字就可以了。該例中,數據的集合D就是人名和電話號碼,它們之間的聯繫R就是按字典順序的排列,其相應的數據結構就是DS=(D,R),即一個數組。
(2)數據結構種類
數據結構又分為數據的邏輯結構和數據的物理結構。數據的邏輯結構是從邏輯的角度(即數據間的聯繫和組織方式)來觀察數據,分析數據,與數據的存儲位置無關。數據的物理結構是指數據在計算機中存放的結構,即數據的邏輯結構在計算機中的實現形式,所以物理結構也被稱為存儲結構。這裡只研究數據的邏輯結構,並將反映和實現數據聯繫的方法稱為數據模型。比較流行的數據模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關係理論建立的關係結構模型。
2、層次、網狀和關係資料庫系統
(1)層次結構模型
層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義為一個無回的連通圖)。例如圖20.6.4是一個高等學校的組織結構圖。這個組織結構圖像一棵樹,校部就是樹根(稱為根結點),各系、專業、教師、學生等為枝點(稱為結點),樹根與枝點之間的聯繫稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。按照層次模型建立的資料庫系統稱為層次模型資料庫系統。IMS(InformationManage-mentSystem)是其典型代表。
(2)網狀結構模型
按照網狀數據結構建立的資料庫系統稱為網狀資料庫系統,其典型代表是DBTG(Data Base Task Group)。用數學方法可將網狀數據結構轉化為層次數據結構。
(3)關係結構模型
關係式數據結構把一些複雜的數據結構歸結為簡單的二元關係(即二維表格形式)。例如某單位的職工關係就是一個二元關係。由關係數據結構組成的資料庫系統被稱為關係資料庫系統。
在關係資料庫中,對數據的操作幾乎全部建立在一個或多個關係表格上,通過對這些關係表格的分類、合併、連接或選取等運算來實現數據的管理。dBASEII就是這類資料庫管理系統的典型代表。對於一個實際的應用問題(如人事管理問題),有時需要多個關係才能實現。用dBASEII建立起來的一個關係稱為一個資料庫(或稱資料庫文件),而把對應多個關係建立起來的多個資料庫稱為資料庫系統。dBASEII的另一個重要功能是通過建立命令文件來實現對資料庫的使用和管理,對於一個資料庫系統相應的命令序列文件,稱為該資料庫的應用系統。因此,可以概括地說,一個關係稱為一個資料庫,若干個資料庫可以構成一個資料庫系統。資料庫系統可以派生出各種不同類型的輔助文件和建立它的應用系統。
發展簡史
資料庫資料庫技術從誕生到現在,在不到半個世紀的時間裡,形成了堅實的理論基礎、成熟的商業產品和廣泛的應用領域,吸引越來越多的研究者加入。資料庫的誕生和發展給計算機信息管理帶來了一場巨大的革命。三十多年來,中國外已經開發建設了成千上萬個資料庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著應用的擴展與深入,資料庫的數量和規模越來越大,資料庫的研究領域也已經大大地拓廣和深化了。30年間資料庫領域獲得了三次計算機圖靈(C.W.Bachman,E.F.Codd,J.Gray),更加充分地說明了資料庫是一個充滿活力和創新精神的領域。沿著歷史的軌跡,追溯資料庫的發展歷程。
資料庫的歷史可以追溯前五十年的數據管理非常簡單。通過大量的分類、比較和表格繪製的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果在紙上列印出來或者製成新的穿孔卡片。而數據管理就是對所有這些穿孔卡片進行物理的儲存和處理。然而,1951年雷明頓蘭德公司(RemingtonRandInc.)的一種叫做UnivacI的計算機推出了一種一秒鐘可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。1956年IBM生產出第一個磁碟驅動器——theModel305RAMAC。此驅動器有50個碟片,每個碟片直徑是2英尺,可以儲存5MB的數據。使用磁碟最大的好處是可以隨機地存取數據,而穿孔卡片和磁帶只能順序存取數據。
1951:Univac系統使用磁帶和穿孔卡片作為數據存儲。資料庫系統的萌芽出現於60年代。當時計算機開始廣泛地應用於數據管理,對數據的共享提出了越來越高的要求。傳統的文件系統已經不能滿足人們的需要。能夠統一管理和共享數據的資料庫管理系統(DBMS)應運而生。數據模型是資料庫系統的核心和基礎,各種DBMS軟體都是基於某種數據模型的。所以通常也按照數據模型的特點將傳統資料庫系統分成網狀資料庫、層次資料庫和關係資料庫三類。
最早出現的是網狀DBMS,是美國通用電氣公司Bachman等人在1961年開發成功的IDS(IntegratedDataStore)。1961年通用電氣公司(GeneralElectricCo.)的CharlesBachman成功地開發出世界上第一個網狀DBMS也是第一個資料庫管理系統——集成數據存儲(IntegratedDataStoreIDS),奠定了網狀資料庫的基礎,並在當時得到了廣泛的發行和應用。IDS具有數據模式和日誌的特徵。但它只能在GE主機上運行,並且資料庫只有一個文件,資料庫所有的表必須通過手工編碼來生成。之後,通用電氣公司一個客戶——BFGoodrichChemical公司最終不得不重寫了整個系統。並將重寫後的系統命名為集成數據管理系統(IDMS)。
網狀資料庫模型對於層次和非層次結構的事物都能比較自然的模擬,在關係資料庫出現之前網狀DBMS要比層次DBMS用得普遍。在資料庫發展史上,網狀資料庫占有重要地位。
層次型DBMS是緊隨網絡型資料庫而出現的。最著名最典型的層次資料庫系統是IBM公司在1968年開發的IMS(InformationManagementSystem),一種適合其主機的層次資料庫。這是IBM公司研製的最早的大型資料庫系統程序產品。從60年代末產生起,如今已經發展到IMSV6,提供群集、N路數據共享、消息隊列共享等先進特性的支持。這個具有30年歷史的資料庫產品在如今的WWW應用連接、商務智能應用中扮演著新的角色。
1973年Cullinane公司(也就是後來的Cullinet軟體公司),開始出售Goodrich公司的IDMS改進版本,並且逐漸成為當時世界上最大的軟體公司。
關係資料庫
資料庫網狀資料庫和層次資料庫已經很好地解決了數據的集中和共享問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種資料庫進行存取時,仍然需要明確數據的存儲結構,指出存取路徑。而後來出現的關係資料庫較好地解決了這些問題。
1970年,IBM的研究員E.F.Codd博士在刊物《CommunicationoftheACM》上發表了一篇名為「ARelationalModelofDataforLargeSharedDataBanks」的論文,提出了關係模型的概念,奠定了關係模型的理論基礎。儘管之前在1968年Childs已經提出了面向集合的模型,然而這篇論文被普遍認為是資料庫系統歷史上具有劃時代意義的里程碑。Codd的心愿是為資料庫建立一個優美的數據模型。後來Codd又陸續發表多篇文章,論述了範式理論和衡量關係系統的12條標準,用數學理論奠定了關係資料庫的基礎。關係模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關係模型是理想化的數據模型,用來實現DBMS是不現實的,尤其擔心關係資料庫的性能難以接受,更有人視其為當時正在進行中的網狀資料庫規範化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關係資料庫兩派之間的辯論。這次著名的辯論推動了關係資料庫的發展,使其最終成為現代資料庫產品的主流。
1969:EdgarF。「Ted」Codd發明了關係資料庫。1970年關係模型建立之後,IBM公司在SanJose實驗室增加了更多的研究人員研究這個項目,這個項目就是著名的SystemR。其目標是論證一個全功能關係DBMS的可行性。該項目結束於1979年,完成了第一個實現SQL的DBMS。然而IBM對IMS的承諾阻止了SystemR的投產,一直到1980年SystemR才作為一個產品正式推向市場。IBM產品化步伐緩慢的三個原因:IBM重視信譽,重視質量,儘量減少故障;IBM是個大公司,官僚體系龐大;IBM內部已經有層次資料庫產品,相關人員不積極,甚至反對。
1973年加州大學伯克利分校的MichaelStonebraker和EugeneWong利用SystemR已發布的信息開始開發自己的關係資料庫系統Ingres。他們開發的Ingres項目最後由Oracle公司、Ingres公司以及矽谷的其他廠商所商品化。後來,SystemR和Ingres系統雙雙獲得ACM的1988年「軟體系統獎」。
1976年霍尼韋爾公司(Honeywell)開發了第一個商用關係資料庫系統——MulticsRelationalDataStore。關係型資料庫系統以關係代數為堅實的理論基礎,經過幾十年的發展和實際應用,技術越來越成熟和完善。其代表產品有Oracle、IBM公司的DB2、微軟公司的MSSQLServer以及Informix、ADABASD。
查詢語言
資料庫1974年,IBM的RayBoyce和DonChamberlin將Codd關係資料庫的12條準則的數學定義以簡單的關鍵字語法表現出來,里程碑式地提出了SQL(StructuredQueryLanguage)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關係資料庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什麼而不需要指出怎麼做。SQL集成實現了資料庫生命周期中的全部操作。SQL提供了與關係資料庫進行交互的方法,它可以與標準的程式語言一起工作。自產生之日起,SQL語言便成了檢驗關係資料庫的試金石,而SQL語言標準的每一次變更都指導著關係資料庫產品的發展方向。然而,直到二十世紀七十年代中期,關係理論才通過SQL在商業資料庫Oracle和DB2中使用。
1986年,ANSI把SQL作為關係資料庫語言的美國標準,同年公布了標準SQL文本。SQL標準有3個版本。基本SQL定義是ANSIX3135-89,「DatabaseLanguage-SQLwithIntegrityEnhancement」[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數據操作和事務處理。
SQL-89和隨後的ANSIX3168-1989,「DatabaseLanguage-EmbeddedSQL」構成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現在叫做SQL-92標準。SQL-92包括模式操作,動態創建和SQL語句動態執行、網絡環境支持等增強特性。在完成SQL-92標準後,ANSI和ISO即開始合作開發SQL3標準。SQL3的主要特點在於抽象數據類型的支持,為新一代對象關係資料庫提供了標準。
1969:EdgarF.Codd發明了關係資料庫。1976年IBME.F.Codd發表了一篇里程碑的論文「R系統:資料庫關係理論」,介紹了關係資料庫理論和查詢語言SQL。Oracle的創始人Ellison非常仔細地閱讀了這篇文章,被其內容震驚,這是第一次有人用全面一致的方案管理數據信息。作者E.F.Codd十年前就發表了關係資料庫理論,並在IBM研究機構開發原型,這個項目就是R系統,存取數據表的語言就是SQL。Ellison看完後,敏銳意識到在這個研究基礎上可以開發商用軟體系統。而當時大多數人認為關係資料庫不會有商業價值。Ellison認為這是他們的機會:他們決定開發通用商用資料庫系統Oracle,這個名字來源於他們曾給中央情報局做過的項目名。開發Oracle1.0。但這只不過是個玩具,除了完成簡單關係查詢不能做任何事情,他們花相當長的時間才使Oracle變得可用,維持公司運轉主要靠承接一些資料庫管理項目和做顧問諮詢工作。而IBM卻沒有計劃開發,為什麼藍色巨人放棄了這個價值上百億的產品,原因有很多:IBM的研究人員大多是學術出身,他們最感興趣的是理論,而非推向市場的產品,從學術上看,研究成果應公開,發表論文和演講能使他們成名。還有一個很主要的原因就是IBM當時有一個銷售得還不錯的層次資料庫產品IMS。直到1985年IBM才發布了關係資料庫DB2,Ellision那時已經成了千萬富翁。Ellison曾將IBM選擇Microsoft的MS-DOS作為IBM-PC機的作業系統比為:「世界企業經營歷史上最嚴重的錯誤,價值超過了上千億美元。」IBM發表R系統論文,而且沒有很快推出關係資料庫產品的錯誤可能僅僅次之。Oracle的市值在1996年就達到了280億美元。
SQL標準有3個版本。基本SQL定義是ANSIX3135-89,「DatabaseLanguage——SQLwithIntegrityEnhancement」[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數據操作和事務處理。SQL-89和隨後的ANSIX3168-1989,「DatabaseLanguage——EmbeddedSQL」構成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現在叫做SQL-92標準。SQL-92包括模式操作,動態創建和SQL語句動態執行、網絡環境支持等增強特性。在完成SQL-92標準後,ANSI和ISO即開始合作開發SQL3標準。SQL3的主要特點在於抽象數據類型的支持,為新一代對象關係資料庫提供了標準。
面向對象
資料庫隨著信息技術和市場的發展,人們發現關係型資料庫系統雖然技術很成熟,但其局限性也是顯而易見的:它能很好地處理所謂的「表格型數據」,卻對技術界出現的越來越多的複雜類型的數據無能為力。九十年代以後,技術界一直在研究和尋求新型資料庫系統。但在什麼是新型資料庫系統的發展方向的問題上,產業界一度是相當困惑的。受當時技術風潮的影響,在相當一段時間內,人們把大量的精力花在研究「面向對象的資料庫系統(objectorienteddatabase)」或簡稱「OO資料庫系統」。值得一提的是,美國Stonebraker教授提出的面向對象的關係型資料庫理論曾一度受到產業界的青睞。而Stonebraker本人也在當時被Informix花大價錢聘為技術總負責人。
面向對象的關係型資料庫系統產品的市場發展的情況並不理想。理論上的完美性並沒有帶來市場的熱烈反應。其不成功的主要原因在於,這種資料庫產品的主要設計思想是企圖用新型資料庫系統來取代現有的資料庫系統。這對許多已經運用資料庫系統多年並積累了大量工作數據的客戶,尤其是大客戶來說,是無法承受新舊數據間的轉換而帶來的巨大工作量及巨額開支的。另外,面向對象的關係型資料庫系統使查詢語言變得極其複雜,從而使得無論是資料庫的開發商家還是應用客戶都視其複雜的應用技術為畏途。
數據管理
資料庫二十世紀六十年代後期出現了一種新型資料庫軟體:決定支持系統(DSS),其目的是讓管理者在決策過程中更有效地利用數據信息。於是在1970年,第一個聯機分析處理工具——Express誕生了。其他決策支持系統緊隨其後,許多是由公司的IT部門開發出來的。
1985年,第一個商務智能系統(businessintelligence)由Metaphor計算機系統有限公司為Procter&Gamble公司開發出來,主要是用來連接銷售信息和零售的掃描儀數據。同年,Pilot軟體公司開始出售第一個商用客戶/伺服器執行信息系統——CommandCenter。同樣在這年,加州大學伯克利分校Ingres項目演變成Postgres,其目標是開發出一個面向對象的資料庫。此後一年,Graphael公司開發了第一個商用的對象資料庫系統—Gbase。
1988年,IBM公司的研究者BarryDevlin和PaulMurphy發明了一個新的術語—信息倉庫,之後,IT的廠商開始構建實驗性的數據倉庫。1991年,W.H."Bill"Inmon出版了一本「如何構建數據倉庫」的書,使得數據倉庫真正開始應用。
1991:W.H.「Bill」Inmon發表了「構建數據倉庫」。二十世紀九十年代,隨著基於PC的客戶/伺服器計算模式和企業軟體包的廣泛採用,數據管理的變革基本完成。數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。Internet的異軍突起以及XML語言的出現,給資料庫系統的發展開闢了一片新的天地。
發展歷程
資料庫隨著信息管理內容的不斷擴展,出現了豐富多樣的數據模型(層次模型,網狀模型,關係模型,面向對象模型,半結構化模型等),新技術也層出不窮(數據流,Web數據管理,數據挖掘等)。
每隔幾年,國際上一些資深的資料庫專家就會聚集一堂,探討資料庫研究現狀,存在的問題和未來需要關注的新技術焦點。過去已有的幾個類似報告包括:1989年FutureDirectionsinDBMSResearch-TheLagunaBeachParticipants,1990年DatabaseSystems:AchievementsandOpportunities,1995年的Database1991:W.H.Inmon發表了《構建數據倉庫》。
1951:Univac系統使用磁帶和穿孔卡片作為數據存儲。1956:IBM公司在其Model305RAMAC中第一次引入了磁碟驅動器1961:通用電氣(GE)公司的CharlesBachman開發了第一個資料庫管理系統——IDS1969:E.F.Codd發明了關係資料庫。1973:由JohnJ.Cullinane領導Cullinane公司開發了IDMS——一個針對IBM主機的基於網絡模型的資料庫。1976:Honeywell公司推出了MulticsRelationalDataStore——第一個商用關係資料庫產品。1979:Oracle公司引入了第一個商用SQL關係資料庫管理系統。1983:IBM推出了DB2資料庫產品。1985:為Procter&Gamble系統設計的第一個商務智能系統產生。1991:W.H.「Bill」Inmon發表了」構建數據倉庫」。
研究機構
資料庫ACMSIGMOD
國際計算機學會數據管理專業委員會(ACMSIGMOD)是國際資料庫領域最高級別的國際會議。其主要致力於資料庫以及信息技術的研究,開發和應用。SIGMOD每年召開一次,SIGMODRecord是其發行的資料庫期刊。
VLDB
國際超大型資料庫會議(InternationalConferenceonVeryLargeDataBases,VLDB)是一個專門從事超大規模資料庫管理理論、方法和應用研究的專業性學術機構,它涉及的內容也很豐富,包括研究及應用的諸多方面,基本上能夠較全面地反映當前資料庫研究的前沿方向、工業界的最新技術以及各國的研發水平。1975年,以美籍華裔科學家肖開美教授(DaveHsiao)為首的一批資料庫學者發起組織了第一屆VLDB會議。此後每年召開一次,已成為是資料庫領域中最主要、規模最大的國際學術會議。
ICDE
數據工程國際學術會議(ICDE)是由IEEE計算機數據工程技術學會(TCDE)主辦的資料庫領域的最高級別的國際性會議之一。會議產生出版季刊數據工程通報(英文DataEngineeringBulletin)。TCDE致力於研究數據在信息系統的設計、實現與管理中的作用,面向的主要問題包括資料庫設計、數據處理、資料庫存儲與操縱語言、數據採集的策略與機制、資料庫的安全性與完整性控制、資料庫的工程應用以及分布式系統。
CCFDBS
中國計算機學會資料庫專業委員會(CHINACOMPUTERFEDERATIONDATABASESOCIETY,簡稱CCFDBS)是中國計算機學會領導下的資料庫學術組織,於1999年8月24日在蘭州大學召開的第十六屆中國資料庫學術會議上正式成立。由資料庫專業委員會主辦的中國資料庫學術會議(NDBC)始於1977年,至今已舉辦20屆。NDBC這一傳統的資料庫盛會已成為國內資料庫領域較為權威的會議。
資料庫模式
用戶級對應外模式,概念級對應模式,物理級對應內模式,使不同級別的用戶對資料庫形成不同的視圖。所謂視圖,就是指觀察、認識和理解數據的範圍、角度和方法,是資料庫在用戶「眼中"的反映,很顯然,不同層次(級別)用戶所「看到』』的資料庫是不相同的。 1模式. 模式又稱概念模式或邏輯模式,對應於概念級。它是由資料庫設計者綜合所有用戶的數據,按照統一的觀點構造的全局邏輯結構,是對資料庫中全部數據的邏輯結構和特徵的總體描述,是所有用戶的公共數據視圖(全局視圖)。它是由資料庫管理系統提供的數據模式描述語言(Data Description Language,DDL)來描述、定義的,體現、反映了資料庫系統的整體觀。 2.外模式 外模式又稱子模式,對應於用戶級。它是某個或某幾個用戶所看到的資料庫的數據視圖,是與某一應用有關的數據的邏輯表示。外模式是從模式導出的一個子集,包含模式中允許特定用戶使用的那部分數據。用戶可以通過外模式描述語言來描述、定義對應於用戶的數據記錄(外模式),也可以利用數據操縱語言(Data Manipulation Lang uage,DML)對這些數據記錄進行。外模式反映了資料庫的用戶觀。 3.內模式 內模式又稱存儲模式,對應於物理級,它是資料庫中全體數據的內部表示或底層描述,是資料庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式翱物理結構,對應著實際存儲在外存儲介質上的資料庫。內模式由內模式描述語言來描述、定義,它是資料庫的存儲觀。 在一個資料庫系統中,只有唯一的資料庫, 因而作為定義 、描述資料庫存儲結構的內模式和定義、描述資料庫邏輯結構的模式,也是惟一的,但建立在資料庫系統之上的應用則是非常廣泛、多樣的,所以對應的外模式不是惟一的,也不可能是惟一的。 4.三級模式間的映射 資料庫的三級模式是資料庫在三個級別 (層次)上的抽象,使用戶能夠邏輯地、抽象地處理數據而不必關心數據在計算機中的物理表示和存儲。實際上 ,對於一個資料庫系統而言一有物理級資料庫是客觀存在的,它是進行資料庫操作的基礎,概念級資料庫中不過是物理資料庫的一種邏輯的、抽象的描述(即模式),用戶級資料庫則是用戶與資料庫的接口,它是概念級資料庫的一個子集(外模式)。 用戶應用程式根據外模式進行數據操作,通過外模式一模式映射,定義和建立某個外模式與模式間的對應關係,將外模式與模式聯繫起來,當模式發生改變時,只要改變其映射,就可以使外模式保持不變,對應的應用程式也可保持不變;另一方面,通過模式一內模式映射,定義建立數據的邏輯結構(模式)與存儲結構(內模式)間的對應關係,當數據的存儲結構發生變化時,只需改變模式一內模式映射,就能保持模式不變,因此應用程式也可以保持不變。
人物代表
資料庫埃德加·考特(EdgarF.Codd)
計算機界公認的關係資料庫之父。1970年他提出了關係模型的理論,1970年以後,E.F.Codd繼續完善和發展關係理論;之後創辦了一個研究所TheRelationalInstitute和一個公司Codd&Associations;1990年出版了專著TheRelationalModelforDatabaseManagement:Version2。E.F.Codd以其對關係資料庫的卓越貢獻獲得了1983年ACM圖靈獎。
C.J.戴特(C.J.Date)
C.J.Date是最早認識到Codd在關係模型方面所做的開創性貢獻的學者之一,他是關係資料庫技術領域中非常著名的獨立撰稿人、學者和顧問,他使得關係模型的概念普及化。他參與了IBM公司的SQL/DS和DB2兩大產品的技術規劃和設計。30多年來,Date一直活躍在資料庫領域中,其著作有《資料庫系統導論》,《對象關係資料庫基礎:第三次宣言》(1998)等。
吉姆·格雷(JimGray)
JimGray使關係模型的技術實用化,他為RDBMS成熟並順利進入市場起到了關鍵性的作用。他在事務處理方面取得了突出的貢獻,使他成為該技術領域公認的權威,他也成為圖靈獎誕生32年來第三位在資料庫技術的發展中作出重大貢獻而獲此殊榮的學者。曾參與主持過IMS、SystemR、SQL/DS、DB2等項目的開發。他的研究成果反映在他發表的一系列論文和研究報告之中,最後結晶為一部厚厚的專著:TransactionProcessing:ConceptsandTechniques。
MichaelStonebraker
MichaelStonebraker是Ingres的創始人。他是加州大學伯克利分校的教授,著名的資料庫學者,他在1992年提出對象關係資料庫模型。Stonebraker教授領導了稱為Postgres的後Ingres項目。這個項目的成果是非常巨大的,在現代資料庫的許多方面都做出的大量的貢獻。Stonebraker教授還做出了一件造福全人類的事情,那就是把Postgres放在了BSD版權的保護下。
JeffreyD.Ullman
JeffreyD.Ullman是國際知名的資料庫專家。現為史丹福大學的StanfordW.Ascherman計算機科學教授。1996年獲得Sigmod貢獻獎和1998年KarlV.Karstrom傑出教育家獎獲得者。出版了多本資料庫專著。
相關詞條
| MYSQL | IP | ICP | ALEXA | PR | SEO |
| CGI | FSO | FTP | POP3 | WCM | ECM |
| FLASH | WEB | GPU | CPA | DIV | CSS |
| HTML | BBS | .NET | XML | AJAX | MD5 |