Grundkurs SQL

Beziehungen und Verbundmöglichkeiten zwischen Tabellen

Beziehungen Datenbank Personalverwaltung

Die Beziehungen in unserer Datenbank werden in der Darstellung noch einmal deutlich. Zu den Primärschlüsseln gehören unter Anderem abteilung_ID oder auch titel_ID der Tabellen tbl_abteilung und tbl_titel.

Die Tabelle tbl_mitarbeiter enthält Verweise auf Attribute (als Fremdschlüssel) mit gleichen/ähnlichen Namen (abteilung_ID und position).

Die 1:n-Beziehungen sind auch durch die Verbindungslinien sichtbar. Zu jeder Abteilung und zu jeder Anredeform können beliebig viele Mitarbeiter zugeordnet sein. Durch eine (Verbund-)Abfrage können wir gleichzeitig Attribute aus mehreren in Beziehung stehenden Tabellen anzeigen lassen.

Dazu nun einige Beispiele
[18]SELECT name, abteilungsname
FROM tbl_abteilung, tbl_mitarbeiter
WHERE tbl_abteilung.abteilung_ID = tbl_mitarbeiter.abteilung_ID
[18]SELECT name, abteilungsname
FROM   tbl_abteilung
       INNER JOIN tbl_mitarbeiter
       ON tbl_abteilung.abteilung_ID = tbl_mitarbeiter.abteilung_ID
[17]SELECT name, abteilungsname, beschreibung
FROM   tbl_abteilung, tbl_mitarbeiter, tbl_position
WHERE  tbl_abteilung.abteilung_ID = tbl_mitarbeiter.abteilung_ID
       AND tbl_position.position_ID = tbl_mitarbeiter.position
[17]SELECT name, abteilungsname, beschreibung
FROM   tbl_abteilung
       INNER JOIN
       (
         tbl_mitarbeiter INNER JOIN tbl_position
         ON tbl_position.position_ID = tbl_mitarbeiter.position
       )
       ON tbl_abteilung.abteilung_ID = tbl_mitarbeiter.abteilung_ID