1. 程式人生 > >層次模型(樹形結構)

層次模型(樹形結構)

在格式化模型中,實體用記錄表示,實體的屬性對應記錄的資料項(或欄位)。

 

層次模型所滿足的兩個條件:

  1. 有且只有一個結點沒有雙親結點,這個結點稱為根結點。
  2. 根節點以外的其他結點有且只有一個雙親結點

 

在層次模型中,每個結點表示一個記錄型別,每個記錄型別可包含若干個欄位,記錄型別描述的是實體,欄位描述的是實體的屬性。

 

層次資料模型的儲存結構

  1. 鄰接法:

按照層次樹前序穿越的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來體現層次順序。

  1. 連結法:

用指標來反映資料之間的層次聯絡。

 

層次模型的優點:

  1. 層次模型的資料結構比較簡單清晰
  2. 層次資料庫的查詢效率高(因為層次模型中記錄之間的聯絡用有向邊表示,這種聯絡在DBMS中用指標來實現,當要存取某個結點的記錄值,DBMS就沿著這一條路徑很快找到該記錄值,所以層次資料庫的效能優於關係係數據庫,不低於網狀資料庫)
  3. 層次資料模型提供了良好的完整性支援

 

層次模型的缺點:

  1. 現實世界中很多聯絡是非層次性的,如結點之間具有多對多聯絡
  2. 一個結點具有多個雙親等,對插入刪除操作的限制比較多,因此應用程式的編寫比較複雜
  3. 查詢子女結點必須通過雙親結點
  4. 由於結構嚴密,層次命令趨於程式化

 

層次模型對具有一對多的層次聯絡的部門描述非常自然、直觀,容易理解。這是層次資料庫的突出優