Hej jag skulle vilja ha hjälp med att designa min tabell i min databas. Jag undar hur jag smartast bygger upp en tabell. Det finns en artikel i SQL Magazine om detta, har jag för mig. Du kan ta en titt på Modified Preordered Tree Traversal: http://www.aesthetic-theory.com/learn.php?mptt. Med viss modifiering borde det vara lätt att ta bort och sätta in noder i strukturen. Hej jag skulle vilja ha hjälp med att designa min tabell i min databas. Jag undar hur jag smartast bygger upp en tabell. Det är det enklaste sättet, men i MPTT kan man plocka ut ett helt träd i en enda fråga. Jag har också sett en teknik där man sparar en "path" för varje nod som består av t ex tre tecken. Rotnoden får pathen "000", första noden under roten får pathen "000000" och andra noden får pathen "000001" o s v. Ungefär så här :Databas design trädstruktur
Här är mina vilkor.
Det ska vara en trädstruktur.
Dvs ett id och ett parentid, problemet är att varje användare ska ha sin unika trädstruktur.
Någon som har något förslag på hur den ska se ut för att det ska bli smidigast att lägga till, tabort och ändra noder på en unik användares trädstruktur.Sv: Databas design trädstruktur
Den heter nåt med Hierarcical Recordsets (eller Datasets) och är skriven av Itzik Ben-Gan
/mickeSv: Databas design trädstruktur
Sv: Databas design trädstruktur
Här är mina vilkor.
Det ska vara en trädstruktur.
Dvs ett id och ett parentid, problemet är att varje användare ska ha sin unika trädstruktur.
Någon som har något förslag på hur den ska se ut för att det ska bli smidigast att lägga till, tabort och ändra noder på en unik användares trädstruktur.
jag hade gjort en tabell enligt följande
RowID
UserID
NodeID
ParentID
....Sv: Databas design trädstruktur
Sv: Databas design trädstruktur
<pre>
000
|
----000000
|
----000001
|
----000001000
|
----000001001
</pre>
Med hjälp av denna path kan du nu hämta ut en nod och alla dess undernoder med "SELECT * FROM tabell WHERE Path like '000001%' ".
Nackdelen är förstås att om ditt GUI stödjer t ex drag'n'dop så måste sökvägarna underhållas så fort en nod flyttas. Detsamma gäller om noder tas bort o s v. Det fungerar, men är alltså lite bökigt, och för riktigt stora träd är det nog tveksamt om prestandan duger. Å andra sidan har jag ännu inte hittat en metod som är enkel för trädstrukturer i SQL.