1 zu 1

Eine 1:1-Beziehung (eins-zu-eins) liegt vor, wenn genau eine Instanz einer Entität mit genau einer Instanz einer anderen Entität verbunden ist.

Beide Seiten der Relationship haben die Kardinalität "1" - eine eindeutige, bidirektionale Zuordnung.

Kernpunkte

Die 1:1-Beziehung ist die einfachste Form einer Relationship:

  • Eine Entität A ist mit genau einer Entität B verbunden
  • Eine Entität B ist mit genau einer Entität A verbunden
  • Selten in der Praxis (meist können Daten in einer Tabelle zusammengefasst werden)
  • Verwendung bei: Datentrennung aus Sicherheits- oder Performance-Gründen

ASCII-Diagramm: 1:1-Beziehung

1:1 BEZIEHUNG (EINS-ZU-EINS)

┌──────────────┐         ╱─────────╲         ┌──────────────┐
│   PERSON     │────────<  besitzt  >────────│  REISEPASS   │
│              │    1                     1   │              │
├──────────────┤         ╲─────────╱         ├──────────────┤
│ PersonID(PK) │                             │ PassNr (PK)  │
│ Name         │                             │ Gültig bis   │
│ Vorname      │                             │ Ausstelldatum│
│ Geburtsdatum │                             │ PersonID(FK) │
└──────────────┘                             └──────────────┘

BEDEUTUNG:
→ Eine Person hat GENAU EINEN Reisepass
→ Ein Reisepass gehört zu GENAU EINER Person

Visualisierung: 1:1 im Detail

PAARWEISE ZUORDNUNG (1:1)

Person               Reisepass
  A    ───────────── Pass_1
  B    ───────────── Pass_2
  C    ───────────── Pass_3

REGELN:
• Person A hat nur Pass_1
• Pass_1 gehört nur Person A
• Keine Person hat 2 Pässe
• Kein Pass gehört 2 Personen

Implementierung in Datenbanken

VARIANTE 1: Foreign Key auf Seite A

Tabelle: PERSON
┌──────────┬─────────┬──────────┬────────────┐
│PersonID  │  Name   │ Vorname  │  PassNr(FK)│ ← FK zu Reisepass
├──────────┼─────────┼──────────┼────────────┤
│    1     │ Müller  │  Anna    │   P12345   │
│    2     │ Schmidt │  Max     │   P67890   │
└──────────┴─────────┴──────────┴────────────┘

Tabelle: REISEPASS
┌──────────┬─────────────┬──────────────┐
│ PassNr   │ Gültig bis  │ Ausstelldatum│
├──────────┼─────────────┼──────────────┤
│ P12345   │ 2030-12-31  │ 2020-01-15   │
│ P67890   │ 2029-06-30  │ 2019-07-20   │
└──────────┴─────────────┴──────────────┘


VARIANTE 2: Foreign Key auf Seite B (häufiger!)

Tabelle: PERSON
┌──────────┬─────────┬──────────┬──────────────┐
│PersonID  │  Name   │ Vorname  │ Geburtsdatum │
├──────────┼─────────┼──────────┼──────────────┤
│    1     │ Müller  │  Anna    │ 1990-05-12   │
│    2     │ Schmidt │  Max     │ 1985-03-22   │
└──────────┴─────────┴──────────┴──────────────┘

Tabelle: REISEPASS
┌──────────┬─────────────┬──────────────┬──────────┐
│ PassNr   │ Gültig bis  │ Ausstelldatum│PersonID  │ ← FK zu Person
├──────────┼─────────────┼──────────────┼──────────┤
│ P12345   │ 2030-12-31  │ 2020-01-15   │    1     │
│ P67890   │ 2029-06-30  │ 2019-07-20   │    2     │
└──────────┴─────────────┴──────────────┴──────────┘

Weitere Beispiele für 1:1-Beziehungen

TYPISCHE 1:1-BEZIEHUNGEN

┌─────────────────────────────────────────────────┐
│  AUTO <──1:1──> KENNZEICHEN                     │
│  → Ein Auto hat ein Kennzeichen                 │
│  → Ein Kennzeichen gehört zu einem Auto         │
└─────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────┐
│  LAND <──1:1──> HAUPTSTADT                      │
│  → Ein Land hat eine Hauptstadt                 │
│  → Eine Hauptstadt gehört zu einem Land         │
└─────────────────────────────────────────────────┐

┌─────────────────────────────────────────────────┐
│  BENUTZER <──1:1──> LOGIN-DATEN                 │
│  → Ein Benutzer hat Login-Daten                 │
│  → Login-Daten gehören zu einem Benutzer        │
│  (Trennung aus Sicherheitsgründen!)             │
└─────────────────────────────────────────────────┘

1:1 vs. 1:n vs. n:m

VERGLEICH DER KARDINALITÄTEN

1:1 (EINS-ZU-EINS)
Person ─1─ Reisepass
  A    ───── Pass_1     ✓ genau einer
  B    ───── Pass_2     ✓ genau einer
  C    ───── Pass_3     ✓ genau einer


1:n (EINS-ZU-VIELE)  → 1 zu n
Person ─1─ Auto ─n─
  A    ───── Auto_1    ✓ kann mehrere haben
       ───── Auto_2
  B    ───── Auto_3
  C    (keine Autos)   ✓ kann auch 0 sein


n:m (VIELE-ZU-VIELE)  → n zu m
Student ─n─ Kurs ─m─
  Anna ───── Mathe     ✓ viele zu viele
       ───── Info
  Max  ───── Mathe
       ───── Physik
Wichtig für AP2

1:1-Beziehung Merkmale:

  • Jede Entität auf Seite A ist mit genau einer Entität auf Seite B verbunden
  • Selten in der Praxis (meist besser: eine Tabelle)
  • Verwendung bei:
  • Datenschutz (sensible Daten trennen)
  • Performance (große Tabellen aufteilen)
  • Optional-Felder auslagern

Implementierung:

  • Foreign Key auf einer Seite (meist die "abhängige" Seite)
  • FK muss UNIQUE sein (sonst wäre es 1:n!)

Typische Prüfungsfrage: "Wann verwendet man 1:1-Beziehungen?"
→ Antwort: Bei Datentrennung aus Sicherheits- oder Performance-Gründen

Praxis-Beispiel: Mitarbeiter und Dienstwagen

Szenario: Jeder Manager bekommt EINEN Dienstwagen

ER-DIAGRAMM: MANAGER & DIENSTWAGEN

┌──────────────┐         ╱─────────╲         ┌──────────────┐
│   MANAGER    │────────<  fährt    >────────│  DIENSTWAGEN │
│              │    1                     1   │              │
├──────────────┤         ╲─────────╱         ├──────────────┤
│ ManagerID(PK)│                             │ FahrzeugID   │
│ Name         │                             │ Kennzeichen  │
│ Abteilung    │                             │ Modell       │
│ Gehalt       │                             │ ManagerID(FK)│
└──────────────┘                             └──────────────┘


DATEN-BEISPIEL:

Tabelle: MANAGER
┌───────────┬─────────┬────────────┬─────────┐
│ ManagerID │  Name   │ Abteilung  │ Gehalt  │
├───────────┼─────────┼────────────┼─────────┤
│    1      │  Anna   │    IT      │ 75.000€ │
│    2      │  Max    │  Vertrieb  │ 80.000€ │
└───────────┴─────────┴────────────┴─────────┘

Tabelle: DIENSTWAGEN
┌────────────┬─────────────┬───────────┬───────────┐
│ FahrzeugID │ Kennzeichen │   Modell  │ ManagerID │
├────────────┼─────────────┼───────────┼───────────┤
│     101    │  B-AB-1234  │  BMW 5er  │     1     │
│     102    │  M-CD-5678  │  Audi A6  │     2     │
└────────────┴─────────────┴───────────┴───────────┘

→ Anna fährt BMW (B-AB-1234)
→ Max fährt Audi (M-CD-5678)
→ Kein Manager hat 2 Autos
→ Kein Auto gehört 2 Managern
Praxis-Tipps für AP2

  1. Eselsbrücke: "1:1 = Ein-Topf-Gericht - eine Person, ein Teller"
  2. Erkennungs-Tipp: Wenn beide Seiten "hat GENAU einen" sagen, ist es 1:1
  3. UNIQUE-Constraint: Foreign Key bei 1:1 muss UNIQUE sein!
  4. Wann NICHT 1:1? Wenn Daten zusammen abgefragt werden → eine Tabelle reicht!
  5. Typische Fehler: 1:1 mit 1:n verwechseln (bei 1:n kann "viele"-Seite mehrere haben!)

Verwandte Konzepte

graph LR
	    Auto  ---|1:1| Kennzeichen