登錄

層次模型

百科 > 信息管理工具 > 層次模型

1.層次模型概述

用樹形結構表示實體之間聯(lián)系的模型叫層次模型。層次模型是最早用于商品數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)模型。

Image:層次模型1.gif

層次型數(shù)據(jù)庫管理系統(tǒng)是緊隨網(wǎng)狀數(shù)據(jù)庫模型而出現(xiàn)的?,F(xiàn)實世界中很多事物是按層次組織起來的。層次數(shù)據(jù)模型的提出,首先是為了模擬這種按層次組織起來的事物。層次數(shù)據(jù)庫也是按記錄來存取數(shù)據(jù)的。層次數(shù)據(jù)模型中最基本的數(shù)據(jù)關系是基本層次關系,它代表兩個記錄型之間一對多的關系,也叫做雙親子女關系(PCR)。數(shù)據(jù)庫中有且僅有一個記錄型無雙親,稱為根節(jié)點。其他記錄型有且僅有一個雙親。在層次模型中從一個節(jié)點到其雙親的映射是惟一的,所以對每一個記錄型(除根節(jié)點外)只需要指出它的雙親,就可以表示出層次模型的整體結構。層次模型是樹狀的。 最著名最典型的層次數(shù)據(jù)庫系統(tǒng)是于1969由IBM公司的IMS(Information Management System),這是IBM公司研制的最早的大型數(shù)據(jù)庫系統(tǒng)程序產(chǎn)品。從60年代末產(chǎn)生起,如今已經(jīng)發(fā)展到IMSV6,提供群集、N路數(shù)據(jù)共享、消息隊列共享等先進特性的支持。

2.層次模型的結構

層次模型的表示方法是:樹的結點表示實體集(記錄的型),結點之間的連線表示相連兩實體集之間的關系,這種關系只能是“1一M”的。通常把表示1的實體集放在上方,稱為父結點,表示M的實體集放在下方,稱為子結點。層次模型的結構特點是:

  • (1) 有且僅有一個根結點。
  • (2) 根結點以外的其它結點有且僅有一個父結點。

因而層次模型只能表示“1一M”關系,而不能直接表示“M—M”關系。在層次模型中,一個結點稱為一個記錄型,用來描述實體集。每個記錄型可以有一個或多個記錄值,上層一個記錄值對應下層一個或多個記錄值,而下層每個記錄值只能對應上層一個記錄值。例如,系記錄型有:計算機系、電信系等記錄值。而計算機系的下層記錄值有軟件、結構、應用等研究室和數(shù)據(jù)結構、操作系統(tǒng)、數(shù)據(jù)庫等課程,軟件研究室下層又有員工和項目記錄值,如圖所示:

Image:層次模型.gif

關于層次模型中實體集之間多對多的聯(lián)系的處理,解決的方法是引入冗余結點。例如,學生和課程之間的多對多的聯(lián)系,引入學生和課程的冗余結點,轉換為兩棵樹:一棵樹的根是學生,子結點是課程,它表現(xiàn)了一個學生可以選多門課程;一棵樹的根是課程,子結點是學生,它反映了一門課程可以被多個學生選。至于冗余結點可以用虛擬結點實現(xiàn):在冗余結點處僅存放一個指針,指向實際結點。

3.層次模型的物理存儲

層次模型的物理存儲有兩種實現(xiàn)方法:

  • 順序法:按照層次順序把所有的記錄鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序。
  • 指針法:各個記錄存放時不是按層次順序,而是用指針按層次順序把它們鏈接起來。

4.層次模型所受的限制

  • 層次模型的樹是有序樹(層次順序)。對任一結點的所有子樹都規(guī)定了先后次序,這一限制隱含了對數(shù)據(jù)庫存取路徑的控制。
  • 樹中父子結點之間只存在一種聯(lián)系,因此,對樹中的任一結點,只有一條自根結點到達它的路徑。
  • 不能直接表示多對多的聯(lián)系。
  • 樹結點中任何記錄的屬性只能是不可再分的簡單數(shù)據(jù)類型。
評論  |   0條評論