Re: Storing a linked list

2007-06-19 Thread Baron Schwartz

Celko also discusses them in SQL For Smarties.

Baron

Peter Brawley wrote:

Matt

 >I'd like to store paths to specific destinations...

See
-- Tropashko's 'materialized modell' eg 
http://www.dbazine.com/oracle/or-articles/tropashko4
-- the airports example at 
http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html


PB

-

Matt Juszczak wrote:

Hi all,

I've got a table such as the following:

id1 char
id2 char

sample data looks like this:

id1id2
13
24
35
56
68

And of course another table has something like:

idinfo1info2info3
1blahblahblah
2blahblahblah

I'd like to store paths to specific destinations...

In other words, the path from 1 to 8 is:

1,3,5,6,8

I was thinking of creating a table called relationships

startendpath
18{3,5,6}

This would allow me to easily display the path if I know the start and 
end, but what it doesn't allow me to do is reuse the data.


IE: say that I calculate the path from 1 to 8 as 1,3,5,6,8, and then I 
want to know the path from 3 to 6.  even though this is already 
calculated, I have to recalculate it as another row... hence


startendpath
18{3,5,6}
36{5}

I considered making another table, called hops, such as:

startendrelationshipID
181


table hops:
relationshipIDstartend
113
135
156
168

Then I could almost "reuse" those hops somehow but not sure.

Can anyone recommend a good way to store this data?

Thanks!

-Matt





--
Baron Schwartz
http://www.xaprb.com/

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Storing a linked list

2007-06-19 Thread Peter Brawley

Matt

>I'd like to store paths to specific destinations...

See
-- Tropashko's 'materialized modell' eg 
http://www.dbazine.com/oracle/or-articles/tropashko4
-- the airports example at 
http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html


PB

-

Matt Juszczak wrote:

Hi all,

I've got a table such as the following:

id1 char
id2 char

sample data looks like this:

id1id2
13
24
35
56
68

And of course another table has something like:

idinfo1info2info3
1blahblahblah
2blahblahblah

I'd like to store paths to specific destinations...

In other words, the path from 1 to 8 is:

1,3,5,6,8

I was thinking of creating a table called relationships

startendpath
18{3,5,6}

This would allow me to easily display the path if I know the start and 
end, but what it doesn't allow me to do is reuse the data.


IE: say that I calculate the path from 1 to 8 as 1,3,5,6,8, and then I 
want to know the path from 3 to 6.  even though this is already 
calculated, I have to recalculate it as another row... hence


startendpath
18{3,5,6}
36{5}

I considered making another table, called hops, such as:

startendrelationshipID
181


table hops:
relationshipIDstartend
113
135
156
168

Then I could almost "reuse" those hops somehow but not sure.

Can anyone recommend a good way to store this data?

Thanks!

-Matt



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: Storing a linked list

2007-06-19 Thread Mogens Melander
How about:

$id1 = 1;
$id2 = 0;

while ($id1) /** or ($id2 != 8) **/
{
$sql = "select * from table where id1=$id1";
$row=query($sql);

$id1=$row->id1;
$id2=$row->id2;

do_stuff();

$id1 = $id2
}


On Tue, June 19, 2007 10:58, Matt Juszczak wrote:
> Hi all,
>
> I've got a table such as the following:
>
> id1 char
> id2 char
>
> sample data looks like this:
>
> id1   id2
> 1 3
> 2 4
> 3 5
> 5 6
> 6 8
>
> And of course another table has something like:
>
> idinfo1   info2   info3
> 1 blahblahblah
> 2 blahblahblah
>
> I'd like to store paths to specific destinations...
>
> In other words, the path from 1 to 8 is:
>
> 1,3,5,6,8
>
> I was thinking of creating a table called relationships
>
> start end path
> 1 8   {3,5,6}
>
> This would allow me to easily display the path if I know the start and
> end, but
> what it doesn't allow me to do is reuse the data.
>
> IE: say that I calculate the path from 1 to 8 as 1,3,5,6,8, and then I
> want to
> know the path from 3 to 6.  even though this is already calculated, I have
> to
> recalculate it as another row... hence
>
> start end path
> 1 8   {3,5,6}
> 3 6   {5}
>
> I considered making another table, called hops, such as:
>
> start end relationshipID
> 1 8   1
>
>
> table hops:
> relationshipIDstart   end
> 1 1   3
> 1 3   5
> 1 5   6
> 1 6   8
>
> Then I could almost "reuse" those hops somehow but not sure.
>
> Can anyone recommend a good way to store this data?
>
> Thanks!
>
> -Matt
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>


-- 
Later

Mogens Melander
+45 40 85 71 38
+66 870 133 224



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]