Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Best-Practices Datenbanken in Delphi

  Alt 20. Jan 2021, 21:04
Man muss datensensitive Komponenten und TTable Komponenten wohl getrennt betrachten. Die TTable Komponenten stammen ja aus der DBISAM Zeit und diese Zeit ist wohl irgendwie vorbei. Ausnahmen wurden schon genannt.

Ich habe viel mit datensensitiven Komponenten gearbeitet, unter Delphi ausschließlich. Sie ermöglichen eine sehr hohe Entwicklungsgeschwindigkeit. Setzt man sie auf TQuery oder Ableitungen auf, kann man sehr gut ganz unterschiedliche Aufgaben erledigen, von der Dateneingabe über Datensuche bis hin zu Massenverarbeitung oder Reporting.

Post, Append, (Insert, Delete, ..) kann man m.E. nicht als konkurrente Veranstaltung zu direkten SQL Statements betrachten. Sie sind eher abstrakte und allgemeine Methoden, die einerseits Datenbankspezifika ausblenden, andererseits aber hinterm Vorhang in genau so ein direktes SQL Statement münden, eine hochsprachliche, "elegante" Variante eines direkten SQL Befehls.

Du kannst in einem halben Tag ein einfaches Testprogramm mit einer Handvoll Komponenten zusammen klicken (ohne Code), worin Queries und datensensitive Komponenten ein funktionierends Dateneditierungsprogramm ergeben. Du kannst ausprobieren, wie sich die dahinter liegende Tabellengröße auswirkt. 100, 1000 oder Millionen Datensätze. Du kannst Nachschlagetabellen, DBLookup Felder o.ä. einbauen, das geht alles relativ schnell und straight forward. Und wenn Du das hast, kannst Du leicht nachvollziehen, wie die ganze Schnappmatik für 10 oder 30 oder 100 Tabellen aussehen würde.

Alternativ gibt es eine Menge andere Herangehensweisen. Unter Delphi vielleicht am ehesten ein ORM, ein REST Service oder auch die Komponenten aus den Architect(?) Editionen, mit denen ich mich aber gar nicht auskenne. Hier brauchst Du m.E. ein wenig mehr Anlauf. Es wird mehr Aufwand getrieben, der sich aber auszahlen kann, wenn es um sparsamen Umgang mit Resourcen geht, für hochfrequentierte Multiuser Systeme, Webserver usw.

TTable und Filter würde ich als historische Vorgehensweisen betrachten.
Gruß, Jo
  Mit Zitat antworten Zitat