Databases Reference
In-Depth Information
dukte interessiert, die Schmidt gekauft hat, kann man dies mit
folgender Anfrage erfragen:
Proj (Sel(VK
×
PL, VK.Produkt=PL.Produkt
AND VK.Käufer='Schmidt')), [Preis])
Das Ergebnis ist:
Preis
100
200
Um eine Einsatzmöglichkeit der Relationenalgebra aufzuzei-
gen, kann man sich überlegen, dass man nicht zuerst das
Kreuzprodukt berechnet, sondern sich zuerst in VK auf den
Käufer Schmidt konzentriert und dann die Verknüpfung mit PL
durchführt. Die Anfrage lautet dann:
Umformungen
in der
Relationen-
algebra
Proj (Sel(Ren(Sel(VK, VK.Käufer='Schmidt'), TMP)
×
PL,
TMP.Produkt=PL.Produkt) , [Preis])
Die Umbenennung wird genutzt, um dem Zwischenergebnis
einen Namen zu geben. Diese Anfrage liefert das gleiche
Ergebnis wie vorher, man kann aber untersuchen, welcher Weg
einfacher zu berechnen ist. In der Praxis nutzen eingesetzte
Datenbankmanagementsysteme Erkenntnisse aus der Relatio-
nenalgebra, um Anfragen so umzuformen, dass sie möglichst
schnell berechnet werden können.
Aus dem einfachen Beispiel kann man die typische Vorge-
hensweise bei der Formulierung einer Anfrage ableiten:
1.
Vorgehen bei der
Erstellung von
Anfragen
Bestimme alle Relationen, die für die Berechnung wichtig
sind.
2.
Berechne das Kreuzprodukt dieser Relationen, formuliere
die Verknüpfung der Relationen in einer Auswahl.
3.
Ergänze noch, wenn nötig, die Auswahl um spezielle
Randbedingungen.
4.
Projiziere aus dem berechneten Ergebnis den Anteil her-
aus, der zur Beantwortung der Anfrage benötigt wird.
Insgesamt schafft die Relationenalgebra die Möglichkeit, den
Begriff der Anfrage zu konkretisieren. Weiterhin kann die ma-
thematische Fundierung der Relationenalgebra genutzt werden,
um Zusammenhänge zwischen verschiedenen Anfragen formal
zu untersuchen.
110
Search WWH ::




Custom Search