Unternehmenshierarchie darstellen / Mehrfachbeziehung

gocyla

Grünschnabel
Hallo,
ich lerne gerade Datenbanken zu entwickeln. Habe mir schon einige Bücher durchgelesen und komme nicht weiter.

Es geht um folgendes Problem: Ich möchte eine Unternehmenshierarchie in einer Datenbank abspeichern. Als Beispiel:
Code:
	Borstel KG
|		|
	 Vertrieb	 Einkauf
|	 |	|	 |
	 Abt1	Abt2 Abt1 Abt2
Ich habe mir folgendes überlegt: Ich nehme eine Entitätsmenge "Unternehmensbereiche" und eine zweite mit dem Namen "Abteilungen". Dazwischen mache ich dann eine Mehrfachbeziehung:

Code:
   1_________________________mc
   |			|
Unternehmensbereiche	Abteilungen
   |__________________________|
   1		 c

In die Entitätsmenge Unternehmensbereiche kommen alle Bereiche. Einige davon sind Abteilungen (1-c Beziehung) und diese Abteilungen werden wiederum von Unternehmensbereichen geleitet (1-mc Beziehung).

Die Tabellen würden wie folgt aussehen:
Unternehmensbereiche (UID,Bezeichnung,Mitarbeiterzahl)
Abteilungen (UID,LUID)

LUID währe die "Leit-UID"

Ist es sinnvoll das Problem auf diesem Weg zu lösen? Habt ihr vielleicht einen besseren Vorschlag?
Sollte ich etwas beachten?

Vielen Dank für Eure Hilfe!
 
Hallo!

ich würde eine Tabelle für die Unternehmensbereiche(U) und eine für dei Abteilungen(A) anlegen:

Eine Abteilung hat kann i.d.R. nur einem Unternehmensbereich zugehörig sein und ein Unternehmensbereich hat 1 oder mehrere zugehörige Abteilungen.

Daraus würde sich eine reine 1-n Beziehung ergeben, da kein Unternehmensbereich ohne Abteilung und keine Abteilung ohne Unternehmensbereich existieren kann.

Tabelle U:
ID, name,....

Tabelle A:
ID, name, ... UID

Tabelle A enthält eine Referenz auf die "Übergeordnete" Tabelle. Weiterhin würde ich dir empfehlen keine Daten in Tabellen abzulegen welche du ganz leicht durch Berechnung durch eine Abfrage erhalten könntest (Anzahl Mitarbeiter in Unternehmensbereich = Summe der Anzahl der Mitabreiter jeder einzelnen untergliederten Abteilungen).

Gruß Tom
 
Zurück