AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhängig
Thema durchsuchen
Ansicht
Themen-Optionen

TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhängig

Ein Thema von juergen · begonnen am 16. Okt 2020 · letzter Beitrag vom 20. Okt 2020
Antwort Antwort
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
690 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 17. Okt 2020, 12:52
Der Datamodeler macht das auch zur DesignZeit. Eventuell kannst Du es für manche DBs auch direkt über die AureliusConnection machen, bin mir aber nicht sicher, ich habe immer den Datamodeler genommen. Der erzeugt Dir eine Unit für jede Tablle mit dem DB Objekt. Inwieweit das sich jetzt je nach DBMS unterscheidet bei dir, vermag ich nicht zu sagen.

Geändert von TBx (19. Okt 2020 um 07:39 Uhr) Grund: Fullquote entfernt
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 17. Okt 2020, 15:16
Das Mapping zur Designzeit mit dem DataModeler hilft mir hier nicht, glaub ich zum jetzigen Wissensstand. Mein Programm soll bei mehreren Kunden eingesetzt werden, die jeweils bei der selben Tabelle unterschiedliche Strukturen haben (können), je nach Version. So wie ich es verstanden habe benötige ich dann das [Automapping] bei der Klassenerstellung.

Ich bin aber noch gar nicht soweit
Arbeite mich erst mal Stück für Stück ein.

Danke für deinen Hinweis.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von TBx (19. Okt 2020 um 07:40 Uhr) Grund: Fullquote entfernt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.376 Beiträge
 
Delphi 12 Athens
 
#3

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 17. Okt 2020, 16:35
Nja, du hast ja nur ein paar Wahlmöglichkeiten.

Ein Datenobjekt pro Tabelle, mit den nötigen Gemeinsamkeiten, und dort dann die Connections (DBMS) und Statements wechseln, je nach Ziel.
Oder je möglichem Ziel ein neues Datenobjekt und dann zur Laufzeit je nach Ziel auswählen was erstellt werden soll.
Bzw. eine Mischung, also je nach DBMS ein Objekt und die Versionsunterschiede mit entsprechenden SQLs.

Fehlende Felder entweder ignorieren (im Programm nicht benutzen)
oder Dummy-Felder. (Join auf Tabelle, bzw. garnicht mit etwas in der DB verbunden)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (17. Okt 2020 um 16:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#4

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 19. Okt 2020, 10:59
Der Vorteil eines ORMs wie Aurelius ist ja unter anderem, dass es aus den Tabellen Klassen macht und diese zur Compile-Time geprüft werden. Wenn jetzt jeder Kunde eine andere Tabellenstruktur hat, hilft dir das ORM da nicht so gut weiter, weil du ja je Kunde eine andere Klasse brauchst.

Das AUTOMAPPING hilft dir nur insofern, als dass du nicht explizit angeben musst, wie die Klasse auf die Tabelle abgebildet werden muss, sondern dass das aus den Namen der Properties abgeleitet wird.

Wie sehr bzw wodurch unterscheiden sich denn die Tabellen je Kunde?
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 19. Okt 2020, 20:58
@TigerLilly,

Danke für deine Erklärungen!
Bei all den Änderungen der Tabellen, ist der Spaltenname immer gleich geblieben. Was sich bei den Tabellen ändert sind entweder neue Spalten oder der Datentyp bestehender Spalten. Z.B. hat sich die Spalte "Datum" von string(yyyymmdd) geändert in Date oder Datetime2.
Gerade bei der Datumsspalte ändert sich ja dann oftmals die Art der SQL Abfrage.

Meine momentane Idee ist, dass ich das Tabellen-Schema auslese. Dann habe ich ja die Bezeichnung der Spalten und die Datentypen. Evtl. bietet das ORM da auch schon was.

Z.B für Insert-Befehle in anderen Projekten habe ich mir schon unabhängig vom ORM eine Unit gebastelt, die genau das macht und dann dafür auch vorbelegte Nullwerte setzt.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 19. Okt 2020, 21:14
Hab grad gesehen, dass diese Frage von mir im TMS Support beantwortet wurde. Das schaut doch gut aus! Für alle die es interessiert:
klick
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#7

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 20. Okt 2020, 17:18
Moin,

nur mal aus Neugier, planst Du da auch etwas mit XData, um später eventuell auch eine WebClient anzuschliessen ?

Grüße in die Runde

Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: TMS Aurelius: Best practices für unterschiedliche Tabellenstrukturen(versionsabhä

  Alt 20. Okt 2020, 18:38
@mschaefer,
Planen für XData? Momentan (noch) nicht. Mir geht es im wesentlichen erst mal um Windows Programme mit Vereinfachung für SQL, Verwendung von Nullable Types, clientseitige In-Memory Verwendung von Objekten und komfortable Unterstützung von 2 verschiedenen DBMS.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  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 03:02 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