Problem beim Anlegen der Tabellen
Folgendes Problem:
Es soll eine Adressdatenbank aufgebaut werden, die sich aus folgenden Felder zusammensetzt:
Gebäudename, Ort, PLZ, Straße und Hausnummer (jeweils in einzelnen Tabellen getrennt)
Jetzt zum Problem:
Ein Gebäude kann durchaus mehrere Straßennamen besitzen (da verschiedene Eingänge), daraus folgend auch verschiedene Hausnummern. Weiterhin kann eine Straße mehrere PLZ haben. Daraus folgt weiterhin, daß die Hausnummern einer Straße in verschiedenen PLZ liegen können.
Wie sind jetzt die Tabellen sauber aufzubauen?
Der Adressat sitzt in einem bestimmten Gebäude, welches einen Namen hat (Haus A, Haus B...).
Das Ganze sollte der dritten Normalform entsprechen, d. h. irgendwelche doppelten Datenhaltungen sollten vermieden werden.
Hat da jemand mal einen Ansatz?
Problem beim Anlegen der Tabellen
Gebäudename, Ort, PLZ, Straße und Hausnummer (jeweils in einzelnen Tabellen getrennt)
Jetzt zum Problem:
Ein Gebäude kann durchaus mehrere Straßennamen besitzen (da verschiedene Eingänge), daraus folgend auch verschiedene Hausnummern. Weiterhin kann eine Straße mehrere PLZ haben. Daraus folgt weiterhin, daß die Hausnummern einer Straße in verschiedenen PLZ liegen können.Wie sind jetzt die Tabellen sauber aufzubauen?
wenn ich das richtig sehe, hast du es im Grunde schon gelöst. Hier die Beziehungen nochmal anders dargestellt:
Gebäude 1:n Straße 1:n PLZ 1:n HausNr
Am Beispiel der Tabelle Straße:
tabStrasse
----------
IDStrasse
txtStrasseName
lngGebaeude
Ich hoffe, das kam verständlich rüber?
Martin
Problem beim Anlegen der Tabellen
Wobei ID_Strasse, ID_PLZ.... jeweils die Primärschlüssel der Tabellen sind?
Problem beim Anlegen der Tabellen
Wobei ID_Strasse, ID_PLZ.... jeweils die Primärschlüssel der Tabellen sind?
yep
Problem beim Anlegen der Tabellen
Danke für die Antworten!
Die leeren (!) Tabellen stehen jetzt und sie sind auchin Beziehungen gesetzt.
Jetzt dachte ich mir in meiner grenzenlosen Naivität ;o), daß ich einfach eine Abfrage auf die 4 Tabellen mache und dort dann lutig die Datensätze einhämmern kann.
Meine Abfrage beinhaltet die Felder Gebaeude, Strasse, PLZ und Hausnr, jeweils aus einer eigenen Tabelle. Den Gebaeudenamen kann ich noch eingeben, die restlichen nicht mehr...
Wie kriege ich jetzt die Daten in die Tabellen? Oder muß ich die Tabellen einzeln füllen und dann umständlich die Schlüssel von Hand zuweisen (was ja sicher nicht im Sinne des Erfinder ist)?
Problem beim Anlegen der Tabellen
Wie kriege ich jetzt die Daten in die Tabellen? Oder muß ich die Tabellen einzeln füllen und dann umständlich die Schlüssel von Hand zuweisen (was ja sicher nicht im Sinne des Erfinder ist)?
Hi,
natürlich lassen sich die Tabellen so nicht füllen. Erst müssen ja die Werte auf der 1-Seite einer Beziehung da sein, damit das zur Beziehung gehörende Feld auf der n-Seite gefüllt werden kann.
Im übrigen ist es nicht im Sinne des Erfinders, Tabellen in der Tabellenansicht zu füllen. Dafür sind Formulare da. Die nehmen dir ja dann auch die Arbeit ab, die Schlüssel von Hand zuzuweisen. Tipp: Experimentiere mit Unterformularen, um mehrere Tabellen zugleich zu füllen (Erst Wert im UFO aufbauen, dann im Hauptformular).
bis denn
Martin
Problem beim Anlegen der Tabellen
Wunderbar, das mit den Unterformularen klappt prima, die Daten kommen auch in den Tabellen an ;o)!
Wenn ich mir jetzt aber den Inhalt der verschiedenen Tabellen ansehe, sind dann doch einige Daten doppelt vorhanden.
Beispiel (Werte sind aus der Luft gegriffen):
Gebäude A steht in Dresden, Prager Straße 1, 01069
Gebäude B steht auch in Dresden, Prager Straße 5, 01069
Jetzt steht in der Tabelle
tab_Gebäude:
Gebäude A
Gebäude B
in tab_Ort:
Dresden
Dresden
in tab_PLZ:
01069
01069
Jetzt hatte ich mir aber gedacht, daß das doch aber doppelte Datenhaltung ist, da ja in tab_Ort zweimal Dresden und in tab_PLZ zweimal 01069 steht? Was passiert jetzt, wenn ich die alle Gebäude der Prager Straße aufnehmen müßte, dann würde doch in tab_Ort und tab_PLZ x-mal Dresden und 01069 stehen?
Wäre es jetzt nicht richtiger, wenn in den beiden Tabellen nur jeweils einmal Dresden und einmal 01069 stehen würde?
Habe ich jetzt einen Denkfehler, oder fehlt mir nur noch der zündende Gedanke? Könnte man das relativ einfach händeln?
Problem beim Anlegen der Tabellen
Wäre es jetzt nicht richtiger, wenn in den beiden Tabellen nur jeweils einmal Dresden und einmal 01069 stehen würde?
Da hast du recht.
Ich nehme an, in tab_Ort usw. gibt es auch je einen eindeutigen ID (Duplikate nicht erlaubt). Zumindest sollte es so sein. Das Problem wäre dann, dass im Unterformular dauernd neue Datensätze angelegt werden, und das ohne Prüfung, ob es schon einen entsprechenden Datensatz gibt.
Die sauberste Möglichkeit ist natürlich, erst mal alle untergeordneten Tabellen mit Werten zu füllen, und dann im formular nur ein Kombinationsfeld einzubauen, mit dem man aus den bestehenden Werten einen aussuchen kann. Wenn man eine neue PLZ anlegen will, muss man das dann zuerst machen, und erst dann das zugehörige Gebäude. Eine weitere Lösung ginge per VBA - so ein Kombinationsfeld bietet das Ereignis "Bei nicht in Liste". Aber spätestens hier kommen wir zu VBA...
hoffe, trotzdem geholfen zu haben
Martin
RSS Einträge
Kontakt