Kardinalität
Kardinalität beschreibt in der Datenbankmodellierung die Anzahl der Instanzen einer Entität, die mit Instanzen einer anderen Entität in Beziehung stehen können. Das Konzept ist fundamental für das Design relationaler Datenbanken und beeinflusst direkt, wie Tabellen strukturiert und miteinander verknüpft werden. In der IT-Ausbildung, insbesondere für Fachinformatiker für Anwendungsentwicklung, gehört das Verständnis von Kardinalitäten zum unverzichtbaren Grundwissen.
Grundkonzept der Kardinalität
Die Krähenfußnotation verwendet grafische Symbole und ist in modernen Datenbank-Tools wie Microsoft Visio weit verbreitet:
- | (Strich) = genau eins
- O (Ring) = null (optional)
- < (Krähenfuß) = viele
Die Symbole werden kombiniert: Ein Ring mit Krähenfuß bedeutet "null bis viele", ein Strich mit Krähenfuß bedeutet "mindestens eins bis viele".
Kardinalität im ER-Modell
Im Entity-Relationship-Modell werden Beziehungen durch Rauten dargestellt, die Entitäten (Rechtecke) verbinden. Die Kardinalitäten werden an den Verbindungslinien notiert.
Ein wichtiges Konzept ist die Unterscheidung zwischen starken und schwachen Entitäten:
- Starke Entitäten existieren unabhängig und haben einen eigenen Primärschlüssel
- Schwache Entitäten sind existenzabhängig von einer anderen Entität und benötigen deren Schlüssel zur eindeutigen Identifikation
Beispiel: Eine Buchseite (schwache Entität) kann nicht ohne das zugehörige Buch (starke Entität) identifiziert werden.
Kardinalität in UML
In UML-Klassendiagrammen gibt es eine wichtige Unterscheidung: Multiplizität beschreibt die mögliche Anzahl von Verknüpfungen, während Kardinalität die tatsächliche Anzahl meint.
Beispiel: Ein Fahrzeug allgemein kann 1..* Räder haben (Multiplizität). Ein konkretes Auto hat genau 4 Räder (Kardinalität).
Die häufigsten Multiplizitätsangaben in UML sind:
- 1 = genau eins
- 0..1 = keins oder eins (optional)
- ***** = keins, eins oder mehrere (beliebig viele)
- **1..*** = mindestens eins bis beliebig viele
Praktische Umsetzung mit SQL
Die Kardinalität beeinflusst direkt die Struktur deiner SQL-Tabellen:
-- 1:n-Beziehung: Fremdschlüssel auf der n-Seite
CREATE TABLE abteilung (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
CREATE TABLE mitarbeiter (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
abteilung_id INT NOT NULL,
FOREIGN KEY (abteilung_id) REFERENCES abteilung(id)
);
-- n:m-Beziehung: Zwischentabelle erforderlich
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
CREATE TABLE kurs (
id INT PRIMARY KEY,
bezeichnung VARCHAR(100) NOT NULL
);
CREATE TABLE student_kurs (
student_id INT,
kurs_id INT,
semester VARCHAR(20),
PRIMARY KEY (student_id, kurs_id),
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (kurs_id) REFERENCES kurs(id)
);
Kardinalität und Normalisierung
Die korrekte Modellierung von Kardinalitäten ist eng mit der Normalisierung verknüpft. Wenn n:m-Beziehungen nicht durch Zwischentabellen aufgelöst werden, entstehen Redundanzen und damit Anomalien bei der Datenmanipulation.
Zusammenhang mit Normalformen:
- Die Auflösung von n:m-Beziehungen in Zwischentabellen folgt den Prinzipien der Normalisierung
- Korrekte Kardinalitäten verhindern Update-, Insert- und Delete-Anomalien
- Die Platzierung von Fremdschlüsseln hängt direkt von der Kardinalität ab
Kardinalität in der IT-Ausbildung
Das Verständnis von Kardinalitäten ist ein zentrales Prüfungsthema sowohl in der Berufsschule als auch in der IHK-Abschlussprüfung. Typische Aufgaben umfassen:
- Erkennen von Kardinalitäten in Textbeschreibungen
- Erstellen von ER-Diagrammen mit korrekten Kardinalitäten
- Umwandlung von ER-Modellen in relationale Tabellen
- Identifikation der richtigen Platzierung von Fremdschlüsseln
Für Fachinformatiker für Anwendungsentwicklung und Fachinformatiker für Daten- und Prozessanalyse ist dieses Wissen besonders relevant, da es die Grundlage für professionelles Datenbankdesign bildet.
Quellen und weiterführende Links
- Kardinalität (Datenbankmodellierung) – Wikipedia
- Min-Max-Notation – Wikipedia
- Beziehungstypen – Hochschule Augsburg Glossar
- ER-Modell erklärt – Studyflix
- Kardinalität – inf-schule
- 1 = genau eins
- N oder M = viele (beliebig viele)
Beispiel: Abteilung ——(1)——arbeitet_in——(N)—— Mitarbeiter
Vorteil: Einfach und intuitiv. Nachteil: Kann nicht ausdrücken, ob eine Beziehung optional oder obligatorisch ist.
Min-Max-Notation
Die Min-Max-Notation (auch (min,max)-Notation) ist ausdrucksstärker. Sie verwendet ein Wertepaar (a,b), wobei a das Minimum und b das Maximum angibt:
- (0,1) = optional, maximal eins
- (1,1) = obligatorisch, genau eins
- (0,n) = optional, beliebig viele
- (1,n) = obligatorisch, mindestens eins
Beispiel: Mitarbeiter ——(1,1)——arbeitet_in——(0,n)—— Abteilung
Bedeutung: Jeder Mitarbeiter arbeitet in genau einer Abteilung (1,1). Eine Abteilung kann keinen oder viele Mitarbeiter haben (0,n).