Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
q2:das_relationenmodell [2017/07/14 16:57] – angelegt admin03 | q2:das_relationenmodell [2017/07/14 18:54] (aktuell) – admin03 | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Im letzten Theorieteil wurde das ER-Modell als Hilfsmittel zum Erstellen einer Abstraktion der Realität vorgestellt und an Beispielen erläutert. Leider lassen sich so erstellte Konzepte nicht so ohne weiteres auf einem Rechner implementieren. Die klassischen DBMS-Systeme, | Im letzten Theorieteil wurde das ER-Modell als Hilfsmittel zum Erstellen einer Abstraktion der Realität vorgestellt und an Beispielen erläutert. Leider lassen sich so erstellte Konzepte nicht so ohne weiteres auf einem Rechner implementieren. Die klassischen DBMS-Systeme, | ||
- | ===== Grundregel | + | Eine Relationale Datenbank besteht aus einer oder mehreren Tabellen (zweidimensionalen Feldern in der Sprache der Informatik), |
+ | |||
+ | ^Kurs-Nummer^Kurs-Thema^Jahrgangsstufe^Typ^ | ||
+ | |11| Mechanik I|E1 |GK| | ||
+ | |12| Mechanik I|E1 |GK| | ||
+ | |3| Datenbanken|Q2 |GK| | ||
+ | |25| Short Stories|Q1| LK| | ||
+ | |||
+ | Dabei wird einschränkend vorausgesetzt, | ||
+ | |||
+ | Jedes Attribut in einer Tabelle besitzt einen bestimmten vorbestimmten Wertebereich, | ||
+ | |||
+ | Wie im ER-Modell definiert man Schlüssel. Ein Attribut oder eine Kombination von Attributen ist dann ein Schlüssel, wenn es keine zwei Entities in der Tabelle mit denselben Werten der Kombination gibt. Einer davon wird als Primärschlüssel ausgewählt. Mit Hilfe solcher Schlüssel werden Beziehungen zwischen verschiedenen Tabellen hergestellt. So könnten wir unsere Tabelle für Kurse um das Attribut Lehrer-Nr. er¬weitern, | ||
+ | |||
+ | ^Lehrer-Nr. ^Name ^Vorname ^Titel^ | ||
+ | |421 |Müller| Manfred |StR| | ||
+ | |665 |Maier |Marlene |OStR| | ||
+ | |||
+ | |||
+ | Damit haben wir gleichzeitig die 1:n - Beziehung Lehrer - unterrichtet - Kurs im ER-Modell er¬fasst. Man bezeichnet die Lehrer-Nr in der Kurs-Tabelle als Fremdschlüssel. | ||
+ | |||
+ | Jetzt findet sich auch eine Lösung für das Problem mit dem Mehrfachattribut Vorher besuchte Schule. Es muss eine eigene Tabelle für Schulen erstellt werden, die eine Beziehung über Schüler-Nr. zur Tabelle LSchüler schafft. | ||
+ | |||
+ | ^Schüler-Nr. ^Schule^ | ||
+ | |421 |Grundschule Fuldatal| | ||
+ | |421 |Gesamtschule Geistal| | ||
+ | |665 |Integrierte Gesamtschule Obersuhl| | ||
+ | |665 |Gesamtschule Obersberg| | ||
+ | |||
+ | Einziger Schlüssel für diese Tabelle ist die Kombination Lehrer-Nr. - Fach. | ||
+ | |||
+ | Hier kann auch eine Lösung sinnvoll sein, die eine Tabelle Schule ohne Schülernummern verwendet, insbesondere, | ||
+ | |||
+ | Man erkennt, dass sich das ER-Bsp. in das R-Modell umsetzen lässt. Wir haben schon Mehrfach- und zusammengesetzte Attribute erledigt und 1:n - Beziehungen eingebaut (damit ist natürlich auch der Fall 1:1 erfasst). Es bleibt noch die Frage, wie man n:m - Beziehungen transformiert. Dazu betrachten wir im Bsp. die relationship besucht zwischen Schüler und Kurs. Weder die Hinzunahme eines Attributs Kurs-Nr. zu Schüler löst das Problem, denn ein Schüler besucht meist mehr als einen Kurs, noch die Hinzunahme der Schüler-Nr. zur Tabelle Kurs, da jeder Kurs von mehreren Schülern besucht wird. Es muss eine dritte Tabelle Kursbelegung her in der Form | ||
+ | |||
+ | ^Schüler-Nr. ^Kurs-Nr.^ Note ^Fehlstunden^ | ||
+ | |7 |12| 12 |0| | ||
+ | |8 |11 |4 |14| | ||
+ | |9 |11 |9 |2| | ||
+ | |||
+ | Wie man sieht, lassen sich hier auch ohne Probleme die Attribute der Beziehung unterbringen. Schlüssel in dieser Tabelle ist die Kombination Schüler - Kurs-Nr.. Man spricht häufig von einer Zwischentabelle. | ||
+ | |||
+ | Wir versuchen jetzt, die allgemeinen Prinzipien einer Umsetzung vom ER-Modell ins R-Modell anzugeben: | ||
+ | |||
+ | |||
+ | |||
+ | =====1 | ||
<WRAP box round> | <WRAP box round> | ||
Entitätstypen werden als Relationen dargestellt, | Entitätstypen werden als Relationen dargestellt, | ||
Zeile 22: | Zeile 69: | ||
<WRAP box round> | <WRAP box round> | ||
Jede ER-Beziehung wird auf eine Relation abgebildet. Die Relation besteht aus den Primärschlüsseln | Jede ER-Beziehung wird auf eine Relation abgebildet. Die Relation besteht aus den Primärschlüsseln | ||
- | der beteiligten Entitätstypen sowie den Attributen der Beziehung. | + | der beteiligten Entitätstypen sowie den Attributen der Beziehung. |
</ | </ | ||