![]() |
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: ![]()
Code:
Vielleicht gibt es ja schon was, und ich muss das Rad nicht neu erfinden ?
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 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. |
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... |
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. |
AW: Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ?
Ja das Buch habe ich auch, Du meinst sicher
![]() 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