![]() |
Informatikmaterialien |
Startseite
| Informatik | Physik
| Mathematik | Sonstiges
| |
![]() |
Richard-Wossidlo-Gymnasium Ribnitz-Damgarten |
---|
Zur Beschreibung des relationalen Datenmodells gehören neben dem Aufbau auch die Methoden zur Manipulation der Daten. Die Mathematik bietet dazu Operationen an, die auf die vorhandenen Relationen angewandt, neue Relationen liefern.
Umbennung der Attribute
Mengentheoretische Operationen, wie
Operator |
Schreibweise |
Bedeutung |
Durchschnitt | A ![]() |
Schnittmenge |
Vereinigung | A ![]() |
Hinzufügen eines Datensatzes |
Differenz | A \ B | Löschen eines Datensatzes |
Produkt | A x B | kartesisches Produkt zweier Mengen |
Relationsoperationen im engeren Sinn
Operator |
Schreibweise |
Bedeutung |
Selektion | SFormel(A)![]() |
Auswahl von Zeilen gemäß der Formel |
Projektion | PAttribute(A)![]() |
Auswahl von Spalten entsprechend der Spaltenbezeichnung |
Join (Verbund) |
JAttribute(A,B) A ![]() |
Verknüpfung zweier Relationen zu einer neuen Relation mit den Attributen beider Tabellen über gemeinsame Attribute |
Der Durchschnitt A
B zweier Tabellen A und B ist die Menge aller Tupel, die sowohl in A als
auch in B enthalten sind.
Aus den Tabellen GK-Fach1 und GK-Fach 2 soll der Durchschnitt gebildet werden.
GK-Fach 1 GK-Fach 2 ![]()
GK-Fach 1 GK-Fach 2
Raum Fach Lehrer 137 Mathematik Müller 221 Deutsch Schmidt 104 Englisch Lehmann
Raum Fach Lehrer 127 Informatik Müller 104 Englisch Lehmann 123 Physik Paulsen 018 Musik Schmidt
Raum Fach Lehrer 104 Englisch Lehmann
Die Vereinigung A
B zweier Tabellen A und B ist die Menge aller Tupel,
die in A oder in B oder in beiden Relationen enthalten sind.
Aus den Tabellen GK-Fach1 und GK-Fach 2 soll die Vereinigung gebildet werden.
GK-Fach 1 GK-Fach 2 ![]()
GK-Fach 1 GK-Fach 2
Raum Fach Lehrer 137 Mathematik Müller 221 Deutsch Schmidt 104 Englisch Lehmann
Raum Fach Lehrer 127 Informatik Müller 104 Englisch Lehmann 123 Physik Paulsen 018 Musik Schmidt
Raum Fach Lehrer 137 Mathematik Müller 221 Deutsch Schmidt 104 Englisch Lehmann 127 Informatik Müller 123 Physik Paulsen 018 Musik Schmidt
Die Differenz A \ B zweier Tabellen A und B ist die Menge aller Tupel, die in A aber nicht gleichzeitig in B enthalten sind.
Aus den Tabellen GK-Fach1 und GK-Fach 2 soll die Differenz gebildet werden.
GK-Fach 1 GK-Fach 2 ![]()
GK-Fach 1 \ GK-Fach 2
Raum Fach Lehrer 137 Mathematik Müller 221 Deutsch Schmidt 104 Englisch Lehmann
Raum Fach Lehrer 127 Informatik Müller 104 Englisch Lehmann 123 Physik Paulsen 018 Musik Schmidt
Raum Fach Lehrer 137 Mathematik Müller 221 Deutsch Schmidt
Das Produkt A x B zweier Tabellen A vom Grad n und B vom Grad m ist die Menge aller Kombinationstupel (n x m-Tupel).
Aus den Tabellen GK-Fach1 und GK-Fach 2 soll das Produkt gebildet werden.
Themen GK-Fach 2 ![]()
Themen x GK-Fach 2
Nr. Thema Klasse 001 Analysis 12/I 002 Klassik 13/1
Raum Fach Lehrer 127 Informatik Müller 104 Englisch Lehmann 123 Physik Paulsen 018 Musik Schmidt
Nr. Thema Klasse Raum Fach Lehrer 001 Analysis 12/I 127 Informatik Müller 001 Analysis 12/I 104 Englisch Lehmann 001 Analysis 12/I 123 Physik Paulsen 001 Analysis 12/I 018 Musik Schmidt 002 Klassik 13/1 127 Informatik Müller 002 Klassik 13/1 104 Englisch Lehmann 002 Klassik 13/1 123 Physik Paulsen 002 Klassik 13/1 018 Musik Schmidt
Bei der Selektion werden Zeilen aus einer Tabelle ausgewählt, die bestimmten Eigenschaften genügen.
Aus der Tabelle Schüler
sollen alle Zeilen selektiert werden, in denen der Name "Müller"
steht.
Die Selektion hat also die Form: SName =
'Müller'(Schüler)
Schüler SName = 'Müller'(Schüler)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr Vorname Name 4711 Paul Müller 1234 Olaf Müller
Bei der Projektion werden
Spalten aus einer Tabelle
ausgewählt, die bestimmten Eigenschaften genügen.
Ist ein Eintrag mehrfach vorhanden, so wird er nur einmal angezeigt.
Aus der Tabelle Schüler
sollen alle Spalten mit dem Attribut "Name" projiziert werden.
Die Projektion hat also die Form: PName(Schüler)
Schüler PName(Schüler)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
Name Müller Schmidt Lehmann Paulsen
Aus der Tabelle Schüler
sollen die Vornamen aller Schüler angezeigt werden, deren Nachname Müller
ist.
Die Abfrage hat also die Form: PVorname(SName = 'Müller'(Schüler))
Schüler PVorname(SName = 'Müller'(Schüler))
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
Vorname Paul Olaf
Ein Join ist das Verbinden von zwei Relationen zu einer neuen Tabelle.
Die Literatur unterscheidet eine größere Anzahl Joins, für die Schule sind nur die mit Beispielen versehenen Joins relevant:
Inner Join, Equivalent Join, Natural
Join mit einem gemeinsamen Attribut
Verbindet Datensätze aus zwei Tabellen, sobald ein gemeinsames Feld
dieselben Werte enthält.
Aus den Tabellen Schüler und Kurse soll ein Inner Join gebildet werden. Das gemeinsame Attribut lautet SNr.
Schüler Kurse JSNr(Schüler, Kurs)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr KNr Fehlstunden Punkte 0815 03 0 12 4711 03 12 03 1234 23 3 14 0987 09 9 09
SNr Vorname Name KNr Fehlstunden Punkte 0815 Erich Schmidt 03 0 12 4711 Paul Müller 03 12 03 1234 Olaf Müller 23 3 14
Da zu den SNr.7472, 2314 und 0987 der Tabelle Schüler bzw. Kurse keine "Gegenstücke" in der anderen Tabelle existieren, werden diese in der neuen Relation nicht angezeigt!
Cross Join
entspricht dem kartesischen Produkt; häufig nutzlos
Left Outer Join, Left Join
Mit einem Left Join wird eine sogenannte linke Inklusionsverknüpfung
erstellen. Linke Inklusionsverknüpfungen schließen alle Datensätze aus
der ersten (linken) Tabelle ein, auch wenn keine entsprechenden Werte für
Datensätze in der zweiten Tabelle existiert.
Aus den Tabellen Schüler und Kurse soll ein Left OuterJoin gebildet werden. Das gemeinsame Attribut lautet SNr.
Schüler Kurse JSNr(Schüler, Kurs)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr KNr Fehlstunden Punkte 0815 03 0 12 4711 03 12 03 1234 23 3 14 0987 09 9 09
SNr Vorname Name KNr Fehlstunden Punkte 0815 Erich Schmidt 03 0 12 4711 Paul Müller 03 12 03 7472 Sven Lehmann 1234 Olaf Müller 23 3 14 2313 Jürgen Paulsen
Right Outer Join, Right Join
Mit einem Right Join wird eine sogenannte rechte Inklusionsverknüpfung
erstellen. Rechte Inklusionsverknüpfungen schließen alle Datensätze aus
der zweiten (rechten) Tabelle ein, auch wenn keine entsprechenden Werte für
Datensätze in der ersten Tabelle existiert.
Aus den Tabellen Schüler und Kurse soll ein Right OuterJoin gebildet werden. Das gemeinsame Attribut lautet SNr.
Schüler Kurse JSNr(Schüler, Kurs)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr KNr Fehlstunden Punkte 0815 03 0 12 4711 03 12 03 1234 23 3 14 0987 09 9 09
SNr Vorname Name KNr Fehlstunden Punkte 0815 Erich Schmidt 03 0 12 4711 Paul Müller 03 12 03 1234 Olaf Müller 23 3 14 0987 09 9 09
Full Outer Join, Full Join
Eine Kombination von Left Outer Join und Right Outer Join.
Aus den Tabellen Schüler und Kurse soll ein Full OuterJoin gebildet werden. Das gemeinsame Attribut lautet SNr.
Schüler Kurse JSNr(Schüler, Kurs)
SNr Vorname Name 4711 Paul Müller 0815 Erich Schmidt 7472 Sven Lehmann 1234 Olaf Müller 2313 Jürgen Paulsen
SNr KNr Fehlstunden Punkte 0815 03 0 12 4711 03 12 03 1234 23 3 14 0987 09 9 09
SNr Vorname Name KNr Fehlstunden Punkte 0815 Erich Schmidt 03 0 12 4711 Paul Müller 03 12 03 7472 Sven Lehmann 1234 Olaf Müller 23 3 14 2313 Jürgen Paulsen 0987 09 9 09
Union Join
Ähnlich dem Full Outer Join werden Datensätze beider Tabellen
aufgenommen. Sie werden aber nicht über eine Bedingung verknüpft.
Semi-Join
Theta Join, Non-Equivalent-Join
Der Theta Join ist eine Verallgemeinerung des Inner Join. Während beim
Inner Join die Gleichheit des Inhalts zweier Attribute verglichen wird, wird
beim Theta Join der Inhalt der Attribute i und j mit einer beliebigen Formel
Theta(i,j) verglichen, etwa:
i = j (i gleich j; InnerJoin), i < j (i
kleiner j), i <= j (i kleiner oder gleich j), i > j (i größer j)
usw.
Self-Join
Der Self-Join ist ein beliebiger Join, bei dem nicht zwei verschiedene
Tabellen benutzt werden, sondern zweimal dieselbe Tabelle.
![]() zur Startseite |
© Tino Hempel 1997 - 2006 | Im Web
vertreten seit 1994. Eine Internet-Seite aus dem Angebot von Tino Hempel. |