當前位置:學問谷 >

生活範例 >科普知識 >

什麼是數據庫概念模型

什麼是數據庫概念模型

把面向對象的方法和數據庫技術結合起來可以使數據庫系統的分析、設計最大程度地與人們對客觀世界的認識相一致。面向對象數據庫系統是為了滿足新的數據庫應用需要而產生的新一代數據庫系統。

什麼是數據庫概念模型

數據庫概念模型實際上是現實世界到機器世界的一箇中間層次。數據庫概念模型用於信息世界的建模,是現實世界到信息世界的第一層抽象,是數據庫設計人員進行數據庫設計的有力工具,也是數據庫設計人員和用户之間進行交流的語言。建立數據概念模型,就是從數據的觀點出發,觀察系統中數據的採集、傳輸、處理、存儲、輸出等,經過分析、總結之後建立起來的一個邏輯模型,它主要是用於描述系統中數據的各種狀態。這個模型不關心具體的實現方式(例如如何存儲)和細節,而是主要關心數據在系統中的各個處理階段的狀態。 實際上,數據流圖也是一種數據概念模型。

  層次模型

  圖形結構

若用圖來表示,層次模型是一棵倒立的樹。在數據庫中,滿足以下條件的數據模型稱之為層次模型:① 有且僅有一個結點無父結點,這個結點稱之為根結點; ② 其他結點有且僅有一個父結點。 根據層次模型的定義可以看到,這是一個典型的樹型結構。結點層次從根開始定義,根為第一層,根的子結點為第二層,根為其子結點的父結點,同一父結點的子結點稱為兄弟結點,沒有子結點的結點稱為葉結點。

  層次模型的優缺點

層次模型的主要優點:

層次數據庫模型本身比較簡單、 層次模型對具有一對多的層次關係的部門描述非常自然、直觀,容易理解、層次數據庫模型提供了良好的完整性支持。

層次模型的主要缺點:

在現實世界中有很多的非層次性的聯繫,如多對多的聯繫,一個結點具有多個父結點等,層次模型表示這類聯繫的方法很笨拙、對於插入和刪除操作的限制比較多、查詢子結點必須經過父結點、由於結構嚴密,層次命令趨於程序化。

  面向對象的數據庫模型

面向對象數據庫研究的另一個進展是在現有關係數據庫中加入許多純面向對象數據庫的功能。在商業應用中對關係模型的面向對象擴展着重於性能優化,處理各種環境的對象的物理表示的優化和增加SQL模型以賦予面向對象特徵。如Versant、UNISQL、O2等, 它們均具有關係數據庫的基本功能,採用類似於SQL的語言,用户很容易掌握。

  其他應用

還有許多應用要求多媒體數據庫。它們要求以集成方式和文本或圖形信息一起處理關係數據,這些應用包括高級辦公室系統的其它文檔管理系統。

人工智能(AI)應用的需要,如專家系統,也推動了面向對象數據庫的發展。專家系統常需要處理各種(通常是複雜的)數據類型。與關係數據庫不同,面向對象數據庫不因數據類型的增加而降低處理效率。

由於這些應用需求,80年代已開始出現一些面向對象數據庫的.商品和許多正在研究的面向對象數據庫。多數這樣的面向對象數據庫被用於基本設計的學科和工程應用領域。

  早期的面向對象數據庫

早期的面向對象數據庫由於一些特性限制了在一般商業領域裏的應用。首先同許多別的商業事務相比較,面向設計假定用户只執行有限的擴充事務;其次,商業用户要求易於使用的查詢手段,如結構查詢語言(SQL)所提供的手段。 而開發商用於商業領域的數據庫定義和操作語言未獲成功,使得它們對規模較大的應用完全無法適應。

面向對象數據庫的新產品都在試圖改變這些狀況,使得面向對象數據庫的開發從實驗室走向市場。面向對象數據庫從面向程序設計語言的擴充着手使之成為基於面向對象程序設計語言的面向對象數據庫。例如:ONTOS、ORION等,它們均是C++的擴充,熟悉C++的人均能很方便地掌握並使用這類系統。

  加入純面向對象數據庫

在現有關係數據庫中加入純面向對象數據庫是面向對象數據庫研究的另一個進展是在現有關係數據庫中加入許多純面向對象數據庫的功能。在商業應用中對關係模型的面向對象擴展着重於性能優化,處理各種環境的對象的物理表示的優化和增加SQL模型以賦予面向對象特徵。如Versant、UNISQL、O2等, 它們均具有關係數據庫的基本功能,採用類似於SQL的語言,用户很容易掌握。

  網狀模型

在現實世界中,事物之間的聯繫更多的是非層次關係的,用層次模型表示非樹型結構是很不直接的,網狀模型則可以克服這一弊病。網狀模型是一個網絡。在數據庫中,滿足以下兩個條件的數據模型稱為網狀模型。

① 允許一個以上的結點無父結點;

② 一個結點可以有多於一個的父結點。 從以上定義看出,網狀模型構成了比層次結構複雜的網狀結構。

  關係模型

在關係模型中,數據的邏輯結構是一張二維表。

在數據庫中,滿足下列條件的二維表稱為關係模型:

① 每一列中的分量是類型相同的數據;

② 列的順序可以是任意的;

③ 行的順序可以是任意的;

④ 表中的分量是不可再分割的最小數據項,即表中不允許有子表;

⑤ 表中的任意兩行不能完全相同。

關係數據庫採用關係模型作為數據的組織方式。 關係數據庫因其嚴格的數學理論、使用簡單靈活、數據獨立性強等特點,而被公認為最有前途的一種數據庫管理系統。它的發展十分迅速,目前已成為佔據主導地位的數據庫管理系統。自20世紀80年代以來,作為商品推出的數據庫管理系統幾乎都是關係型的,例如,Oracle,Sybase,Informix,Visual FoxPro,mysql,sqlserver等。

  關係模型範式

只有滿足一定條件的關係模式,才能避免操作異常。

關係模式要滿足的條件稱為規範化形式,簡稱範式。

下面介紹四種不同程度的範式,由低級向高級:

1、第一範式(1NF)

在關係模式R的每一個具體關係r中,如果每個屬性值都是不可能再分的最小數據單元,則稱R是第一範式。記為R∈1NF。1NF是關係數據庫能夠保存數據並且正確訪問數據的最基本條件。

2、第二範式(2NF)

如果關係模式R(U,F)中的所有非主屬性都完全函數依賴於任意一個候選關鍵字,則稱關係R是屬於第二範式。記為R∈2NF。

3、第三範式(3NF)

如果關係模式R(U,F)中所有非主屬性對任何侯選關鍵字都不存在傳遞依賴,則稱關係R是屬於第三範式。記為R∈3NF。

4、BCNF

如果關係模式R(U,F)R屬於1NF,對任何非平凡依賴的函數依賴X→Y(Y!→X)X均包含碼。記為R∈BCNF。如果R是BCNF則一定是3NF;反之則不行。

一個低級範式的關係模式,可以通過分解方法轉換成若干個高一級範式的關係模式的集合,也可以説任何一個高層的範式,總是能夠滿足低層的範式。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flsh/kepu/oml70.html