Rouven: Korrekte schribweise der Datenbank

Beitrag lesen

Hi Steffen,

Tbl Firma
ID, Firmenname, Land, Mitarbeiter_ID
1, Siemens, D, 1

Tbl Mitarbeiter

ID, Name, Vorname
1, Hubert, Steffen
2, Mueller, Peter

Das ist aus meiner Sicht ein klassischer Fall von falsch herum modellierter Beziehung. Du hast EINE Firma mit N Mitarbeitern. EIN Mitarbeiter gehört aber nur zu EINER Firma.
Solange das das Szenario ist, ist die Beziehung tatsächlich 1:n. Bei derartigen Beziehungen legt man den Fremdschlüssel auf die Seite, von der aus die :1-Beziehung besteht, weil der Satz sowieso existiert. Im Klartext: 1 Datensatz für die Firma, 1 Datensatz für den Mitarbeiter und jeder Mitarbeiter weiß zu welcher Firma er gehört:
ID, Name, Vorname, FirmenID

Solltest du in der Tat eine n:m-Beziehung haben weil ein Mitarbeiter bei mehreren Firmen arbeitet, dann wird diese wie folgt aufgelöst:
Firma (ID, Name, Land)
Mitarbeiter (ID, Name, Vorname)
Anstellung(ID_Firma, ID_Mitarbeiter)

In beiden Fällen ist es in der Regel (oder sagen wir nach meiner Erfahrung) effizienter die Datenbank alle Aufgaben in einer Abfrage wahrnehmen zu lassen, also mit Joins zu arbeiten. SELFHTML hält da auch etwas Information für dich bereit:
Einführung Joins
Fortgeschrittene Joins

MfG
Rouven

--
-------------------
Death is nature's way of telling you to slow down.