Konzeption Personen / Adressen
Kalle_B
- datenbank
0 Hans
Hallöle,
brauche mal eure Anregung/Kritik zu einer Neukonzeption.
Muss immer wieder tricksen, weil ich eine Tabelle habe, in der Firmen und Personen in einem Datensatz sind, also
adressen
--------
Beziehungen:
Kollegen (Mitarbeiter einer Firma) sind definiert über den gleichen Kurznamen.
Gruppen (Besucher einer Messe, die gemeinsame Termine wollen) sind in einer eigenen Tabelle:
gruppen_besucher
----------------
Suche nach einem Standard-Konzept (losgelöst von diesem Projekt), das die Daten und Beziehungen von juristischen und natürlichen Personen allgemein regelt.
Zunächst müsste geklärt werden, was eine PERSON kennzeichnet. Anrede, Titel, Vor- und Nachname sind unstrittig.
Aber mit der Tel-Nr geht es schon los. Die ist eigentlich NICHT personenbezogen. Denn eine natürliche Person kann privat, dienstlich, mobil, im Verein, ... beliebig viele Nummern haben. Und eine juristische Person erst recht.
Dann fängt man an, mehrere Felder zu machen: tel, fax, mobil.
Das gleiche Problem bei E-Mail und Adressen. Welche Adresse hätte eine natürliche Person, die privat, als Geschäftsmann, als Vereinsvorsitzender Post bekommt?
Ist es der richtige Ansatz, wenn man drei Tabellen macht?
und für die Beziehungen eine weitere
... ist noch nicht fertig gedacht, würde eure Vorschläge gerne berücksichtigen.
Lieben Gruß, Kalle
Hi Kalle,
geh' das Problem einfach mal von der Wurzel an.
Was kommt am Anfang? Am Anfang kommt eine natürliche Person. Sie hat eine ID, Name, Adresse, Geburtstag etc.
Diese Person ist plötzlich Chef einer Firma. In der Firma ist die Person aber nicht wieder mit Name, Adresse, Geburtstag etc. sondern mit seiner ID angegeben. Da der Chef dieser Firma alles so prima delegiert hat, hat er soviel Freizeit (schliesslich leben wir in der Spaßgesellschaft, da wissen wir vor lauter Spaß nicht wohin), daß er unbedingt in den Briefmarkensammel-, Kaninchenzüchter- und, wenn wir schon mal dabei sein, in den Swinger-Verein eintreten muß. Dort ist er auch nur über eine ID drin. Als Chef, Oberbriefmarke, Rammelmeister und, äh, OK, nicht überall braucht er ein Telefon, aber da, wo er eins braucht, hat er auch eins. Dies ist nicht sein privat-Telefon, sondern das, was er für die Ausübung seiner Funktion braucht. Also bleibt diese Telefonnummer in der Firmen-, Briefmarken-, Rammelvereins-Tabelle.
So, wo ist jetzt Dein Problem?
Gruß
Hans
Hallo,
Dies ist nicht sein privat-Telefon, sondern das, was er für die Ausübung seiner Funktion braucht. Also bleibt diese Telefonnummer in der Firmen-, Briefmarken-, Rammelvereins-Tabelle.
So, wo ist jetzt Dein Problem?
Wie bildest du hier dann 2 Mobiltelefone, einen Festnetzanschluss und 2 Faxnummern ab, die er in seiner Firma hat?
Grüße
Marcus
Hi !
Wie bildest du hier dann 2 Mobiltelefone, einen Festnetzanschluss und 2 Faxnummern ab, die er in seiner Firma hat?
Wo ist das Problem? Man kann eine weitere Tabelle nehmen, in der sämtliche Faxe, Mobiltelefone, etc's drin sind und diesen Nummern doch beliebig viele ID's von natürlichen Personen zuweisen.
ID Festnetz Mobil Fax
-----------------------------------------
1 1234 0171-1 4711
2 4567 0171-2 4711
1 1234 0171-3 4711
Diese Tabelle kann man natürlich auch noch normalisieren, man kann aber auch sagen, maximal 3 Handys pro Nase und dann hat man 3 Handy-Spalten. Je nachdem, wie modular man das ganze haben will. Spalten, in denen null drin steht, nehmen bekanntlich keinen Platz weg.
Gruß
Hans
Hallo,
Wo ist das Problem? Man kann eine weitere Tabelle nehmen, in der sämtliche Faxe, Mobiltelefone, etc's drin sind und diesen Nummern doch beliebig viele ID's von natürlichen Personen zuweisen.
Was aber deinem Vorschlag widerspricht:
Also bleibt diese Telefonnummer in der Firmen-, Briefmarken-, Rammelvereins-Tabelle.
Grüße
Marcus
Hi !
Was aber deinem Vorschlag widerspricht:
Also bleibt diese Telefonnummer in der Firmen-, Briefmarken-, Rammelvereins-Tabelle.
Nun, es kommt darauf an, ob es eine Regelung gibt:
"Jeder hat maximal 2 Handys, 3 Festnetzanschlüsse und 4 Fax-Geräte" -> Dann die entsprechenden Spalten in der Tabelle frei halten
Oder
"Jeder kann beliebig viele Medien haben, diese findet man in der Tabelle 'Medien'".
Leider gibt es nicht DIE Lösung. Denn der Menscht ist gebaut nach "Woher weiß ich was ich brauche, wenn ich nicht sehe, was es gibt (oder möglich ist)".
Somit ist es ratsam, sich bei Tabellen-Designs immer die Option "erweiterbar nach allen Richtungen" offen zu halten. Dies kann man dadurch erzielen, daß man Objekte (Mensch, Auto, Käfer, etc.) durch eine ID kennzeichnet und diese ID taucht dann in all den Tabellen wieder auf, die eine Erweiterung zur Ursprungstabelle darstellen.
Wäre also zuerst eine begrenzte Anzahl von Medien für einen Mitarbeiter vorgesehen gewesen, danach aber kann jeder Mitarbeiter duzende von Handys, Faxe und Telefone haben, muß man die Tabelle 'Medien-Tabelle' machen
Bsp:
Name Personen-ID Funktions-ID
------------------------------
Hans 4711 1234
Medien-Tabelle:
Personen-ID Medien-Name Rufnummer Funktions-ID
-----------------------------------------------------------
4711 Handy1 0171-123 1234
4711 Handy2 0175-456 1111
4711 Fax1 01234-5678 1234
4711 Fax2 01234-8765 1111
4711 Festnetz 01234-99876 4444
8965 Handy1 0175-12345 3321
8965 Fax1 01234-8744 3321
123456 Festnetz 01234-85674 8765
Funktions-Tabelle:
Funktions-ID Funktion
--------------------------------
1234 Vorstand Briefmarken
1111 Vorstand Kaninchenzüchter
4444 Pforte Firma
...
etc.
Somit kann ich mit den Tabellen festlegen, welche Person wo welche Funktion besitzt und an welchem Ort unter welchem Festnetz/Fax/Handy erreicht werden kann.
Gruß
Hans