Relationales Datenmodell: Unterschied zwischen den Versionen
| (38 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Das '''relationale Datenmodell''' ist das grundlegende Modell moderner relationaler Datenbanken. | Das '''relationale Datenmodell''' ist das grundlegende Modell moderner relationaler Datenbanken. | ||
Es beschreibt, wie Daten in '''Tabellen (Relationen)''' organisiert, gespeichert und miteinander verknüpft werden. | Es beschreibt, wie Daten in '''Tabellen (Relationen)''' organisiert, gespeichert und miteinander verknüpft werden. | ||
Das relationale Modell ist die '''Umsetzung''' der [[ER-Modellierung]] in eine technisch speicherbare Form. | Das relationale Modell ist die '''Umsetzung''' der [[ERM Modellierung|ER-Modellierung]] in eine technisch speicherbare Form. | ||
== Grundidee des relationalen Modells == | |||
Daten werden in Tabellen gespeichert, die aus: | Daten werden in Tabellen gespeichert, die aus: | ||
* '''Zeilen''' (Datensätze / Tupel) | * '''Zeilen''' (Datensätze / Tupel) | ||
| Zeile 13: | Zeile 11: | ||
bestehen. | bestehen. | ||
Jede Tabelle beschreibt eine Entität der realen Welt. | Jede Tabelle beschreibt eine [[ERM_Modellierung#Entitäten_(Entities)|Entität]] der realen Welt. | ||
== Tabellen (Relationen) == | |||
Eine Tabelle repräsentiert eine Entität aus dem ER-Modell. | Eine Tabelle repräsentiert eine [[ERM_Modellierung#Entitäten_(Entities)|Entität]] aus dem [[ERM Modellierung|ER-Modell]]. | ||
Beispiel: Tabelle '''Kunde''' | Beispiel: Tabelle '''Kunde''' | ||
[[Datei:Tbl kunde rd.png|rahmenlos|links|alternativtext=Tabelle kunde rd|Tabelle kunde rd]] | |||
<br clear="all" /> | |||
| | |||
| | |||
Beispiel: Tabelle '''Bestellung''' | |||
=== Primärschlüssel (Primary Key) | [[Datei:Tbl bestellung rd.png|rahmenlos|links|alternativtext=Tabelle bestellung rd|Tabelle bestellung rd]] | ||
Der '''Primärschlüssel''' identifiziert jeden Datensatz einer Tabelle eindeutig. | <br clear="all" /> | ||
== Primärschlüssel (Primary Key) == | |||
Der '''[[Primärschlüssel]]''' identifiziert jeden Datensatz einer Tabelle eindeutig. | |||
Eigenschaften: | Eigenschaften: | ||
| Zeile 44: | Zeile 39: | ||
* produktnr | * produktnr | ||
== Fremdschlüssel (Foreign Key) == | |||
Ein '''Fremdschlüssel''' stellt die Verbindung zwischen zwei Tabellen her. | Ein '''[[Fremdschlüssel]]''' stellt die Verbindung zwischen zwei Tabellen her. | ||
Er verweist auf den Primärschlüssel einer anderen Tabelle. | Er verweist auf den [[Primärschlüssel]] einer anderen Tabelle. | ||
Beispiel: | Beispiel: | ||
* kundennr in der Tabelle '''Bestellung''' verweist auf '''Kunde''' | * kundennr in der Tabelle '''Bestellung''' verweist auf '''Kunde''' | ||
== Beziehungen im relationalen Modell == | |||
Beziehungen werden nicht grafisch dargestellt, sondern über '''Fremdschlüssel''' realisiert. | Beziehungen werden nicht nur grafisch dargestellt, sondern über '''Fremdschlüssel''' realisiert. | ||
=== 1 : n-Beziehung === | |||
Ein Datensatz der ersten Tabelle ist mit mehreren Datensätzen der zweiten Tabelle verbunden. | Ein Datensatz der ersten Tabelle ist mit mehreren Datensätzen der zweiten Tabelle verbunden.<br> | ||
'''Regel: Der [[Primärschlüssel]] der 1-er Seite wird [[Fremdschlüssel]] auf der n-er Seite.''' | |||
Beispiel: | Beispiel: | ||
* Ein Kunde → viele Bestellungen | * Ein Kunde → viele Bestellungen | ||
''' | '''Grafische Darstellung:''' | ||
[[Datei:RD kunde bestellung.png|rahmenlos|upright=3|links|alternativtext=RD Kunde Bestellung|RD Kunde Bestellung]] | |||
<br clear="all" /> | |||
=== n : m-Beziehung === | === n : m-Beziehung === | ||
n : m-Beziehungen werden durch eine '''Zwischentabelle''' aufgelöst. | n : m-Beziehungen werden durch eine '''Zwischentabelle''' aufgelöst. | ||
Beispiel: | '''Beispiel:''' | ||
* Bestellung – Produkt | * Bestellung – Produkt (Eine Bestellung kann mehrere Produkte enthalten, und ein Produkt kann in mehreren Bestellungen enthalten sein.) | ||
'''zwischen Bestellung und Produkt besteht eine m : n Beziehung:''' | |||
* Eine n : m-Beziehung ist im relationalen Modell nicht direkt darstellbar und wird technisch über eine Zwischentabelle abgebildet. | |||
=== | [[Datei:Bestellung produkt mn rd.png|rahmenlos|upright=3|links|alternativtext=Bestellung produkt mn rd|Bestellung produkt mn rd]] | ||
<br clear="all" /> | |||
''' | '''Diese Beziehung muss mit Hilfe einer Zwischentabelle aufgelöst werden:''' | ||
''' | * Eine '''Zwischentabelle''' wird erstellt. | ||
* | * Die ursprüngliche '''m : n-Beziehung''' wird dadurch in '''zwei 1 : n-Beziehungen''' aufgeteilt. | ||
* | * Das '''n''' liegt dabei immer auf der Seite der '''Zwischentabelle'''. | ||
* | * Die '''[[Primärschlüssel]] (PK)''' der beiden ursprünglichen Tabellen werden als '''[[Fremdschlüssel]] (FK)''' in der Zwischentabelle gespeichert. | ||
* Es gilt weiterhin die Grundregel: '''Der Primärschlüssel der 1-er Seite wird Fremdschlüssel auf der n-er Seite.''' | |||
=== | [[Datei:Bestellung produkt zwischentabelle rd.png|rahmenlos|upright=3|links|alternativtext=Bestellung produkt zwischentabelle rd|Bestellung produkt zwischentabelle rd]] | ||
<br clear="all" /> | |||
== Vorteile des relationalen Modells == | |||
* klare Struktur | * klare Struktur | ||
* einfache Abfragen mit SQL | * einfache Abfragen mit SQL | ||
| Zeile 105: | Zeile 92: | ||
* weit verbreiteter Standard | * weit verbreiteter Standard | ||
== Vom ER-Modell zum relationalen Modell == | |||
* Entität → Tabelle | * Entität → Tabelle | ||
* Attribut → Spalte | * Attribut → Spalte | ||
* Primärschlüssel → eindeutige Identifikation | * [[Primärschlüssel]] → eindeutige Identifikation | ||
* Beziehung → Fremdschlüssel | * Beziehung → [[Fremdschlüssel]] | ||
* n:m → zusätzliche Zwischentabelle | * n:m → zusätzliche Zwischentabelle | ||
== Merksatz == | |||
'''Im relationalen Modell werden Daten in Tabellen gespeichert und Beziehungen über Primär- und Fremdschlüssel realisiert.''' | '''Im relationalen Modell werden Daten in Tabellen gespeichert und Beziehungen über Primär- und Fremdschlüssel realisiert.''' | ||
[[Kategorie:Datenbanken]] | [[Kategorie:Datenbanken]] | ||
Aktuelle Version vom 5. Januar 2026, 15:30 Uhr
Das relationale Datenmodell ist das grundlegende Modell moderner relationaler Datenbanken. Es beschreibt, wie Daten in Tabellen (Relationen) organisiert, gespeichert und miteinander verknüpft werden.
Das relationale Modell ist die Umsetzung der ER-Modellierung in eine technisch speicherbare Form.
Grundidee des relationalen Modells
Daten werden in Tabellen gespeichert, die aus:
- Zeilen (Datensätze / Tupel)
- Spalten (Attribute)
bestehen.
Jede Tabelle beschreibt eine Entität der realen Welt.
Tabellen (Relationen)
Eine Tabelle repräsentiert eine Entität aus dem ER-Modell.
Beispiel: Tabelle Kunde

Beispiel: Tabelle Bestellung

Primärschlüssel (Primary Key)
Der Primärschlüssel identifiziert jeden Datensatz einer Tabelle eindeutig.
Eigenschaften:
- eindeutig
- nicht NULL
- unveränderlich
Beispiel:
- kundennr
- bestellnr
- produktnr
Fremdschlüssel (Foreign Key)
Ein Fremdschlüssel stellt die Verbindung zwischen zwei Tabellen her. Er verweist auf den Primärschlüssel einer anderen Tabelle.
Beispiel:
- kundennr in der Tabelle Bestellung verweist auf Kunde
Beziehungen im relationalen Modell
Beziehungen werden nicht nur grafisch dargestellt, sondern über Fremdschlüssel realisiert.
1 : n-Beziehung
Ein Datensatz der ersten Tabelle ist mit mehreren Datensätzen der zweiten Tabelle verbunden.
Regel: Der Primärschlüssel der 1-er Seite wird Fremdschlüssel auf der n-er Seite.
Beispiel:
- Ein Kunde → viele Bestellungen
Grafische Darstellung:

n : m-Beziehung
n : m-Beziehungen werden durch eine Zwischentabelle aufgelöst.
Beispiel:
- Bestellung – Produkt (Eine Bestellung kann mehrere Produkte enthalten, und ein Produkt kann in mehreren Bestellungen enthalten sein.)
zwischen Bestellung und Produkt besteht eine m : n Beziehung:
- Eine n : m-Beziehung ist im relationalen Modell nicht direkt darstellbar und wird technisch über eine Zwischentabelle abgebildet.

Diese Beziehung muss mit Hilfe einer Zwischentabelle aufgelöst werden:
- Eine Zwischentabelle wird erstellt.
- Die ursprüngliche m : n-Beziehung wird dadurch in zwei 1 : n-Beziehungen aufgeteilt.
- Das n liegt dabei immer auf der Seite der Zwischentabelle.
- Die Primärschlüssel (PK) der beiden ursprünglichen Tabellen werden als Fremdschlüssel (FK) in der Zwischentabelle gespeichert.
- Es gilt weiterhin die Grundregel: Der Primärschlüssel der 1-er Seite wird Fremdschlüssel auf der n-er Seite.

Vorteile des relationalen Modells
- klare Struktur
- einfache Abfragen mit SQL
- hohe Datenkonsistenz
- weit verbreiteter Standard
Vom ER-Modell zum relationalen Modell
- Entität → Tabelle
- Attribut → Spalte
- Primärschlüssel → eindeutige Identifikation
- Beziehung → Fremdschlüssel
- n:m → zusätzliche Zwischentabelle
Merksatz
Im relationalen Modell werden Daten in Tabellen gespeichert und Beziehungen über Primär- und Fremdschlüssel realisiert.
