国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何存儲(chǔ)一棵樹
  • 存儲(chǔ)一棵樹要考慮節(jié)點(diǎn)插入、刪除、聚合和將一棵樹加載到內(nèi)存。

    • 插入:將節(jié)點(diǎn)加入到樹上;

    • 刪除:將節(jié)點(diǎn)從樹上摘除;

    • 聚合:將某個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn)(不遞歸子節(jié)點(diǎn))查找放在一起;

    • 加載樹:相當(dāng)于從根節(jié)點(diǎn)聚合。

  • 方法一

    這種方式如果辦公家具 -> 文具盒 -> 鉛筆,如果從辦公家具查找鉛筆,那么將需要遞歸

    • 以節(jié)點(diǎn)為主鍵,其父節(jié)點(diǎn)為某一列值。create table tree(node, value, parentNode);

    • 插入:insert into tree(node, value, parentNode);

    • 刪除:刪除要做聚合操作后,才能delete from tree where node = xxx;(因?yàn)橐獎(jiǎng)h除這個(gè)節(jié)點(diǎn)下所有的子節(jié)點(diǎn))

    • 聚合:如果要聚合某個(gè)節(jié)點(diǎn)A的所有子節(jié)點(diǎn),必須先查找出所有父節(jié)點(diǎn)為A的子節(jié)點(diǎn)

  • 方法二

    • 以節(jié)點(diǎn)為主鍵,其路徑列表為某一列值。(存在字段長(zhǎng)度問(wèn)題和不符合范式)

  • 方法三

    • 在路徑列表的設(shè)計(jì)中,關(guān)鍵字段的本質(zhì)是存儲(chǔ)了兩種信息,一是所有上級(jí)分類的id,而是從頂級(jí)分類到每個(gè)復(fù)分類的距離;所以另增加一張表,含有三個(gè)字段(一個(gè)是所有上級(jí)分類的id,二是本分類的id,三是從頂級(jí)分類到每個(gè)父分類的距離).這樣這張表就能起到與path字段相同的作用,而且還不違反數(shù)據(jù)庫(kù)范式,最關(guān)鍵的是它不存在字段長(zhǎng)度的限制。這種方案也叫ClosureTable。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
js樹
easyui tree 節(jié)點(diǎn)選中
jsTree獲取選中節(jié)點(diǎn)和選中指定節(jié)點(diǎn)
zTree獲取所有節(jié)點(diǎn)
JSF中Tree2組件使用方法-過(guò)兒oO -JavaEye技術(shù)社區(qū)
Ext 動(dòng)態(tài)加載樹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服