Relationales Datenmodell: Unterschied zwischen den Versionen

Aus FI-Wiki
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Relationales Datenmodell ==
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.
Zeile 6: Zeile 4:
Das relationale Modell ist die '''Umsetzung''' der [[ERM Modellierung|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 ===
== 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 15: Zeile 13:
Jede Tabelle beschreibt eine [[ERM_Modellierung#Entitäten_(Entities)|Entität]] der realen Welt.
Jede Tabelle beschreibt eine [[ERM_Modellierung#Entitäten_(Entities)|Entität]] der realen Welt.


=== Tabellen (Relationen) ===
== Tabellen (Relationen) ==
Eine Tabelle repräsentiert eine [[ERM_Modellierung#Entitäten_(Entities)|Entität]] aus dem [[ERM Modellierung|ER-Modell]].
Eine Tabelle repräsentiert eine [[ERM_Modellierung#Entitäten_(Entities)|Entität]] aus dem [[ERM Modellierung|ER-Modell]].


Zeile 28: Zeile 26:
<br clear="all" />
<br clear="all" />


=== Primärschlüssel (Primary Key) ===
== Primärschlüssel (Primary Key) ==
Der '''Primärschlüssel''' identifiziert jeden Datensatz einer Tabelle eindeutig.
Der '''[[Primärschlüssel]]''' identifiziert jeden Datensatz einer Tabelle eindeutig.


Eigenschaften:
Eigenschaften:
Zeile 41: Zeile 39:
* produktnr
* produktnr


=== Fremdschlüssel (Foreign Key) ===
== 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 im relationalen Modell ==
Beziehungen werden nicht nur grafisch dargestellt, sondern über '''Fremdschlüssel''' realisiert.
Beziehungen werden nicht nur grafisch dargestellt, sondern über '''Fremdschlüssel''' realisiert.


==== 1 : n-Beziehung ====
=== 1 : n-Beziehung ===
Ein Datensatz der ersten Tabelle ist mit mehreren Datensätzen der zweiten Tabelle verbunden.<br>
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.'''
'''Regel: Der [[Primärschlüssel]] der 1-er Seite wird [[Fremdschlüssel]] auf der n-er Seite.'''


Beispiel:
Beispiel:
Zeile 62: Zeile 60:
<br clear="all" />
<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.


Zeile 81: Zeile 79:
* Die ursprüngliche '''m : n-Beziehung''' wird dadurch in '''zwei 1 : n-Beziehungen''' aufgeteilt.
* Die ursprüngliche '''m : n-Beziehung''' wird dadurch in '''zwei 1 : n-Beziehungen''' aufgeteilt.
* Das '''n''' liegt dabei immer auf der Seite der '''Zwischentabelle'''.
* 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.
* 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.'''
* Es gilt weiterhin die Grundregel: '''Der Primärschlüssel der 1-er Seite wird Fremdschlüssel auf der n-er Seite.'''


Zeile 88: Zeile 86:
<br clear="all" />
<br clear="all" />


=== Vorteile des relationalen Modells ===
== Vorteile des relationalen Modells ==
* klare Struktur   
* klare Struktur   
* einfache Abfragen mit SQL   
* einfache Abfragen mit SQL   
Zeile 94: Zeile 92:
* weit verbreiteter Standard   
* weit verbreiteter Standard   


=== Vom ER-Modell zum relationalen Modell ===
== 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 ===
== 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

Tabelle kunde rd
Tabelle kunde rd


Beispiel: Tabelle Bestellung

Tabelle bestellung rd
Tabelle bestellung rd


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:

RD Kunde Bestellung
RD Kunde Bestellung


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.


Bestellung produkt mn rd
Bestellung produkt mn rd


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.


Bestellung produkt zwischentabelle rd
Bestellung produkt zwischentabelle rd


Vorteile des relationalen Modells

  • klare Struktur
  • einfache Abfragen mit SQL
  • hohe Datenkonsistenz
  • weit verbreiteter Standard

Vom ER-Modell zum relationalen Modell

Merksatz

Im relationalen Modell werden Daten in Tabellen gespeichert und Beziehungen über Primär- und Fremdschlüssel realisiert.