Hallo,
ich suche nach einer geeigneten Möglichkeit, einzelne Datensätze mit zusätzlichen Daten anzureichern.
Beispielsweise habe ich eine Tabelle 'Firmenwagen'
ID | Fahrer | Auto
1 | Meier | Porsche
2 | Müller | Jaguar
...
und möchte folgendes erreichen:
ID | Fahrer | Auto | eingetragen von | eingetragen am |
1 | Meier | Porsche | A. D. | 03.02.2015
2 | Müller | Jaguar | C. W. | 06.03.2015
...
Das Problem an diesem naiven Ansatz:
1) Ich habe hunderte Tabellen. Möchte ich wissen, wer als letzter etwas eingetragen hat, muss ich die Daten aus allen Tabellen auslesen.
2) Es vermischt die Ebenen: Die konkreten Daten werden mit administrativen Daten verknüpft.
Als Lösung sehe ich eigentlich nur eine große Tabelle "Eintragungen" mit einer Referenz auf die Datensätze. Mein Problem ist jetzt aber das Aussehen der Referenz: Korrekt wäre wohl eine große Tabelle zu erstellen und dann eine Kopplungstabelle für jede Tabelle zu erstellen. Das würde zwar die Daten sauber trennen, meine Tabellenzahl aber auf einen Schlag verdoppeln.
Die etwas unsaubere, aber weit praktikablere, Lösung aus meiner Sicht wäre eine Tabelle mit folgender Struktur:
ID | referenzierte_tabelle | id (referenzierte_tabelle) | eingetragen von | eingetragen am |
79 | Firmenwagen | 2 | C. W. | 06.03.2015
Jetzt würde ich gerne wissen, ob das so sinnvoll ist oder ob es noch eine bessere Lösung gibt. Und ich würde gerne wissen, wie man die Tabelle in PostgreSQL sinnvoll referenziert. Muss man den Tabellennamen nehmen oder gibt es eine PostgreSQL-interne Tabellen-ID, die auch nach einer Umbenennung der Tabelle erhalten bleibt?
ich suche nach einer geeigneten Möglichkeit, einzelne Datensätze mit zusätzlichen Daten anzureichern.
Beispielsweise habe ich eine Tabelle 'Firmenwagen'
ID | Fahrer | Auto
1 | Meier | Porsche
2 | Müller | Jaguar
...
und möchte folgendes erreichen:
ID | Fahrer | Auto | eingetragen von | eingetragen am |
1 | Meier | Porsche | A. D. | 03.02.2015
2 | Müller | Jaguar | C. W. | 06.03.2015
...
Das Problem an diesem naiven Ansatz:
1) Ich habe hunderte Tabellen. Möchte ich wissen, wer als letzter etwas eingetragen hat, muss ich die Daten aus allen Tabellen auslesen.
2) Es vermischt die Ebenen: Die konkreten Daten werden mit administrativen Daten verknüpft.
Als Lösung sehe ich eigentlich nur eine große Tabelle "Eintragungen" mit einer Referenz auf die Datensätze. Mein Problem ist jetzt aber das Aussehen der Referenz: Korrekt wäre wohl eine große Tabelle zu erstellen und dann eine Kopplungstabelle für jede Tabelle zu erstellen. Das würde zwar die Daten sauber trennen, meine Tabellenzahl aber auf einen Schlag verdoppeln.
Die etwas unsaubere, aber weit praktikablere, Lösung aus meiner Sicht wäre eine Tabelle mit folgender Struktur:
ID | referenzierte_tabelle | id (referenzierte_tabelle) | eingetragen von | eingetragen am |
79 | Firmenwagen | 2 | C. W. | 06.03.2015
Jetzt würde ich gerne wissen, ob das so sinnvoll ist oder ob es noch eine bessere Lösung gibt. Und ich würde gerne wissen, wie man die Tabelle in PostgreSQL sinnvoll referenziert. Muss man den Tabellennamen nehmen oder gibt es eine PostgreSQL-interne Tabellen-ID, die auch nach einer Umbenennung der Tabelle erhalten bleibt?