xdoo / vaadin-demo

demo using vaadin with spring boot.
4 stars 2 forks source link

Adresse zu Wohnung hizufügen #8

Closed xdoo closed 9 years ago

xdoo commented 9 years ago

Als Sachbearbeiter will ich einer Wohnung einer Adresse hinzufügen können, damit die Wohnung einem bestimmten geografischen Punkt zugeordnet ist.

martku commented 9 years ago

In einer Skizze von dir, wurde getrennt zwischen einer externen Wohnung und einer internen. Die externe soll alle Felder besitzen, die interne nur eine Referenz. In der Wohnung soll aber nur eine Referenz gespeichert werden: wie erfolgt dann die Zuordnung ob intern oder extern?

Der bestehende Service für Adresse liefert keine Referenz; entsprechend müssten interne Wohnungen auch komplett gespeichert werden.

Zwei Lösungsansätze:

  1. Zwischentabelle einführen, um von einer ID auf die ID einer internen oder einer externen Wohnung schließen zu können.
  2. Interne und externe gleich behandelt, das heiß: in einer Tabelle speichern.
xdoo commented 9 years ago

Das ist so nicht ganz richtig. Auf der Skizze gab es noch eine zusätzliche Referenz auf Adresse. Hier haben wir die Besonderheit, dass wir Münchner Adressen im GIS haben, die anderen Adressen selbst verwalten.

Ich würde hier Lösung 2 präferieren. Habe darüber auch schon Bilel diskutiert. Der hat dazu ein Sequenzdiagramm gemacht. Aus dem wird klar, wie die Tabellenstruktur sein muss. Hängt doch mal das Digramm hier rein.

BilelTmar commented 9 years ago

Das Alte CreateAdresse Sequenzediagramm war so: sq2 Aber jetzt mit der Lösung 2 wird es so sein : sq3

xdoo commented 9 years ago

Ich habe mich da verschrieben. Ich präferiere Lösung 1 - so wie wir es beschrieben haben. Sorry für die Mehrarbeit...

BilelTmar commented 9 years ago

Ich habe die Lösung 1 implementiert. Das Datenbanken Diagramm wurde so sein : database 1

xdoo commented 9 years ago

Warum sind denn die Tabellen für intern und extern gleich? Ich hätte in der Tabelle für extern eigetlich nur eine (Referenz) ID erwartet.

martku commented 9 years ago

Wir bekommen bei den internen keine ID zurück. Eventuell könnte anstelle davon der Straßenschlüssel verwendet werden: -> nachdem ich nun nachgefragt habe: diesen können wir verwenden. Der Service stellt auch eine entsprechende Funktion zur Verfügung.

xdoo commented 9 years ago

Ok. Repräsentiert der Strassenschlüssel genau eine Adresse, oder eine Strasse?

martku commented 9 years ago

Das hatte ich heute noch vergessen. Bilel ist es auch schon aufgefallen: ich hatte hier einen Denkfehler. Es kann damit nur eine Straße referenziert werden. Entsprechend haben wir zwei Möglichkeiten:

  1. Diesen speichern (damit referenzieren wir auf die Straße, PLZ und Ort) und die Hausnummer
  2. oder intern und extern gleich behandeln
xdoo commented 9 years ago

Uns würde ja eine Kombination aus Strassenschlüssel und Hausnummer genügen. Die PLZ benötigen wir nicht. Das Problem ist ja, dass Strassennamen sich ändern. Die Strassennummer sollte ja halbwegs stabil sein. Sinn und Zweck einer externen Referenz ist es ja, dass wir nicht ständig zwei Datenbasen synchronisieren müssen. Ich denke mit Strassenschlüssel und Hausnummer können wir das erreichen. Was meinst du?

martku commented 9 years ago

Mit der Kombination aus Straßenschlüssel und Hausnummer sind wir auf der sicheren Seite. Es wird zwar dennoch diese Zuordnungs-DB benötigt (zwecks Unterscheidung ob intern oder extern), aber wenn eine Straße umbenannt wird, sind wir auf der sicheren Seite.

xdoo commented 9 years ago

Dann machen wir es doch so. Ist ja auch nur zu Demo Zwecken. Wir solten uns im Klaren sein, warum wir das so machen.