Hierarchical Data Storage

Bart Pietercil bart.pietercil at gmail.com
Mon Feb 12 14:54:58 CST 2007


Hi Trevor,

why wouldn't you organise it as Tree "lessons" ---> Node 1 Lesson 1,  
Node 2 Lesson 1.1 Node 3 Lesson 2  and so one ?

The Tree traversal method allows an unlimited number of Levels?

Maybe I'm missing something (wouldn't be the first time)

Bart

On 12-feb-07, at 20:47, Trevor DeVore wrote:

> On Feb 12, 2007, at 11:26 AM, Ruslan Zasukhin wrote:
>
>>> I thought about using double values as well.  Looking at how updates
>>> are performed in the modified preorder tree traversal algorithm it
>>> seems to me that adding child nodes can potentially invalidate data
>>> in many records that aren't part of the current hierarchy.  If I am
>>> understanding the concept correctly, this seems like a bad thing if
>>> you have lots of clients working on parts of the tree.
>>>
>>> Using doubles to at least isolate the tree connected to each root
>>> node seems like it could solve that issue for some projects.
>>
>> I think should exists only one root.
>>
>> May be I have not think deeply yet, but it seems to me if AddNode 
>> () touch
>> not ALL right nodes but only nearest nodes, then this improve  
>> concurrency.
>
> Let's say I have a lessons and steps table in my database.  A  
> lesson is made up of one or more steps.  A step with no children  
> means it's content is displayed to the user, a step with children  
> is used to create a hierarchal lesson structure.
>
> Lesson 1
> 	Step 1
> 		Step 1.1
> 		Step 1.2
> 		Step 1.3
> 	Step 2
> 		Step 2.1
> 		Step 2.2
> Lesson 2
> 	Step 1
> 		Step 1.1
> 		Step 1.2
>
> So I was picturing Leson 1.Step 1, Leson 1.Step 2, Leson 2.Step 1  
> as "root" nodes and using the algorithm on the steps table.  When I  
> modify the order or number of steps in Lesson 1 I wouldn't want to  
> modify relationship data in Lesson 2.  That is where the thought of  
> using doubles came from.  For steps, the number to the left of the  
> decimal represented the lesson and the number to the right  
> represented the numbers used left left/right values.
>
> This is the first I've really thought about the modified preorder  
> tree traversal algorithm before and perhaps the above scenario  
> isn't how it would be used.  Or maybe the tables would have to be  
> designed differently.
>
> Make any sense?
>
> -- 
> Trevor DeVore
> Blue Mango Learning Systems - www.bluemangolearning.com
> trevor at bluemangolearning.com
>
>
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina



More information about the Valentina mailing list