Verständnis Problem... Kunde -> mehrere Firmen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

SvenK
Beiträge: 3
Registriert: Mi, 26.09.2012 10:56

Verständnis Problem... Kunde -> mehrere Firmen

Beitrag von SvenK »

Hallo zusammen,

ich möchte quasi eine Kontakt-Datenbank erstellen.
Es gibt mehrere Personen die jeweils in mehreren Firmen arbeiten.

Bsp:
Herr Muster ist Vorstandsvorsitzender bei BMW.
Herr Muster ist aber auch im Prüfungsausschuss von Mercedes usw.
.
.
.
(bis zu 4-5 weitere Tätigkeiten)
Herr Muster hat Geburtstag am 1. Mai 2014.

Wie bereite ich dies in einer Datenbank auf so das ich alles ersuchen kann und das alles zusammen gebunden wird?
Sollte ich zwei Tabellen anlegen? Personen + Firmen?
Bei einer Tabelle müsste ich ja dann z.b. "Unternehmen1", und "Unternehmen2" vergeben?
Ist das geschickt? Oder lieber zwei Tabellen die verlinkt sind?

Ich habe da irgendwie grade einen Knoten im Kopf.

Habe meine Frage jetzt nochmal anders geschrieben, da es glaube ich, nicht ersichtlich war was ich meine.
Ich denke das ganze ist kein großes Problem aber irgendwie komme ich nicht weiter.
Würde mich sehr freuen wenn mir jemand helfen könnte.

LG
Sven
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Verständnis Problem... Kunde -> mehrere Firmen

Beitrag von juetho »

Hallo Sven, der wichtigste Punkt ist die saubere Struktur der Tabellen; alles Weitere folgt mehr oder weniger automatisch. Siehe Normalisierung. Du brauchst zunächst folgende Tabellen (in allen Fällen mit ID als Autowert):
  • Person: Namensteile, Titel, Geburtstag; allenfalls noch Verknüpfung zur Privatanschrift
  • Firma: Name, Rechtsform, allenfalls noch Verknüpfung zur Anschrift der Zentrale
  • Anschrift: Straße, Lkz, PLZ, Ort (am besten auch Unterscheidung nach Großempfänger, Postfach, Straße)
  • Kontaktdaten: Telefon, Telefax, Mobil, Email
Für deine Hauptfrage ist eine weitere Tabelle Funktion äußerst sinnvoll, die vor allem die Verknüpfungen enthält:
  • ID als Autowert (das ist nicht unbedingt erforderlich, aber sinnvoll; dann bist du flexibel bei der Anzahl der Einträge)
  • PersonID als Verknüpfung zur Tabelle Person
  • FirmaID als Verknüpfung zur Tabelle Firma
  • AnschriftID als Verknüpfung zur Tabelle Anschrift
  • DatenID als Verknüpfung zur Tabelle Kontaktdaten
  • Art der Funktion (ob im Klartext oder als Verknüpfung zu einer weiteren Tabelle, hängt von der Gesamtstruktur der Daten ab)
Auf diese Weise kann Herr Muster "beliebig viele" Funktionen beim Daimler ausüben. Er ist zu erreichen unter der jeweils richtigen Anschrift und Telefonnummer. Das dazugehörige Sekretariat hat dieselbe Anschrift, aber vielleicht eine andere Telefonnummer.

Diese Hinweise lösen hoffentlich den Knoten. Wenn etwas nicht klar ist, frag einfach nach. Die Struktur der Eingabeformulare sollte die Verknüpfungen nachbilden. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Verständnis Problem... Kunde -> mehrere Firmen

Beitrag von RobertG »

Hallo SvenK,
SvenK hat geschrieben: Es gibt mehrere Personen die jeweils in mehreren Firmen arbeiten.

Bsp:
Herr Muster ist Vorstandsvorsitzender bei BMW.
Herr Muster ist aber auch im Prüfungsausschuss von Mercedes usw..
.
(bis zu 4-5 weitere Tätigkeiten)
Herr Muster hat Geburtstag am 1. Mai 2014.
Das sieht erst einmal nach einer Beziehung zwischen Personen und Firmen im n:m-Format aus. Jürgen hat so etwas für verschiedene Funktionen in der gleichen Firma beschrieben.
Für unterschiedliche Firmen wäre eine Personentabelle und eine Firmentabelle sowie eine Tabelle notwendig, die zwischen Personen und Firmen vermittelt.
Person : ID, Vorname, Nachname, Geburtsdatum
Firmen: ID, Firma, Position (kann auch ausgelagert werden ...)
rel_Person_Firmen: Person_ID, Firma_ID (beide Fremdschlüssel können zusammen Primärschlüssel dieser Tabelle sein, da keine Person den gleichen Posten doppelt belegt.

Vielleicht ein kurzer Blick ins Handbuch zur n:m-Beziehung ...

Gruß

Robert
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Verständnis Problem... Kunde -> mehrere Firmen

Beitrag von juetho »

Kleine Korrektur:
RobertG hat geschrieben:Das sieht erst einmal nach einer Beziehung zwischen Personen und Firmen im n:m-Format aus. Jürgen hat so etwas für verschiedene Funktionen in der gleichen Firma beschrieben.
Ich habe es auch für gleiche Personen in verschiedenen Firmen gemeint. Die Tabelle Funktion ist auch für die Verknüpfung zwischen Personen und Firmen geeignet. Die verschiedenen Positionen sehe ich nicht als Teil der Firma an, sondern als zusätzliche Information der Verknüpfungen an. (Aber das kann natürlich auch anders geregelt werden - abhängig von den Aufgaben der Datenbank.) Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
Antworten