後端如何優雅設計樹結構表?附示例

2021-10-17 19:13:56 字數 690 閱讀 9656

服務端開發經常需要設計乙個表來儲存樹結構(如字典資料),正常可能只需乙個parent_id字段即可,但查詢起來會很費勁,那麼如何設計才能更簡單高效了?

基本思路:必須字段parent_id用來維護父子關係,擴充套件字段depthpathis_leaf用來實現快速查詢父子節點,狀態字段is_enableis_fixed用來控制顯隱及是否允許刪除

上表結構:個人實際專案中設計使用的

上欄位解釋:

上查詢思路:

靈活運用上述查詢思路,基本可以做到為所欲為 !!!

以上純原創,未完待續!後續將基於spring data jpa實現上述結構的資料儲存、刪除及組裝樹結構的演算法**,並分享字典表如何實現預設值單選及多選情況下的不同資料結構返回,歡迎加關注、加收藏、點讚、**、分享(**閒聊站)~

樹結構表查詢

我們經常會將乙個比較複雜的目錄樹儲存到乙個表中。或者將一些部門儲存到乙個表中,而這些部門互相有隸屬關係。這個時候你就會用到connect by prior start with。connect by 是結構化查詢中用到的,其基本語法是 select from tablename start with...

Oracle查詢樹結構表

11月最後一天,趕緊寫多一篇湊夠四篇 對於樹狀結構的表,即有記錄父節點或子節點的表,如果不知道到底有多少層級,oracle有自帶的函式可以處理查詢 語法select a from b where c d start with id 1 connect by preid prior id prior代...

資料庫雜談之 如何優雅的進行表結構設計

資料庫表結構設計作為後端軟體開發不可或缺的一環,是每個後端工程師都會經歷的過程。筆者也多次經歷過這樣的過程,也嘗試過多種不同的設計方案,也從一些優秀的框架中學到不少,但並沒有發現相關的文章對其進行總結。所以本文嘗試把筆者看到的 學到的總結下來,希望對閱讀本文的讀者有所啟發。表結構設計主要有兩個目的,...