- 相關推薦
什么是數(shù)據(jù)庫概念模型
把面向對象的方法和數(shù)據(jù)庫技術結合起來可以使數(shù)據(jù)庫系統(tǒng)的分析、設計最大程度地與人們對客觀世界的認識相一致。面向對象數(shù)據(jù)庫系統(tǒng)是為了滿足新的數(shù)據(jù)庫應用需要而產生的新一代數(shù)據(jù)庫系統(tǒng)。
數(shù)據(jù)庫概念模型實際上是現(xiàn)實世界到機器世界的一個中間層次。數(shù)據(jù)庫概念模型用于信息世界的建模,是現(xiàn)實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有力工具,也是數(shù)據(jù)庫設計人員和用戶之間進行交流的語言。建立數(shù)據(jù)概念模型,就是從數(shù)據(jù)的觀點出發(fā),觀察系統(tǒng)中數(shù)據(jù)的采集、傳輸、處理、存儲、輸出等,經(jīng)過分析、總結之后建立起來的一個邏輯模型,它主要是用于描述系統(tǒng)中數(shù)據(jù)的各種狀態(tài)。這個模型不關心具體的實現(xiàn)方式(例如如何存儲)和細節(jié),而是主要關心數(shù)據(jù)在系統(tǒng)中的各個處理階段的狀態(tài)。 實際上,數(shù)據(jù)流圖也是一種數(shù)據(jù)概念模型。
層次模型
圖形結構
若用圖來表示,層次模型是一棵倒立的樹。在數(shù)據(jù)庫中,滿足以下條件的數(shù)據(jù)模型稱之為層次模型:① 有且僅有一個結點無父結點,這個結點稱之為根結點; ② 其他結點有且僅有一個父結點。 根據(jù)層次模型的定義可以看到,這是一個典型的樹型結構。結點層次從根開始定義,根為第一層,根的子結點為第二層,根為其子結點的父結點,同一父結點的子結點稱為兄弟結點,沒有子結點的結點稱為葉結點。
層次模型的優(yōu)缺點
層次模型的主要優(yōu)點:
層次數(shù)據(jù)庫模型本身比較簡單、 層次模型對具有一對多的層次關系的部門描述非常自然、直觀,容易理解、層次數(shù)據(jù)庫模型提供了良好的完整性支持。
層次模型的主要缺點:
在現(xiàn)實世界中有很多的非層次性的聯(lián)系,如多對多的聯(lián)系,一個結點具有多個父結點等,層次模型表示這類聯(lián)系的方法很笨拙、對于插入和刪除操作的限制比較多、查詢子結點必須經(jīng)過父結點、由于結構嚴密,層次命令趨于程序化。
面向對象的數(shù)據(jù)庫模型
面向對象數(shù)據(jù)庫研究的另一個進展是在現(xiàn)有關系數(shù)據(jù)庫中加入許多純面向對象數(shù)據(jù)庫的功能。在商業(yè)應用中對關系模型的面向對象擴展著重于性能優(yōu)化,處理各種環(huán)境的對象的物理表示的優(yōu)化和增加SQL模型以賦予面向對象特征。如Versant、UNISQL、O2等, 它們均具有關系數(shù)據(jù)庫的基本功能,采用類似于SQL的語言,用戶很容易掌握。
其他應用
還有許多應用要求多媒體數(shù)據(jù)庫。它們要求以集成方式和文本或圖形信息一起處理關系數(shù)據(jù),這些應用包括高級辦公室系統(tǒng)的其它文檔管理系統(tǒng)。
人工智能(AI)應用的需要,如專家系統(tǒng),也推動了面向對象數(shù)據(jù)庫的發(fā)展。專家系統(tǒng)常需要處理各種(通常是復雜的)數(shù)據(jù)類型。與關系數(shù)據(jù)庫不同,面向對象數(shù)據(jù)庫不因數(shù)據(jù)類型的增加而降低處理效率。
由于這些應用需求,80年代已開始出現(xiàn)一些面向對象數(shù)據(jù)庫的商品和許多正在研究的面向對象數(shù)據(jù)庫。多數(shù)這樣的面向對象數(shù)據(jù)庫被用于基本設計的學科和工程應用領域。
早期的面向對象數(shù)據(jù)庫
早期的面向對象數(shù)據(jù)庫由于一些特性限制了在一般商業(yè)領域里的應用。首先同許多別的商業(yè)事務相比較,面向設計假定用戶只執(zhí)行有限的擴充事務;其次,商業(yè)用戶要求易于使用的查詢手段,如結構查詢語言(SQL)所提供的手段。 而開發(fā)商用于商業(yè)領域的數(shù)據(jù)庫定義和操作語言未獲成功,使得它們對規(guī)模較大的應用完全無法適應。
面向對象數(shù)據(jù)庫的新產品都在試圖改變這些狀況,使得面向對象數(shù)據(jù)庫的開發(fā)從實驗室走向市場。面向對象數(shù)據(jù)庫從面向程序設計語言的擴充著手使之成為基于面向對象程序設計語言的面向對象數(shù)據(jù)庫。例如:ONTOS、ORION等,它們均是C++的擴充,熟悉C++的人均能很方便地掌握并使用這類系統(tǒng)。
加入純面向對象數(shù)據(jù)庫
在現(xiàn)有關系數(shù)據(jù)庫中加入純面向對象數(shù)據(jù)庫是面向對象數(shù)據(jù)庫研究的另一個進展是在現(xiàn)有關系數(shù)據(jù)庫中加入許多純面向對象數(shù)據(jù)庫的功能。在商業(yè)應用中對關系模型的面向對象擴展著重于性能優(yōu)化,處理各種環(huán)境的對象的物理表示的優(yōu)化和增加SQL模型以賦予面向對象特征。如Versant、UNISQL、O2等, 它們均具有關系數(shù)據(jù)庫的基本功能,采用類似于SQL的語言,用戶很容易掌握。
網(wǎng)狀模型
在現(xiàn)實世界中,事物之間的聯(lián)系更多的是非層次關系的,用層次模型表示非樹型結構是很不直接的,網(wǎng)狀模型則可以克服這一弊病。網(wǎng)狀模型是一個網(wǎng)絡。在數(shù)據(jù)庫中,滿足以下兩個條件的數(shù)據(jù)模型稱為網(wǎng)狀模型。
① 允許一個以上的結點無父結點;
、 一個結點可以有多于一個的父結點。 從以上定義看出,網(wǎng)狀模型構成了比層次結構復雜的網(wǎng)狀結構。
關系模型
在關系模型中,數(shù)據(jù)的邏輯結構是一張二維表。
在數(shù)據(jù)庫中,滿足下列條件的二維表稱為關系模型:
、 每一列中的分量是類型相同的數(shù)據(jù);
、 列的順序可以是任意的;
③ 行的順序可以是任意的;
、 表中的分量是不可再分割的最小數(shù)據(jù)項,即表中不允許有子表;
、 表中的任意兩行不能完全相同。
關系數(shù)據(jù)庫采用關系模型作為數(shù)據(jù)的組織方式。 關系數(shù)據(jù)庫因其嚴格的數(shù)學理論、使用簡單靈活、數(shù)據(jù)獨立性強等特點,而被公認為最有前途的一種數(shù)據(jù)庫管理系統(tǒng)。它的發(fā)展十分迅速,目前已成為占據(jù)主導地位的數(shù)據(jù)庫管理系統(tǒng)。自20世紀80年代以來,作為商品推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都是關系型的,例如,Oracle,Sybase,Informix,Visual FoxPro,mysql,sqlserver等。
關系模型范式
只有滿足一定條件的關系模式,才能避免操作異常。
關系模式要滿足的條件稱為規(guī)范化形式,簡稱范式。
下面介紹四種不同程度的范式,由低級向高級:
1、第一范式(1NF)
在關系模式R的每一個具體關系r中,如果每個屬性值都是不可能再分的最小數(shù)據(jù)單元,則稱R是第一范式。記為R∈1NF。1NF是關系數(shù)據(jù)庫能夠保存數(shù)據(jù)并且正確訪問數(shù)據(jù)的最基本條件。
2、第二范式(2NF)
如果關系模式R(U,F(xiàn))中的所有非主屬性都完全函數(shù)依賴于任意一個候選關鍵字,則稱關系R是屬于第二范式。記為R∈2NF。
3、第三范式(3NF)
如果關系模式R(U,F(xiàn))中所有非主屬性對任何侯選關鍵字都不存在傳遞依賴,則稱關系R是屬于第三范式。記為R∈3NF。
4、BCNF
如果關系模式R(U,F(xiàn))R屬于1NF,對任何非平凡依賴的函數(shù)依賴X→Y(Y!→X)X均包含碼。記為R∈BCNF。如果R是BCNF則一定是3NF;反之則不行。
一個低級范式的關系模式,可以通過分解方法轉換成若干個高一級范式的關系模式的集合,也可以說任何一個高層的范式,總是能夠滿足低層的范式。
[什么是數(shù)據(jù)庫概念模型]
【什么是數(shù)據(jù)庫概念模型】相關文章:
數(shù)據(jù)庫實習日記08-13
數(shù)據(jù)庫讀書筆記09-29
最新數(shù)據(jù)庫面試題06-01
數(shù)據(jù)庫面試題及答案10-26
數(shù)據(jù)庫常見面試題08-30
數(shù)據(jù)庫工程師簡歷模板08-12
數(shù)據(jù)庫管理英文簡歷范文05-20
數(shù)據(jù)庫管理個人簡歷08-03