3 回答

TA貢獻(xiàn)96條經(jīng)驗(yàn) 獲得超43個(gè)贊
樹(shù)結(jié)構(gòu)的數(shù)據(jù),無(wú)非就兩個(gè)東西,父節(jié)點(diǎn)和子節(jié)點(diǎn),所以有兩種方式去做;
第一種方式:建2張表
一張節(jié)點(diǎn)信息表nodeInfo,一張mapping表nodeMap,nodeInfo表用來(lái)存儲(chǔ)所有節(jié)點(diǎn)的信息,nodeMap表用來(lái)關(guān)聯(lián)各個(gè)節(jié)點(diǎn)的父子關(guān)系,nodeMap表只有兩個(gè)字段parentNodeID和childNodeID,根節(jié)點(diǎn)的parentNodeID為null,沒(méi)有作為parentNode的節(jié)點(diǎn)就是葉子節(jié)點(diǎn)
例如有兩個(gè)根節(jié)點(diǎn)其id為1和2,1下面有兩個(gè)子節(jié)點(diǎn)3和4,2下面有三個(gè)子節(jié)點(diǎn)5,6,7,5下面有1個(gè)子節(jié)點(diǎn)8,則nodeMap表為:
parentNodeID? ?childNodeID
null? ? ? ? ? ? ? ? ? ? ? 1
null? ? ? ? ? ? ? ? ? ? ? 2
1? ? ? ? ? ? ? ? ? ? ? ? ? 3
1? ? ? ? ? ? ? ? ? ? ? ? ? 4
2? ? ? ? ? ? ? ? ? ? ? ? ? 5
2? ? ? ? ? ? ? ? ? ? ? ? ? 6
2? ? ? ? ? ? ? ? ? ? ? ? ? 7
5? ? ? ? ? ? ? ? ? ? ? ? ? 8
第二種方式:只建1張表
在第一種方式中的nodeInfo表里面增加兩個(gè)字段parentNodeID和childNodeID,不要mapping表
個(gè)人認(rèn)為第一種方式更好
- 3 回答
- 0 關(guān)注
- 1374 瀏覽
添加回答
舉報(bào)