Databases Reference
In-Depth Information
Proj[artnr, bezeichnung, bestand, listenpreis, wert] (
Ren[artnr ::= artikel_nr] (
Adj[wert ::= bestand * listenpreis] (Artikel)
) )
oder kürzer:
Proj[artNr ::= artikel_nr, bezeichnung, bestand, listenpreis,
wert ::= bestand * listenpreis] (Artikel)
Artikel_ Nr
Bezeichnung
Bestand
Listen- Preis
Wert
G001
Whisky
397
38,40
15.244,80
G002
Portwein
473
12,45
5.888,85
G003
Bier
1250
5,20
6.500,00
K001
Schuhe
120
98,50
11.820,00
K002
Hose
62
112,80
6.993,60
K003
Damenhut
12
65,70
788,40
K004
Sonnenbrille
50
76,00
3.800,00
L001
Ceylon-Tee
356
6,35
2.260,60
L002
China-Tee
42
8,35
350,70
L003
Naturreis
345
1,78
614,10
L004
Schokolade
2101
0,98
2.058,98
L005
Butterkekse
234
1,72
402,48
2.4.5 Gruppierung von Daten
Wie wir gesehen haben, werden bei der Projektion gegebenenfalls mehrere Tupel
jeweils zusammengefasst: wenn sie in den Projektionsattributen identisch sind,
sich aber in anderen Attributen noch unterscheiden. Hier bilden die Tupel, die in
den Projektionsattributen identische Werte haben, jeweils eine Datengruppe , wobei
die Werte in den nicht projizierten Attributen unterschiedlich sein können. Häufig
möchten wir für diese Datengruppen weitere Werte haben, die sich aus den Tupeln
der jeweiligen Gruppen berechnen lassen. Im einfachsten Fall möchten wir nur die
Anzahl der Tupel der jeweiligen Gruppen haben. Des Weiteren möchten wir z.B.
die Summen der Artikelbestände in den einzelnen Lagern wissen.
In diesen Fällen verwenden wir statt der Projektion die Datengruppierung.
Zusätzlich zu den zu projizierenden Attributen hat die neue Relation weitere
adjungierte Attribute, die durch die Anwendung von Aggregatfunktionen auf die
Attribute, die nicht in der Projektion auftreten, entstehen. Formal schreiben wir die
Anwendung der Aggregatfunktionen hinter die Projektionsattribute, durch einen
senkrechten Strich getrennt.
 
Search WWH ::




Custom Search