Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ? (https://www.delphipraxis.net/210674-hierarchische-datenstrukturen-gibt-es-dafuer-support-funktionen-firedac-o.html)

Rollo62 25. Mai 2022 17:11

Datenbank: SQL • Version: 1.0.0 • Zugriff über: FireDAC

Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ?
 
Hallo zusammen,

ich möchte hierarchische Strukturen ( Bäume ) in einer DB verwalten, und frage mich ob es dafür nicht schon
was Fertiges (wie integrierte Support-Funktionen) von FireDAC oder anderen Libraries gibt, auf SQL-Basis ( kein ORM ) ?
Es wird ja mit CDATA allerhand gemacht, da könnte ich mir vorstellen dass FireDAC sowas von Haus aus schon unterstützt.

Ich kenne im Großen und Ganzen die grundsätzlichen Strukturen, wie mal hier grob zusammengefasst:
https://www.databasestar.com/hierarchical-data-sql/

Code:
This table summarises the differences between each method.
Method                            Select Insert Update Delete Ref. Integ.
Adjacency List                    Hard   Easy   Easy   Easy   Yes
Nested Set                        Easy   Hard   Hard   Hard   No
Flat Table                        Easy   Hard   Easy   Easy   N/A
Bridge Table/Closure Table        Easy   Easy   Hard   Hard   Yes
Lineage Column/Path Enumeration   Easy   Easy   Easy   Hard   No
Vielleicht gibt es ja schon was, und ich muss das Rad nicht neu erfinden ?
Im Moment scheint mir die einfache Adjacency List mit Self Join auf den ParentNode genug zu sein, aber ich würde auch was Anderes ausprobieren.

TurboMagic 25. Mai 2022 21:36

AW: Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ?
 
Ich weiß es nicht genau, aber es gibt ein englisches Buch zu FireDAC von Cary Jensen was ganz ordentlich ist.
Ich weiß allerdings nicht ob die 2. Auflage an der er arbeitet schon fertig ist...

Sinspin 26. Mai 2022 06:58

AW: Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ?
 
Hallo,

bei Bäumen nutze ich bisher "Flat Table" für kleine Sachen und "Bridge Table/Closure Table" für komplexere Anforderungen.
Ich habe bisher nicht in FD gewühlt ob es da was fertiges gibt.
Liegt wahrscheinlich auch daran dass ich erst auf FD umgestiegen bin als schon alle Lösungen existiert haben, die den Wahsinn in eine Form pressen.

Rollo62 26. Mai 2022 15:30

AW: Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ?
 
Ja das Buch habe ich auch, Du meinst sicher Delphi in depth - FireDAC.
Das ist sehr gut generell, aber auf sowas Spezielles geht er da nicht ein soweit ich weiss,
habe jetzt nochmal kurz reingesehen und nichts Passendes gefunden.

Flat table oder Bridge/Closure table, haben alle ihre Vor -und Nachteile, kämen für mich wohl auch in Frage.
Mich wundert dass es so gar keine fertigen Lösungen/Libraries dafür zu geben scheint.

Ich denke mir eigentlich dass dies auch so eine Art "Collection/Container" ist, wofür man eine universelle, womöglich generische Lösung bauen könnte.
Es müsste natürlich immer einen Delphi-Teil und einen SQL-Teil dazu geben, wo vielleicht ein Delphi Interface vorne den Baum immer gleich verwaltet, während das dahinter liegende, auswechselbare SQL-Backend die Arbeit in der DB macht, je nach Anforderung und DB Server.
So könnte man einfach die Delphi- / DB-Backends tauschen, je nach gewünschter Präferenz, während es von vorne immer gleich aussieht und gleich bedient wird.
Kann aber sein dass ich mir das zu sehr vereinfacht vorstelle, denn sonst hätte das sicher schonmal jemand gemacht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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