Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Best Practice/Datenstruktur gesucht (https://www.delphipraxis.net/154825-best-practice-datenstruktur-gesucht.html)

Grolle 27. Sep 2010 11:20

Datenbank: MySQL • Version: 5.1 • Zugriff über: UniDac

Best Practice/Datenstruktur gesucht
 
Hallo,

ich habe eine Baumstruktur innerhalb einer Datenbank gespeichert:
Code:
id,group_id,parent,level,position
Die group_id ist übergeordnet und hat mit dem eigentlichen Baum nichts zu tun. Dieser wird hauptsächlich über id und parent gebildet. Jetzt möchte ich aber eine Gruppe kopieren. Dadurch werden beim einfügen in die Datenbank neue ID's generiert. Dies hat natürlich Auswirkungen auf die parent's.

Beispiel:
Ich selektiere den Datensatz id:50 parant:0 -> Alles gut.
Ich selektiere den Datensatz id:51 parent:50 -> Nix gut:
Ich inserte Kopie Datensatz 50 id:4583 parent:0
Ich inserte Kopie Datensatz 51 id:4584 parent:50 -> muss aber 4583!

Welche Hilfsdatenstruktur nutzen?

Viele Grüße ...

borwin 27. Sep 2010 11:49

AW: Best Practice/Datenstruktur gesucht
 
Hallo,

die Menge aller zu kopierender Items ermitteln und dann mit einer Schleife die Items neu einfügen mit den zusätzlichen Infos aus der Kopievorlage.
Die ID's müssen alle neu sein und welches Item welchen Parent hat ist aus der Kopie zu ermitteln.

Gruß BORWIN

Grolle 27. Sep 2010 11:56

AW: Best Practice/Datenstruktur gesucht
 
Hi,

der Ablauf ist mir klar, aber welche Datenstruktur? Eine virtuelle Tabelle, dynamisches Array ...?

Viele Grüße ...

jfheins 27. Sep 2010 12:01

AW: Best Practice/Datenstruktur gesucht
 
Du könntest auch die Datenbankstruktur umkrempeln und Nested Sets verwenden :stupid:

Als Hilfsstruktur würde sich ein dyn Array of record oder so anbieten. Oder halt die einfachste Struktur die du aus der Datenbank bekommst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz