AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hierarchische Datenstrukturen, gibt es dafür Support-Funktionen in FireDAC o.A. ?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Rollo62 · begonnen am 25. Mai 2022 · letzter Beitrag vom 26. Mai 2022
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
3.914 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 25. Mai 2022, 17:11
Datenbank: SQL • Version: 1.0.0 • Zugriff über: FireDAC
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.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.827 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 25. Mai 2022, 21:36
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...
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
618 Beiträge
 
Delphi 10.3 Rio
 
#3

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

  Alt 26. Mai 2022, 06:58
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.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.914 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 26. Mai 2022, 15:30
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz