Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabelleninhalt in Objekte abbilden (dynamisch) (https://www.delphipraxis.net/42416-tabelleninhalt-objekte-abbilden-dynamisch.html)

VizeTE 18. Mär 2005 13:23

Datenbank: Interbase • Zugriff über: BDE

Tabelleninhalt in Objekte abbilden (dynamisch)
 
Hallo zusammen,

in vielen Situationen finde ich es durchaus hilfreich die Daten aus einer Datenbank in Objekten zu speichern und dann mit diesen Objekten zu arbeiten. Wenn ich schon einfach daran denke, die Objekte auszutauschen und ohne weiteres auf eine andere Datenquelle zuzugreifen(zB XML) oder eigene Such- und Sortieralgorithmen zu implementieren.
Das Problem, daß mich dabei aber permanent verfolgt ist die Beziehung zwischen Datenbankfeld und Objektvariable herzustellen.
Sicher könnte man ohne weiteres sagen: Feld Namens "Id" wird auf die Variable "FID" abgebildet.
Bei dieser Variante stößt man aber schnell auf Grenzen. Ich sehe zum Beispiel in den folgenden Fällen Probleme:

1. Das Feld bekommt per SQL-Abfrage einen anderen Namen (SELECT Id AS Index FROM ...)
2. Das Feld ist gar nicht in der Datenmenge vorhanden, was auch durch ein Query verursacht werden kann (SELECT Name FROM...)
3. Ich habe zwei Tabellen aus denen ich die Daten lesen kann da die Daten redundant gehalten werden. Allerdings unterscheidet sich die Bezeichnung der Felder in den Tabellen obwohl sie den gleichen Inhalt haben

Ein weiteres Plus wäre es natürlich noch wenn die gesamte Struktur recht offen für Änderungen der Tabellenstruktur wäre. (Wenn z.B. völlig neue Felder hinzukommen etc)

Einen Lösungsansatz, den ich mir überlegt habe ist eine Art Mapping-Tabelle zu implementieren. Ich bin mir allerdings nicht sicher ob das die optimale Variante ist.

Ich kann mir nicht vorstellen, daß ich allein dieses Problem habe. Kann mir jemand weiterhelfen? Ich würde mich auch über Anregungen freuen, mit denen ich Suchmaschinen füttern kann da ich zur Zeit mein Problem garnicht Suchmaschinenkonform formulieren kann.

Vielen Dank - VizeTE

Bernhard Geyer 18. Mär 2005 13:29

Re: Tabelleninhalt in Objekte abbilden (dynamisch)
 
Schau dir mal ECO von Delphi 8/2005 an.
Dort wird ein solches Objekt-Relationales Mapping realisiert - aber nur für .NET aber für diverse Datenbanken.

VizeTE 18. Mär 2005 14:17

Re: Tabelleninhalt in Objekte abbilden (dynamisch)
 
oh...sorry das habe ich vergessen zu vermerken.
Optimal wäre eine Lösung für Delphi5, für Delphi7 wäre auch noch ok.

woki 18. Mär 2005 15:14

Re: Tabelleninhalt in Objekte abbilden (dynamisch)
 
Hi,

nein, mit diesem Problem bist du wirlich nicht allein.
Grundlageninformationen dazu findest du unter den Stichworten Objektrelationales Mapping oder Objektrelationale Abbildung z.b. in Heide Balzert, Lehrbuch der Objektmodellierung.
Aber auch in ungezählten anderen Quellen.
Man könnte auch Objektpersistenz mal versuchen.
Bis Delphi 7 hieß eine der Technologien, die soetwas umsetzen Bold, wurde dann von Borland gekauft, im Dot Net bereich jetzt halt ECO.

Es gibt auch andere Frameworks, die diese Idee für Delphi umsetzen, Name fällt mir da jetzt gerade nicht ein. Auf der Modelmakter Website wurde da früher immer ein Partner für sowas erwähnt, weiß aber nicht, ob der Link dort noch zu finden ist.

Grüße
Woki


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