數(shù)據(jù)庫的三級模式是什么 什么樣的數(shù)據(jù)結(jié)構(gòu)模型稱為網(wǎng)狀模型呢?
什么樣的數(shù)據(jù)結(jié)構(gòu)模型稱為網(wǎng)狀模型呢?在現(xiàn)實世界中,事物之間的關(guān)系不是等級關(guān)系。用層次模型來表示非樹結(jié)構(gòu)是非常困難的。此時,我們可以利用網(wǎng)格模型來解決這個問題。通常,網(wǎng)絡模型基于連通有向圖。在此之前,需
什么樣的數(shù)據(jù)結(jié)構(gòu)模型稱為網(wǎng)狀模型呢?
在現(xiàn)實世界中,事物之間的關(guān)系不是等級關(guān)系。用層次模型來表示非樹結(jié)構(gòu)是非常困難的。此時,我們可以利用網(wǎng)格模型來解決這個問題。
通常,網(wǎng)絡模型基于連通有向圖。在此之前,需要滿足兩個條件:一是至少允許一個節(jié)點沒有父節(jié)點;二是一個節(jié)點可以有多個父節(jié)點。
網(wǎng)格模型是比層次模型更自由、更通用的結(jié)構(gòu)。它沒有層次模型的兩個限制。它允許多個節(jié)點沒有父節(jié)點,也允許一個節(jié)點有多個父節(jié)點。此外,它允許節(jié)點之間的多個連接。
因此,網(wǎng)格模型更直接地描述現(xiàn)實世界,而層次模型實際上是網(wǎng)格模型的特例。
與層次模型一樣,網(wǎng)格模型中的每個節(jié)點表示一個實體記錄,每個記錄包含多個類型和屬性。實體和節(jié)點之間的連接表示一對多父子關(guān)系。
從網(wǎng)格模型的定義中,我們可以看到父模型和層次模型之間的節(jié)點是唯一的,但是在網(wǎng)格模型中,連接可能不是唯一的。因此,每個鏈接都應該在網(wǎng)格模式中命名,并指出鏈接的父節(jié)點和記錄。
網(wǎng)格模型的數(shù)據(jù)操作主要包括查詢、插入、刪除和更新。插入網(wǎng)格模型時,可以插入不確定的節(jié)點值。刪除網(wǎng)格模型時,只能刪除父節(jié)點的節(jié)點值。更新時,只需更新指定的記錄。因此,網(wǎng)格模型不像層次模型那樣有很多約束,但是網(wǎng)格模型在數(shù)據(jù)庫中的操作有一定的限制,這就提供了一定的完整性約束。
數(shù)據(jù)模型中關(guān)系模型和網(wǎng)狀模型,層次模型的異同點是什么?
層次模型、網(wǎng)格模型和關(guān)系模型是三種重要的數(shù)據(jù)模型。這三個模型是根據(jù)它們的數(shù)據(jù)結(jié)構(gòu)命名的。前兩個使用格式化的結(jié)構(gòu)。在這種結(jié)構(gòu)中,實體由記錄類型表示,記錄類型抽象為圖的頂點。記錄類型之間的連接抽象為頂點之間的連接弧。整個數(shù)據(jù)結(jié)構(gòu)與圖形相對應。樹圖對應的數(shù)據(jù)模型為層次模型,網(wǎng)格圖對應的數(shù)據(jù)模型為網(wǎng)格模型。關(guān)系模型是一種無格式結(jié)構(gòu),它使用單個二維表結(jié)構(gòu)來表示實體及其關(guān)系。滿足一定條件的二維表稱為關(guān)系(參見關(guān)系數(shù)據(jù)庫)。格式模型能夠描述復雜的數(shù)據(jù)結(jié)構(gòu),實現(xiàn)數(shù)據(jù)與訪問路徑的連接。自20世紀60年代末以來,在各種計算機系統(tǒng)上建立了許多層次模型和網(wǎng)絡模型數(shù)據(jù)庫管理系統(tǒng)。這些系統(tǒng)已成功地應用于數(shù)據(jù)處理。但這種系統(tǒng)有以下缺點。首先,它使用了許多與數(shù)據(jù)操作任務無關(guān)的概念,比如DBTG系統(tǒng)中的system。用戶必須根據(jù)訪問路徑訪問數(shù)據(jù)庫中的數(shù)據(jù)。其次,不支持采集處理,即不提供一次處理多條記錄的功能。第三,它沒有充分意識到端點用戶直接與數(shù)據(jù)庫通信的需要,并且缺乏增加系統(tǒng)設施以適應意外查詢的能力。這些缺點降低了程序和數(shù)據(jù)的獨立性,影響了應用程序員的工作效率,限制了最終用戶對數(shù)據(jù)庫的使用。關(guān)系模型嚴格符合現(xiàn)代數(shù)據(jù)模型的定義。數(shù)據(jù)結(jié)構(gòu)簡單明了。訪問路徑對用戶完全隱藏,使得程序和數(shù)據(jù)高度獨立。關(guān)系模型的數(shù)據(jù)語言是非過程的,用戶性能好,具有集處理能力,具有定義、操作、控制一體化的優(yōu)點。在關(guān)系模型中,結(jié)構(gòu)、操作和完整性規(guī)則是密切相關(guān)的。關(guān)系數(shù)據(jù)庫系統(tǒng)為提高程序員和最終用戶直接使用數(shù)據(jù)庫的生產(chǎn)效率提供了實用的依據(jù)。關(guān)系模型的研究課題之一是對關(guān)系模型的擴展和數(shù)據(jù)模型的形式化。數(shù)據(jù)模型可以看作是一種抽象的程序設計語言。數(shù)據(jù)庫是變量,數(shù)據(jù)庫模式是變量的類型。數(shù)據(jù)庫狀態(tài)是特定類型的變量所取的值。數(shù)據(jù)庫變量的語法由數(shù)據(jù)定義語言給出。數(shù)據(jù)操作語言是數(shù)據(jù)模型中操作類型的實現(xiàn)。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)定義語言和數(shù)據(jù)操作語言的實現(xiàn)。這樣,我們就可以利用編程語言的形式化概念和方法來研究數(shù)據(jù)模型。