ERM Modellierung: Unterschied zwischen den Versionen

Aus FI-Wiki
Die Seite wurde neu angelegt: „Alles klar! Ab jetzt lasse ich den Fettdruck in den Überschriften weg und nutze nur noch die MediaWiki-Formatierung mit `==` und `===` wie gewünscht. Hier ist die überarbeitete Version der **ERM-Modellierung für relationale Datenbanken** im gewünschten Stil: --- == ERM-Modellierung für relationale Datenbanken == Die Entity-Relationship-Modellierung (ERM) dient der strukturierten Planung von Datenbankstrukturen. Sie beschreibt, welche Objekte (Ent…“
 
Keine Bearbeitungszusammenfassung
 
(65 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Alles klar! Ab jetzt lasse ich den Fettdruck in den Überschriften weg und nutze nur noch die MediaWiki-Formatierung mit `==` und `===` wie gewünscht. Hier ist die überarbeitete Version der **ERM-Modellierung für relationale Datenbanken** im gewünschten Stil:
Die '''Entity-Relationship-Modellierung (ERM)''' dient der strukturierten Planung von Datenbankstrukturen. Sie beschreibt, welche Objekte (Entitäten) existieren, welche Eigenschaften (Attribute) sie haben und wie sie zueinander in Beziehung stehen.


---
== Entitäten (Entities) ==   
 
== ERM-Modellierung für relationale Datenbanken ==
 
Die Entity-Relationship-Modellierung (ERM) dient der strukturierten Planung von Datenbankstrukturen. Sie beschreibt, welche Objekte (Entitäten) existieren, welche Eigenschaften (Attribute) sie haben und wie sie zueinander in Beziehung stehen.
 
=== 1. Entitäten (Entities) ===   
Eine Entität ist ein Objekt der realen Welt, das in der Datenbank gespeichert wird.
Eine Entität ist ein Objekt der realen Welt, das in der Datenbank gespeichert wird.


Zeile 15: Zeile 9:
* Bestellung   
* Bestellung   


Im ER-Diagramm als Rechteck dargestellt.
'''Im ER-Diagramm als Rechteck dargestellt:
'''[[Datei:Entitaet.png|rahmenlos|upright=2|links|alternativtext=Entität|Entität]]
<br clear="all" />


=== 2. Attribute ===   
== Attribute ==   
Attribute beschreiben die Eigenschaften einer Entität.
Attribute beschreiben die Eigenschaften einer Entität.


Zeile 25: Zeile 21:
* email   
* email   


Primärschlüssel (Primary Key) identifizieren Entitäten eindeutig und werden oft unterstrichen.   
[[Primärschlüssel]] (Primary Key) identifizieren Entitäten eindeutig und werden oft unterstrichen.   
Fremdschlüssel (Foreign Key) stellen Verbindungen zu anderen Entitäten her.
[[Fremdschlüssel]] (Foreign Key) stellen Verbindungen zu anderen Entitäten her.


=== 3. Beziehungen (Relationships) ===   
'''Im ER-Diagramm als Elipse abgebildet:'''
Beschreiben die Verbindung zwischen zwei oder mehr Entitäten.
[[Datei:Attribut.png|rahmenlos|links|alternativtext=Attribut|Attribut]]
<br clear="all" />
 
== Beziehungen (Relationships) ==   
Beschreiben die Verbindung zwischen zwei Entitäten.


Beispiel:
Beispiel:
Zeile 35: Zeile 35:
* Eine Bestellung enthält mehrere Produkte   
* Eine Bestellung enthält mehrere Produkte   


Im Diagramm als Raute zwischen den Entitäten dargestellt.
'''Im ER-Diagramm als Raute zwischen den Entitäten dargestellt:'''
[[Datei:Beziehungen.png|rahmenlos|links|alternativtext=Beziehungen|Beziehungen]]
<br clear="all" />


=== 4. Kardinalitäten ==
== Kardinalitäten ==  
Geben an, wie viele Entitäten an einer Beziehung beteiligt sein können.
Geben an, wie viele Entitäten an einer Beziehung beteiligt sein können.


Beispiele:
Beispiele:
* 1:1 – Ein Personalausweis gehört zu genau einem Bürger   
* '''1 : 1''' – Ein Personalausweis gehört zu genau einem Bürger   
* 1:n – Ein Kunde kann mehrere Bestellungen aufgeben   
* '''1 : n''' – Ein Kunde kann mehrere Bestellungen aufgeben   
* n:m – Ein Produkt kann in mehreren Bestellungen enthalten sein und umgekehrt
* '''n : m''' – Ein Produkt kann in mehreren Bestellungen enthalten sein und umgekehrt
 
'''Im ER-Diagramm:
'''
[[Datei:Kardinalitaeten.png|rahmenlos|links|alternativtext=Kardinalitäten|Kardinalitäten]]
<br clear="all" />
 
== Beispiel: Kunde – Bestellung (1 : n) ==
 
* '''Entitäten:''' Kunde, Bestellung 
* '''Beziehung:''' gibt auf
* '''Kardinalität:''' 1 : n
 
=== Entitäten mit Attributen ===
 
'''Kunde'''
 
* kundennr (PK)
* name
* email
 
'''Bestellung'''
 
* bestellnr (PK)
* datum
* gesamtbetrag
* kundennr (FK → Kunde)
 
=== Beziehung ===
 
Beziehung zwischen Kunde – Bestellung: '''gibt auf'''
 
Kardinalität: '''1 : n''' (Ein Kunde kann viele Bestellungen aufgeben, aber eine Bestellung gehört zu genau einem Kunden)
 
=== Grafische Darstellung des ER-Modells ===
 
[[Datei:Erd kunde bestellung.png|rahmenlos|upright=3|links|alternativtext=ERD Kunde Bestellung|ERD Kunde Bestellung]]
<br clear="all" />
 
'''Merksatz: Der [[Primärschlüssel]] der 1-er Seite wird [[Fremdschlüssel]] auf der n-er Seite!'''
 
== Beispiel: Bestellung – Produkt (m : n) ==
 
* '''Entitäten:''' Bestellung, Produkt 
* '''Beziehung:''' besteht aus
* '''Kardinalität:''' m : n
 
=== Entitäten mit Attributen ===
 
'''Bestellung'''
 
* bestellnr ([[Primärschlüssel|PK]])
* datum
* gesamtbetrag
* kundennr (FK → Kunde)
 
'''Produkt'''


=== 5. Von ER-Modell zum relationalen Modell ===
* produktnr ([[Primärschlüssel|PK]])
* name
* preis


Bei der Überführung ins relationale Modell:
=== Beziehung ===
* Jede Entität → eigene Tabelle 
* Jedes Attribut → Spalte in der Tabelle 
* Beziehungen → über Fremdschlüssel realisiert 
* n:m-Beziehungen → eigene Zwischentabelle notwendig


=== Beispiel: Kunde – Bestellung ===
Beziehung zwischen Bestellung – Produkt: '''besteht aus'''


ER-Modell:
Kardinalität: '''m : n''' (Eine Bestellung kann aus vielen Produkten bestehen. Ein Produkt kann in mehreren Bestellungen sein.)
* Entitäten: Kunde, Bestellung
* Beziehung: gibt auf


Relationales Modell:
=== Grafische Darstellung des ER-Modells ===


<syntaxhighlight lang="sql">
[[Datei:Bestellung produkt mn erd.png|rahmenlos|upright=3|links|alternativtext=Bestellung produkt mn erd|Bestellung produkt mn erd]]
Kunde(kundennr PRIMARY KEY, name, email)
<br clear="all" />


Bestellung(bestellnr PRIMARY KEY, datum, kundennr FOREIGN KEY)
== Vom ER-Modell zum relationalen Modell ==
</syntaxhighlight>


---
Bei der Überführung ins [[Relationales Datenmodell|relationale Modell]]:
* Jede Entität → eigene Tabelle 
* Jedes Attribut → Spalte in der Tabelle 
* Beziehungen → über [[Fremdschlüssel]] realisiert 
* n : m-Beziehungen → eigene Zwischentabelle notwendig


Wenn du möchtest, kann ich als Nächstes die **Normalformen**, ein Beispiel für ein vollständiges ER-Diagramm, oder SQL-Code zum Umsetzen eines Modells zeigen. Sag einfach Bescheid!
[[Kategorie:Datenbanken]]

Aktuelle Version vom 5. Januar 2026, 15:29 Uhr

Die Entity-Relationship-Modellierung (ERM) dient der strukturierten Planung von Datenbankstrukturen. Sie beschreibt, welche Objekte (Entitäten) existieren, welche Eigenschaften (Attribute) sie haben und wie sie zueinander in Beziehung stehen.

Entitäten (Entities)

Eine Entität ist ein Objekt der realen Welt, das in der Datenbank gespeichert wird.

Beispiele:

  • Kunde
  • Produkt
  • Bestellung

Im ER-Diagramm als Rechteck dargestellt:

Entität
Entität


Attribute

Attribute beschreiben die Eigenschaften einer Entität.

Beispiel für Entität „Kunde“:

  • kundennummer
  • name
  • email

Primärschlüssel (Primary Key) identifizieren Entitäten eindeutig und werden oft unterstrichen. Fremdschlüssel (Foreign Key) stellen Verbindungen zu anderen Entitäten her.

Im ER-Diagramm als Elipse abgebildet:

Attribut
Attribut


Beziehungen (Relationships)

Beschreiben die Verbindung zwischen zwei Entitäten.

Beispiel:

  • Ein Kunde gibt eine Bestellung auf
  • Eine Bestellung enthält mehrere Produkte

Im ER-Diagramm als Raute zwischen den Entitäten dargestellt:

Beziehungen
Beziehungen


Kardinalitäten

Geben an, wie viele Entitäten an einer Beziehung beteiligt sein können.

Beispiele:

  • 1 : 1 – Ein Personalausweis gehört zu genau einem Bürger
  • 1 : n – Ein Kunde kann mehrere Bestellungen aufgeben
  • n : m – Ein Produkt kann in mehreren Bestellungen enthalten sein und umgekehrt

Im ER-Diagramm:

Kardinalitäten
Kardinalitäten


Beispiel: Kunde – Bestellung (1 : n)

  • Entitäten: Kunde, Bestellung
  • Beziehung: gibt auf
  • Kardinalität: 1 : n

Entitäten mit Attributen

Kunde

  • kundennr (PK)
  • name
  • email

Bestellung

  • bestellnr (PK)
  • datum
  • gesamtbetrag
  • kundennr (FK → Kunde)

Beziehung

Beziehung zwischen Kunde – Bestellung: gibt auf

Kardinalität: 1 : n (Ein Kunde kann viele Bestellungen aufgeben, aber eine Bestellung gehört zu genau einem Kunden)

Grafische Darstellung des ER-Modells

ERD Kunde Bestellung
ERD Kunde Bestellung


Merksatz: Der Primärschlüssel der 1-er Seite wird Fremdschlüssel auf der n-er Seite!

Beispiel: Bestellung – Produkt (m : n)

  • Entitäten: Bestellung, Produkt
  • Beziehung: besteht aus
  • Kardinalität: m : n

Entitäten mit Attributen

Bestellung

  • bestellnr (PK)
  • datum
  • gesamtbetrag
  • kundennr (FK → Kunde)

Produkt

  • produktnr (PK)
  • name
  • preis

Beziehung

Beziehung zwischen Bestellung – Produkt: besteht aus

Kardinalität: m : n (Eine Bestellung kann aus vielen Produkten bestehen. Ein Produkt kann in mehreren Bestellungen sein.)

Grafische Darstellung des ER-Modells

Bestellung produkt mn erd
Bestellung produkt mn erd


Vom ER-Modell zum relationalen Modell

Bei der Überführung ins relationale Modell:

  • Jede Entität → eigene Tabelle
  • Jedes Attribut → Spalte in der Tabelle
  • Beziehungen → über Fremdschlüssel realisiert
  • n : m-Beziehungen → eigene Zwischentabelle notwendig