Auf der Suche nach einer guten Methode zur Erweiterung externer Daten mit einer internen Datenbanktabelle

StackOverflow https://stackoverflow.com/questions/3420851

Frage

Ich habe eine Anwendung, die die meisten Daten von Dritten empfängt. Eines dieser Datensätze ist eine Transaktionsliste. Ich kann nicht in diesen Dienst schreiben, aber ich möchte diesen Daten für die Verwendung in meiner eigenen Anwendung weitere Informationen hinzufügen. Ich beabsichtige, dies mit einer SQL -Tabelle mit erweiterten Informationen zu tun.

Das Problem ist, dass die Daten von Drittanbietern keine Datensatzkennung von ihrer Seite zurückgeben. Das bedeutet, dass ich keinen Primärschlüssel von Drittanbietern als Hauptschlüssel für meine zusätzlichen Daten verwenden kann. Wenn ich könnte, würde ich natürlich nur diesen Schlüssel verwenden und erweiterte Daten speichern.

Zum Beispiel ist die zurückgegebenen Daten:

-----------------------------------------------------------------------------
| Client Id | Transaction Date | Transaction Amount | Description | Balance |
-----------------------------------------------------------------------------

Die Client -ID ist in dieser Tabelle nicht eindeutig. Es besteht jedoch die Garantie dafür, dass der Rest der Informationen, die in seiner Gesamtheit aufgenommen wurden, eindeutig ist.

Ich möchte zusätzliche Daten hinzufügen. Zum Beispiel:

-------------------------------------------------
| ... | Transaction Category | Hide Transaction |
-------------------------------------------------

Ich habe mit der Idee gespielt, einen Primärschlüssel zu verwenden, der ein Hash aller anderen Informationen ist, aber das Abfragen dieser Daten wäre soweit ich sehen konnte. Zum Beispiel möchte ich 100 Transaktionen auf dem Bildschirm anzeigen. Dies erfordert das Abrufen der Daten vom Dritten, das Hashing jedes Datensatzes und das Abfragen meiner lokalen Datenbank für alle Daten mit einem dieser 100 Schlüssel.

Hat jemand irgendwelche Vorschläge?

War es hilfreich?

Lösung

Ich denke, Sie haben Ihre eigene Frage beantwortet:

Es besteht die Garantie dafür, dass der Rest der Informationen, die in seiner Gesamtheit aufgenommen wurden, einzigartig ist.

Machen Sie diese Felder einfach zu einem Komposit Primärschlüssel. Sie wo Klauseln sind etwas komplexer als normal, aber das ist der Kompromiss.

Sie können auch einen Ersatzschlüssel erstellen, der mit dem zusammengesetzten Schlüssel funktioniert, wenn Sie Ihre Fragen etwas einfacher machen möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top