2016-09-19 1 views
0

Ich habe eine Reihe von vordefinierten Eigenschaften, die ich speichern möchte. Zum Beispiel:Welche Datenstruktur eignet sich am besten zum Speichern von Unterschieden

PersonNr,Gender,Name,Surname, Address, Zip,City. 

Jetzt habe ich verschiedene Quellen für diese Datensätze, die die PersonNr teilen, aber unterschiedliche Werte für die anderen Eigenschaften:

Beispiel:
Aus Datenbank AI bekommen

123456,M,Hudson,James,Fakestr 123, 12345, West City 

Aus Datenbank B i erhalten

123456,M,Hudson,Jameson,Fakestr123, 12345, East City 

Anstatt beiden Werte zu speichern ich die Daten aus der Datenbank A als Referenz gespeichert werden soll und speichern die Daten nur von B, die A. zu unterscheiden

In meinem Beispiel würde Ich mag, wie etwas speichern:

Database B, Jameson, East City 

Welche Datenstruktur kann ich für das gegebene Problem verwenden?

Vielen Dank im Voraus

Antwort

1

Die Lösung Sie viel über die Art der Daten abhängt wählen, wie Sie es speichern gehen, und was wollen Sie damit zu tun. Wenn alles, was Sie wollen, ein abgekürzter Datensatz ist, der nur die Deltas speichert, könnten Sie eine durch Kommas getrennte Zeile schreiben, die leere Felder enthält. Das heißt, gegeben:

Database A 
123456,M,Hudson,James,Fakestr 123, 12345, West City 

Database B 
123456,M,Hudson,Jameson,Fakestr123, 12345, East City 

Sie könnten einen eigenen Datensatz zeigt die Deltas schreiben:

123456,,,Jameson,,,East City 

Wenn Sie die Deltas in einer Datenbank sind speichern, dann werden Sie wahrscheinlich Aufzeichnungen wollen, dass die geben Datensatz-ID, der Feldname und der geänderte Wert. Diese Darstellung wäre:

123456,Surname,Jameson 
123456,City,East City 

, das wahrscheinlich ist, wie ich es in Erinnerung darstellen würde, auch: eine Hash-Karte durch Datensatzbezeichner verkeilt (d 123456), mit einer Liste der Feldname/Wert-Paare für jede ID.

Verwandte Themen