Hallo,
ich will demnächst ein Programm zur Kontaktverwaltung schreiben und sammle schon mal einige Gedanken. Leider bin ich beim DB-Entwurf schon wieder am Ende. X(
Folgendes Szenario muss abgedeckt sein:
Es muss eine Trennung von Firmen und Personen sein, beide sollten aber möglichst in einer Tabelle stehen. Jede Person kann aber (theoretisch) in mehreren Firmen mitarbeiten, also PersonInFirma. Diese PersonInFirma ist dann für andere Sachen auswählbar.
Beispiel:
Ich habe Firma F1 und Firma F2 und Herrn Schmidt. Herr Schmidt ist nun in F1 für die Hardware und in F2 für die Software verantwortlich.
D.h. ich habe 3 Einträge für Herr Schmidt:
Wie bilde ich das am besten ab.
Eine Möglichkeit wäre 3 Einträge in eine große Tabelle. Aber ich weiß nicht, ob das sinnvoll ist, weil dann Name,Vorname, Geburtstag usw. auch 3 mal drin stehen.
Oder macht man nur einen Eintrag in eine "große" Tabelle für Herr Schmidt und die einzelnen PersonInFirma in einer kleinen Tabelle mit idPersonInFirma, idPerson, idFirma.
Oder vielleicht doch anders? Ich hätte gern eure Meinung gewusst.
Vielen Dank
Ich würde Personen und Firmen grundsätzlich trennen und in zwei verschiedenen Tabellen speichern. Ich würde sogar noch weiter gehen und auch die Adressen in einer separaten Tabelle speichern. Eine Firma kann z.B. 10 Büros an verschiednenen Standorten haben. Alle laufen unter der selben Kunden-Nr, weil z.B. der Einkauf der Firma zentralisiert ist.
Was ist z.B. mit Vereinbarungen/Verträgen/Rabetten etc. die für eine Firma gelten? Die müssten redundant gepflegt werden, wenn alles in einer Tabelle steht und von der Firma mehrere Kontaktpersonen bekannt sind. Wenn diese Kontaktpersonen dann auch noch mit anderen Firmen verknüpft sind, kommt alles völlig durcheinander.
Außerdem bekommt man es meistens nicht mit, wenn Mitarbeiter A zur Firma B wechselt. Bei einem großen Kundenstamm ist das nicht mehr pflegbar.
Ich halte den ganzen Ansatz nicht für empfehlenswert, wenn es um eine Konktaktverwaltung im Sinne von Kundenbeziehungen gehen soll.
Hallo und danke für die Antwort,
die Dinge wie Adressen, email, Telefon usw habe ich schon in eine andere Tabelle gepackt.
Mein Problem ist wirklich die Abbildung der "PersonInFirma" (siehe 1.Posting).
Von der "großen" Tabelle habe ich mich verabschiedet. Ich favorisiere derzeit folgende Lösung: