Benutzer-Werkzeuge

Webseiten-Werkzeuge


datenbanken:relational:rel

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
datenbanken:relational:rel [2020/05/05 08:42] – [Beispiele zu relationalen Modellierung] lutzdatenbanken:relational:rel [2023/11/06 14:05] (aktuell) – [Beispiele zu relationalen Modellierung] lutz
Zeile 91: Zeile 91:
   - Bei einer **1-1-Relation** erscheint der Primärschlüssel der einen Entitätsmenge als Fremdschlüssel in der Tabelle der anderen Entitätsmenge. Wenn die Relation zusätzlich ein Attribut (mehrere Attribute) enthält, so erscheint dieses (oder diese) in der Tabelle mit dem Fremdschlüssel.     - Bei einer **1-1-Relation** erscheint der Primärschlüssel der einen Entitätsmenge als Fremdschlüssel in der Tabelle der anderen Entitätsmenge. Wenn die Relation zusätzlich ein Attribut (mehrere Attribute) enthält, so erscheint dieses (oder diese) in der Tabelle mit dem Fremdschlüssel.  
   - Bei einer **n-1-Relation** erscheint der Primärschlüssel der Seite 1 als Fremdschlüssel in der Tabelle der Seite n. Wenn die Relation zusätzlich ein Attribut (mehrere Attribute) enthält, so erscheint dieses (oder diese) in der Tabelle der Seite n.     - Bei einer **n-1-Relation** erscheint der Primärschlüssel der Seite 1 als Fremdschlüssel in der Tabelle der Seite n. Wenn die Relation zusätzlich ein Attribut (mehrere Attribute) enthält, so erscheint dieses (oder diese) in der Tabelle der Seite n.  
-  - Bei einer **n-m-Relation**  wird eine zusätzliche Tabelle gebildet, die die beiden Primärschlüssel als Fremdschlüssel enthält. Die Kombination aus den den beiden Fremdschlüsseln bildet den Primärschlüssel, alternativ kann ein eigener Primärschlüssel eingeführt werden. +  - Bei einer **n-m-Relation**  wird eine zusätzliche Tabelle gebildet, die die beiden Primärschlüssel als Fremdschlüssel enthält. Die Kombination aus den den beiden Fremdschlüsseln bildet den Primärschlüssel, alternativ kann ein eigener Primärschlüssel eingeführt werden. Wenn die Relation zusätzlich ein Attribut (mehrere Attribute) enthält, so erscheint dieses (oder diese) in der neuen Tabelle.
 </WRAP> </WRAP>
  
Zeile 118: Zeile 118:
 In diesem ER-Diagramm treten die Entitätsmengen Schüler, Kurs und Lehrer auf. Wir bilden wieder nach Regel 1 die entsprechenden Tabellen und lassen diese offen: In diesem ER-Diagramm treten die Entitätsmengen Schüler, Kurs und Lehrer auf. Wir bilden wieder nach Regel 1 die entsprechenden Tabellen und lassen diese offen:
  
-$\text{Schüler}\left(\underline{\text{schnr}},\text{stufe }\right.$ \\+$\text{Schüler}\left(\underline{\text{schnr}},\text{stufe },\text{name }\right.$ \\
 $\text{Kurs}\left(\underline{\text{kursnr}},\text{fach, art, bezeichnung }\right.$ \\ $\text{Kurs}\left(\underline{\text{kursnr}},\text{fach, art, bezeichnung }\right.$ \\
 $\text{Lehrer}\left(\underline{\text{kürzel}},\text{name, fächer }\right.$ \\ $\text{Lehrer}\left(\underline{\text{kürzel}},\text{name, fächer }\right.$ \\
Zeile 124: Zeile 124:
 Zwischen Kurs und Schüler besteht die Relation "belegt". Hier handelt es sich um eine n-m-Relation mit Attribut, also kommt Regel 4 zur Anwendung. Wir bilden also eine neue Tabelle, die die beiden Primärschlüssel als Fremdschlüssel, und das Attribut der Relation enthält. Die Kombination aus beiden Fremdschlüsseln bildet den Primärschlüssel der Tabelle "belegt". Alternativ könnte man einen Extra-Primärschlüssel (belnr) einführen. Zwischen Kurs und Schüler besteht die Relation "belegt". Hier handelt es sich um eine n-m-Relation mit Attribut, also kommt Regel 4 zur Anwendung. Wir bilden also eine neue Tabelle, die die beiden Primärschlüssel als Fremdschlüssel, und das Attribut der Relation enthält. Die Kombination aus beiden Fremdschlüsseln bildet den Primärschlüssel der Tabelle "belegt". Alternativ könnte man einen Extra-Primärschlüssel (belnr) einführen.
  
-$\text{Schüler}\left(\underline{\text{schnr}},\text{stufe }\right.$ \\+$\text{Schüler}\left(\underline{\text{schnr}},\text{stufe },\text{name }\right.$ \\
 $\text{Kurs}\left(\underline{\text{kursnr}},\text{fach, art, bezeichnung }\right.$ \\ $\text{Kurs}\left(\underline{\text{kursnr}},\text{fach, art, bezeichnung }\right.$ \\
 $\text{Lehrer}\left(\underline{\text{kürzel}},\text{name, fächer }\right.$ \\ $\text{Lehrer}\left(\underline{\text{kürzel}},\text{name, fächer }\right.$ \\
-$\text{belegt}\left(\underline{\overline{\text{schnr}},\overline{\text{kursnr}}},\text{noten }\right)$ oder $\text{belegt}\left(\underline{belnr},\overline{\text{schnr}},\overline{\text{kursnr}},\text{noten }\right)$ \\+$\text{belegt}\left(\underline{\overline{\text{schnr}},\overline{\text{kursnr}}},\text{noten }\right)$ oder $\text{belegt}\left(\underline{\text{belnr}},\overline{\text{schnr}},\overline{\text{kursnr}},\text{noten }\right)$ \\ 
 + 
 +Zwischen Schüler und Lehrer besteht die n-1-Relation "ist Tutor". Hier kommt Regel 3 zur Anwendung und der Primärschlüssel der Tabelle Lehrer erscheint als Fremdschlüssel in der Tabelle Schüler. Da alle mit der Tabelle Schüler verbundenen Relationen bearbeitet sind, kann diese jetzt geschlossen werden. 
 + 
 +$\text{Schüler}\left(\underline{\text{schnr}},\text{stufe},\text{name }, \overline{\text{kürzel}}\right)$ \\ 
 +$\text{Kurs}\left(\underline{\text{kursnr}},\text{fach, art, bezeichnung }\right.$ \\ 
 +$\text{Lehrer}\left(\underline{\text{kürzel}},\text{name, fächer }\right.$ \\ 
 +$\text{belegt}\left(\underline{\overline{\text{schnr}},\overline{\text{kursnr}}},\text{noten }\right)$ oder $\text{belegt}\left(\underline{\text{belnr}},\overline{\text{schnr}},\overline{\text{kursnr}},\text{noten }\right)$ \\ 
 + 
 + 
 +Zwischen Lehrer und Kurs besteht die 1-n-Relation "unterrichtet". Auch hier kommt Regel 3 zur Anwendung und der Primärschlüssel der Tabelle Lehrer erscheint als Fremdschlüssel in der Tabelle Kurs. Damit sind alle Relationen bearbeitet und die restlichen Tabellen können geschlossen werden. Wir sind also fertig. 
 + 
 + 
 +$\text{Schüler}\left(\underline{\text{schnr}},\text{stufe},\text{name }, \overline{\text{kürzel}}\right)$ \\ 
 +$\text{Kurs}\left(\underline{\text{kursnr}},\text{fach, art, bezeichnung},  \overline{\text{kürzel}}\right)$ \\ 
 +$\text{Lehrer}\left(\underline{\text{kürzel}},\text{name, fächer }\right)$ \\ 
 +$\text{belegt}\left(\underline{\overline{\text{schnr}},\overline{\text{kursnr}}},\text{noten }\right)$ oder $\text{belegt}\left(\underline{\text{belnr}},\overline{\text{schnr}},\overline{\text{kursnr}},\text{noten }\right)$ \\ 
 + 
 +===== Erklärvideo ===== 
 + 
 +Im folgenden Video werden die Inhalte dieser Seite nochmal erklärt. 
 + 
 +{{youtube>zB4ZBbQDMDU}} 
 + 
 + 
 +\\ 
 +===== Aufgaben ===== 
 + 
 +Überführe die folgenden ER-Diagramme in das relationale Modell (Leite die Tabellen ab!) 
 + 
 +**Aufgabe 1** 
 + 
 +{{ :datenbanken:relational:loesung-er-1.png?direct&600 |}} 
 + 
 +**Aufgabe 2** 
 + 
 +{{ :datenbanken:relational:loesung-er-2.png?direct&600 |}} 
 + 
 +[[datenbanken:relational:loesungtabellen|>> Lösungen]] 
 + 
 + 
 +[[datenbanken:sql|>> Auswertung der Datenbasis - SQL]]
datenbanken/relational/rel.1588660936.txt.gz · Zuletzt geändert: 2020/05/05 08:42 von lutz