Krain Geschrieben 14. April 2005 Teilen Geschrieben 14. April 2005 Hallo zusammen, Folgendes Problem: Vielleicht kennt ja jemand von Euch den OpenImmo-Standard. Die Struktur ist in etwa so (nur schematisch skizziert): <openimmo> <anbieter> <immobilie> <kontakt></kontakt> <weitere_kontakte></weitere_kontakte> </immobilie> <immobilie> <kontakt></kontakt> <weitere_kontakte></weitere_kontakte> </immobilie> <immobilie> <kontakt></kontakt> <weitere_kontakte></weitere_kontakte> </immobilie> <immobilie> <kontakt></kontakt> <weitere_kontakte></weitere_kontakte> </immobilie> </anbieter> </openimmo> Mein Problem ist nun, dass der Hauptkontakt <kontakt> wahrscheinlich in vielen immobilien der Kontakt gleich ist, zumindest gehe ich davon aus. Nun ist es aber unkomfortabel für jedes Immobilien-Objekt einen Kontakt (bzw. durch <weitere_kontakte> sogar mehrere anzulegen. Ich habe aber hir nichts auf, das ich zugreifen könnte um das zu unterscheiden. Es gibt zwar sowohl im <kontakt> als auch in <weitere_kontakte> den Tag <personen_nummer>, das müsste ich aber dann mit der Anbieter-ID verbinden um einen eindeutigen Schlüssel zu haben oder nicht? Und ich muß voraussetzen, dass die Daten der Personen mit dieser Nummer auf jeden Fall immer gleich sind... Ich weiß einfach nicht, wie ich das am besten in einer DB umsetzen soll. Ich tendiere zu einer einzelnen Kontakt-Tabelle, in der ich einen primmärschlüssel vergebe und als Sekundärschlüssel anbieter_id und personen_nummer verwende. Ich brauche hier wirklich ein paar tips! Danke Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 14. April 2005 Teilen Geschrieben 14. April 2005 Du brauchst hier zusätzlich zu deiner "Immobilien"-Tabelle eine mit den Kontaktdaten. Nimmst von beiden die PK-Spalte in eine dritte Tabelle (=Zuordnungstabelle) und verknüpfst die Spalte per PK-FK mit der Kontakt- bzw. mit der Immobilientabelle. UK oder PK über beide Spalten der Zuordnungtabelle drüberlegen. Fertig. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 14. April 2005 Autor Teilen Geschrieben 14. April 2005 So habe ich mir das auch gedacht. Aber dieses XML-File kommt meist ohne Personennummer oder ähnlichem rein. Das ist mein Problem. Woran erkenne ich, dass es diese Person dann schon einmal gibt? Soll ich einfach alle Felder vergleichen? Oder reicht die Telefonnumer usw... Es ist ja theoretisch über die einzelne Immobilie auch möglich einen neuen Kontakt anzulegen... Beispiel: Ich lese die erste Immobilie -- überprüfe Kontakt und schreibe in die Kontakttabelle -- keine weiteren Kontakte vorhanden lese zweite Immobilie -- finde Kontakt, ist gleich mit oberem (hier liegt das Problem, woran erkenne ich das?) -- keine weiteren Kontakte Danke für die Hilfe... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 14. April 2005 Teilen Geschrieben 14. April 2005 Das ist nun wirklich blöd. Bei der Telefonnummer haste das Problem der Formatierung und ob mit Länder vorwahl oder ohne, mit Ortsvorwahl oder ohne, evtl. mit "/", "-" oder " " getrennt usw. Da haste fast keine Chance. Ausser die Telefonnummer ist formatiert und ohne Sonderzeichen, aber was machst du wenn der ne neue Tel-Nummer kriegt ... bei "ergänzenden" Nachladungen? Die Datenqualität wirste da fast nicht bieten können, da du schon "minderwertige" Daten reinkriegst. Höchstens mit nur 2 Tablellen (Kontakte und Immobilien und die dann mit PK-FK). Aber da speicherst du dann redundant Daten (einen Kontakt mehrmals, jeweils für die entsprechende Immobilie). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 14. April 2005 Autor Teilen Geschrieben 14. April 2005 Genau, das sehe ich auch so. Ich habe vor mir ein Java-Progrämmchen zu schreiben, das die XML-Datei parsen kann. Vor dem parsen will ich mir alle Kontakte zu dem jeweiligen Anbieter rausholen und in einem kontaktobjekt speichern. Dann soll das Dokument geparst werden. Ich erzeuge mir zu jeder Immobilie ein kontaktobjekt und schaue ob es mit einem aus der Datenbank gleich ist... Wenn es gleich ist benutze ich die ID des bestehenden Kontakt, ansonsten lege ich einen neuen an. Da diese XML-Datei meistens von einem Maklerprogramm erstellt wird dürfte es eigentlich keine Probleme mit der Formatierung geben, denke ich. (hab es noch nicht probiert) Aber das ist IMHO die einzige Möglichkeit, die Daten wenigsten einigermaßen sauber zu halten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.