← Back to team overview

sslug-teknik team mailing list archive

Re: Træ-struktur i SQL?

 

On Thu, 02 Jan 2003 20:09:39 +0100, Preben Mikael Bohn wrote:

> Hej alle, jeg sidder og skal lave nogle tabeller i SQL (helst generelt,
> ellers i mysql). Hver enkelt række i en af tabellerne skal have
> associeret en træ-struktur af ukendt, men relativ lille, størrelse (<~20
> knuder).
> 
> Er der nogen der kender en smart måde at gøre dette på?
Hvis træerne er forholdsvis statiske, kan du måske bruge:

Trees in SQL
http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci537290,00.html

Her gemmer man to tal for hver knude (første og sidste gang knuden
besøges af en Euler tur i træet).

Dette kræver dog, at du bruger et sprog til at vedligeholde
datastrukturen ved rettelser, da dette ikke kan gøres i ren SQL. Men så
er de fleste forespørgsler tilgengæld lette at skrive og kræver ikke
rekursivitet eller efterbehandling.

2. The employee and all subordinates. There is a nice symmetry here.
 SELECT P1.*
   FROM Personnel AS P1, Personnel AS P2
  WHERE P1.lft BETWEEN P2.lft AND P2.rgt
    AND P2.emp = :myemployee;
-- 
Mikkel Bundgaard
Student at IT University of Copenhagen
Codito, Ergo Sum


References