# unterschiedliche Datentabellen



## Sascha Laurent (25. Feb 2010)

Hallo Leute,

ich habe ein Datenbank-Designerisches Problem. Ich habe eine Tabelle für Personen


Vorname
Nachname
Alter

und damit Verbunden unterschiedliche Address-Typen die ich über loser Kopplung als XML - Dokument erhalte.  Die Address-Typen können sein

Adresszeile 1
Adresszeile 2
Adresszeile 3
Adresszeile n

oder alternativ mit max. 3 Adresszeilen

Adresszeile 1
Adresszeile 2
Adresszeile 3

oder alternativ mit vorgebenen Tags

Strasse
Hausnummer
Flur
Gebäude
Stadt
Bezirk
Staat
Land

jetzt suche ich eine Design für eine Tabelle um alle drei Adressentypen mit der Person am besten zu speichen ist. Wie würdet Ihr soetwas realisieren?

Danke
Sascha


----------



## thom (26. Feb 2010)

Hallo Sascha,

ich würde da über LDAP nachdenken.

Viele Grüße

Thom


----------



## homer65 (26. Feb 2010)

Was steht denn so in Adresszeile n drin?


----------



## Gast2 (26. Feb 2010)

Ich würde immer nur eine Tabelle mit dem Adressdatensatz (Quasi die Tags als Spalten + PK) halten und die einkommenden Daten per Handler darauf abbilden, sprich die Adresszeilen parsen und in die richtigen Felder schreiben.

Wenn du dann aus der Adresstabelle wieder eine mehrzeile Adresse machen willst, zB. um sie auf ein Brief zu drucken dann halt noch einen Handler der anhand von Formatoptions den Addressrecord wieder transformiert.

Du brauchst dann noch einen FK in der Personstabelle auf den PK des passenden Adressdatensatzes.


----------



## KYLT (26. Feb 2010)

Für den Fall, dass Adresszeilensatzinhalt und Tags übereinstimmt stimme ich fassy voll und ganz zu. Das ist gängige Praxis.


Falls jedoch die Adresszeilen bzw. Tags abweichen würde ich allerdings mit 2 Tabellen arbeiten.

Also eine Tabelle Adresse , mit FK Person , PK Adresse und gegebenenfalls allgemeine Spalten, sowie eine Tabelle mit FK Adresse, Tagname, Taginhalt


----------



## Gast2 (26. Feb 2010)

Die Adresszeile sollte schon übereinstimmen.

Das wäre ja sowas

1) zH. Herrn
2) Max Mustermann
3) Musterstr. 2
4) 12345 Musterstadt
5) Musterland

Und evlt noch mehr. Aber wohl nicht andere Attribute als man in den beiden Masterdata Tabellen Person + Adresse ablegen würde


----------



## Sascha Laurent (26. Feb 2010)

Das hatte ich mir auch überlegt, also 1 Tabelle mit Personen und 1 Tabelle mit n Adresszeilen. Und wenn später dieses als XML-Dokument z.B. für Übertragung erstellt werden soll, dann Verschicken, grundsätzlich als Person + n Adresszeilen. Was ist aber, wenn es später wirklich auf die Korrekte Zuordnung z.B. Strasse geht? Dann habe ich bei Adresszeilen, da ich nicht weiß in welcher Adresszeile die Strasse steht ein Problem.

Seht Ihr daß genau so oder weiß jemand eine elegante Lösung?


----------



## Gast2 (26. Feb 2010)

Sascha Laurent hat gesagt.:


> Dann habe ich bei Adresszeilen, da ich nicht weiß in welcher Adresszeile die Strasse steht ein



Das ist immer ein Problem bei unstrukturierten Daten. Wenn du kein sauber definiertes Interface zu deinem System hast muss man immer irgendwelche Kompromisse eingehen. 

Hast du überhaupt keinen Einfluss wie die Daten ankommen?


----------



## Sascha Laurent (27. Feb 2010)

Nein Leider nicht, denn dieses ist einer standardisierten WSDL, die von SAP, Micrososft & Co so ausgearbeitet wurde, so beschrieben.


----------

