資料庫儲存層次 樹形結構的標準做法

2021-12-30 11:17:09 字數 324 閱讀 7771

標準做法有3種:

1、最早的做法:節點id裡包括完整路徑(曾祖父id-爺id-父id-本id)

財務的會計科目編號就是這麼做的

現在基本很少使用了

2、遞迴做法:父id,本id(更早、完整的關係提供遞迴才能得到)

目前比較普遍

好處是直觀簡單,增刪方便

壞處是生成樹需要遞迴

3、直接儲存法:本id,根id,層次數,在根(子樹)裡的序號

好像沒看到別人這麼用的,我在自己的樹形論壇離線閱讀器裡採用過

好處是避免了遞迴,生成樹記錄高效方便

壞處是增刪節點,需要更新半個子樹的節點記錄

資料庫儲存樹形結構的資料

最近接觸樹形結構資料非常的多,幾乎超過了過去8年多,開發所有系統的總和.本來嘛,一般的遞迴就可以解決了,可是這個系統中總是需要頻繁的訪問樹結點,及父結點,子結點,動不動就要遞迴,且樹的使用非常之多,做的多了搞的人都要嘔吐了,下面在網上找到幾篇比較有用的資料,記錄彙總一下.首先,資料庫不一定要用傳統的...

資料庫中的層次模型是什麼(樹形結構)

在格式化模型中,實體用記錄表示,實體的屬性對應記錄的資料項 或字段 層次模型所滿足的兩個條件 有且只有乙個結點沒有雙親結點,這個結點稱為根結點。根節點以外的其他結點有且只有乙個雙親結點 在層次模型中,每個結點表示乙個記錄型別,每個記錄型別可包含若干個字段,記錄型別描述的是實體,字段描述的是實體的屬性...

樹形結構資料的儲存

樹形結構在國人中的需求很多,比如單位和子單位 人員的上下級管理關係等,一般資料庫設計是通過id,pid來確定父子關係,但如果要查詢某個節點下所有的子節點,可以通過with關鍵字查詢效,具體方法可見這篇文章,改進方法主要有兩種 物化路徑和左右節點。對於使用物化路徑,有通過儲存過程實現的,比如 最近在網...