當前位置:首頁 » 數據倉庫 » 當前主流資料庫主要採用什麼模型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

當前主流資料庫主要採用什麼模型

發布時間: 2022-12-16 22:13:42

A. 資料庫的三種基本模型是什麼

傳統的基本數據模型有以下三種:
1、層次模型
層次模型是一種樹結構模型,它把數據按自然的層次關系組織起來,以反映數據之間的隸屬關系。層次模型是資料庫技術中發展最早、技術上比較成熟的一種數據模型。它的特點是地理數據組織成有向有序的樹結構,也叫樹形結構。結構中的結點代表數據記錄,連線描述位於不同結點數據間的從屬關系(一對多的關系)。
2、網狀數據模型
網狀模型將數據組織成有向圖結構,圖中的結點代表數據記錄,連線描述不同結點數據間的聯系。這種數據模型的基本特徵是,結點數據之間沒有明確的從屬關系,一個結點可與其它多個結點建立聯系,即結點之間的聯系是任意的,任何兩個結點之間都能發生聯系,可表示多對多的關系。
3、關系數據模型
由於關系資料庫結構簡單,操作方便,有堅實的理論基礎,所以發展很快,80年代以後推出的資料庫管理系統幾乎都是關系型的。涉及到的基礎知識有:關系模型的邏輯數據結構,表的操作符,表的完整性規則和視圖、範式概念。
關系模型可以簡單、靈活地表示各種實體及其關系,其數據描述具有較強的一致性和獨立性。在關系資料庫系統中,對數據的操作是通過關系代數實現的,具有嚴格的數學基礎。

B. 資料庫主要的模型有哪些

層次模型、網狀模型、關系模型


層次模型(格式化模型)

定義和限制條件:有且僅有一個節點,無父節點,此節點為樹的根;其他節點有且僅有一個父節點;

優點:

①數據結構簡單清晰;

②利用指針記錄邊向聯系,查詢效率高;

③良好的完整新支持;

缺點:

①只能表示1:N的聯系。盡管有許多輔助手段實現M:N的聯系,但比較復雜,不易掌握。

②層次模型的樹是有序樹(層次順序)。對任一結點的所有子樹都規定了先後次序,這一限制隱含了對資料庫存取路徑的控制。

③樹中父子結點之間只存在一種聯系,因此,對樹中的任一結點,只有一條自根結點到達它的路徑。


網狀模型(格式化模型)

網狀模型的2個特徵:允許一個以上的節點無雙親;一個節點可以有多於一個的雙親;

優點:

①可以更加清晰表達現實,符合現實中的數據關系;

②可以很快存取操作;

缺點:

①結構復雜;

②不易掌握,網狀模型的DDL,DDM復雜,並且並且要嵌入某一種高級語言(COBOL,c),用戶不易掌握;

③應用程序復雜,記錄之間的聯系通過存取路徑實現的,應用程序在訪問數據時必須選擇合適的存取路徑,因此用戶必須了解系統結構的細節,加重編寫應用程序的負擔;


關系模型

單一的數據結構——關系

現實世界的實體以及實體間的各種聯系均用關系來表示,從用戶角度看,關系模型中數據的邏輯結構是一張二維表。

優點:

①數據結構單一,關系模型中,不管是實體還是實體之間的聯系,都用關系來表示,而關系都對應一張二維數據表,數據結構簡單、清晰。

②關系規范化,並建立在嚴格的理論基礎上,構成關系的基本規范要求關系中每個屬性不可再分割,同時關系建立在具有堅實的理論基礎的嚴格數學概念基礎上。

③概念簡單,操作方便,關系模型最大的優點就是簡單,用戶容易理解和掌握,一個關系就是一張二維表格,用戶只需用簡單的查詢語言就能對資料庫進行操作。

缺點:

①查詢效率不如格式化數據模型;

②為了提高性能,資料庫管理系統需要優化用戶查詢,增加了資料庫管理系統的開發難度;

C. 當前主流的資料庫系統通常採用哪幾種模型

目前最主流的sql server、oracle、mysql、db2都是關系型資料庫。隨著社交網站、視頻網站等互聯網新業務模式的興起,各種非關系資料庫模型也在不斷涌現。

以下是的:
數據模型概述

1.關系模型

關系模型使用記錄(由元組組成)進行存儲,記錄存儲在表中,表由架構界定。表中的每個列都有名稱和類型,表中的所有記錄都要符合表的定義。SQL是專門的查詢語言,提供相應的語法查找符合條件的記錄,如表聯接(Join)。表聯接可以基於表之間的關系在多表之間查詢記錄。

表中的記錄可以被創建和刪除,記錄中的欄位也可以單獨更新。

關系模型資料庫通常提供事務處理機制,這為涉及多條記錄的自動化處理提供了解決方案。

對不同的編程語言而言,表可以被看成數組、記錄列表或者結構。表可以使用B樹和哈希表進行索引,以應對高性能訪問。

2.鍵值存儲

鍵值存儲提供了基於鍵對值的訪問方式。

鍵值對可以被創建或刪除,與鍵相關聯的值可以被更新。

鍵值存儲一般不提供事務處理機制。

對不同的編程語言而言,鍵值存儲類似於哈希表。對此,不同的編程語言有不同的名字(如,Java稱之為「HashMap」,Perl稱之為「hash」,Python稱之為「dict」,PHP稱之為「associative array」),C++則稱之為「boost::unordered_map<...>」。

鍵值存儲支持鍵上自有的隱式索引。

鍵值存儲看起來好像不太有用,但卻可以在「值」上存儲大量信息。「值」可以是一個XML文檔,一個JSON對象,或者其它任何序列化形式。

重要的是,鍵值存儲引擎並不在意「值」的內部結構,它依賴客戶端對「值」進行解釋和管理。

3.文檔存儲

文檔存儲支持對結構化數據的訪問,不同於關系模型的是,文檔存儲沒有強制的架構。

事實上,文檔存儲以封包鍵值對的方式進行存儲。在這種情況下,應用對要檢索的封包採取一些約定,或者利用存儲引擎的能力將不同的文檔劃分成不同的集合,以管理數據。

與關系模型不同的是,文檔存儲模型支持嵌套結構。例如,文檔存儲模型支持XML和JSON文檔,欄位的「值」又可以嵌套存儲其它文檔。文檔存儲模型也支持數組和列值鍵。

與鍵值存儲不同的是,文檔存儲關心文檔的內部結構。這使得存儲引擎可以直接支持二級索引,從而允許對任意欄位進行高效查詢。支持文檔嵌套存儲的能力,使得查詢語言具有搜索嵌套對象的能力,XQuery就是一個例子。MongoDB通過支持在查詢中指定JSON欄位路徑實現類似的功能。

4.列式存儲

如果翻轉數據,列式存儲與關系存儲將會非常相似。與關系模型存儲記錄不同,列式存儲以流的方式在列中存儲所有的數據。對於任何記錄,索引都可以快速地獲取列上的數據。

Map-rece的實現Hadoop的流數據處理效率非常高,列式存儲的優點體現的淋漓極致。因此,HBase和Hypertable通常作為非關系型數據倉庫,為Map-rece進行數據分析提供支持。

關系類型的列標對數據分析效果不好,因此,用戶經常將更復雜的數據存儲在列式資料庫中。這直接體現在Cassandra中,它引入的「column family」可以被認為是一個「super-column」。

列式存儲支持行檢索,但這需要從每個列獲取匹配的列值,並重新組成行。

5.圖形資料庫

圖形資料庫存儲頂點和邊的信息,有的支持添加註釋。

圖形資料庫可用於對事物建模,如社交圖譜、真實世界的各種對象。IMDB(Internet Movie Database)站點的內容就組成了一幅復雜的圖像,演員與電影彼此交織在一起。

圖形資料庫的查詢語言一般用於查找圖形中斷點的路徑,或端點之間路徑的屬性。Neo4j是一個典型的圖形資料庫。

選擇哪一種數據模型?

數據模型有著各自的優缺點,它們適用於不同的領域。不管是選擇關系模型,還是非關系模型,都要根據實際應用的場景做出選擇。也許你會發現單一的數據模型不能滿足你的解決方案,許多大型應用可能需要集成多種數據模型。

D. 資料庫中最常用的數據模型是哪種

層次模型
層次模型是以記錄類型為結點的樹型結構,下層記錄是上層記錄中某元素的細化。
層次模型的記錄類型間只有簡單的層次關系,且滿足以下條件:有一個記錄類型沒有父結點;其他記錄類型有且只有一個父結點。
網狀模型
有一個以上記錄類型沒有父結點;至少有一個記錄類型多於一個父結點。用這種網路結構表示記錄類型之間聯系的模型稱為網狀模型。

關系模型
關系模型的基本思想是把事物與事物之間的聯系用二維表格的形式描述。一個關系可以看作一個二維表,表中每一行是一個記錄,每一列是一個欄位。
關系模型可用離散數學中的關系代數來描述,因而關系資料庫管理系統能夠用嚴格的數學理論來描述資料庫的組織和操作,且具有簡單靈活、數據獨立性高等特點,應用十分廣泛。

E. 資料庫主要的模型有哪些

資料庫主要的模型有:層次結構模型、網狀結構模型、關系結構模型。