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)