層次模型(樹形結構)


在格式化模型中,實體用記錄表示,實體的屬性對應記錄的數據項(或字段)。

 

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

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

 

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

 

層次數據模型的存儲結構

  1. 鄰接法:

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

  1. 鏈接法:

用指針來反映數據之間的層次聯系。

 

層次模型的優點:

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

 

層次模型的缺點:

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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM