/* ** Olympiade (Teil 4) ** ** Medaillenspiegel */ /* ** Schritt 1 ** ** Erstellen Sie eine View ** medaillen_punkte(land, punkte), ** in der die Punkte der einzelnen Laender berechnet werden. SELECT * FROM medaillen_punkte ORDER BY punkte DESC; land punkte ------------ GER 40 ITA 5 BLR 3 GRE 3 RUS 3 FRA 2 */ /* ** Schritt 2 ** ** Beantworten Sie mit Hilfe dieser View folgende Frage: ** Welche durchschnittliche Punktzahl haben alle Laender zusammen erreicht? avg ------------------ 9.3333333333333333 */ /* ** Schritt 3 ** ** Definieren Sie eine View ** abweichung(land, punkte, abweichung) ** basierend auf der View medaillen_punkte, mit der Sie die ** Abweichungen der Punkte eines Landes vom Durchschnitt ermitteln koennen. SELECT * FROM abweichung ORDER BY land; land punkte abweichung --------------------------------- BLR 3 -6.3333333333333333 FRA 2 -7.3333333333333333 GER 40 30.6666666666666667 GRE 3 -6.3333333333333333 ITA 5 -4.3333333333333333 RUS 3 -6.3333333333333333 */ /* ** Schritt 4 ** ** Erstellen Sie eine View ** platzierungs_raenge (land, punkte, abweichung, rang) ** mit laufender Rangnummer, d.h. rang=1 fuer das Land mit ** den meisten Medaillen-Punkten, rang=2 fuer das Land mit den ** zweitmeisten Medaillen-Punkten etc. SELECT * FROM platzierungs_raenge ORDER BY rang; land punkte abweichung rang --------------------------------------- GER 40 30.6666666666666667 1 ITA 5 -4.3333333333333333 2 BLR 3 -6.3333333333333333 3 GRE 3 -6.3333333333333333 3 RUS 3 -6.3333333333333333 3 FRA 2 -7.3333333333333333 6 ** Tipp: Windowing ** Siehe auch: ** https://kowa.hs-augsburg.de/beispiele/db/postgresql/counter/counter.sql */ /* ** Schritt 5 ** ** Selektieren Sie die Laender auf den Plaetzen eins bis vier. land punkte abweichung rang --------------------------------------- GER 40 30.6666666666666667 1 ITA 5 -4.3333333333333333 2 BLR 3 -6.3333333333333333 3 GRE 3 -6.3333333333333333 3 RUS 3 -6.3333333333333333 3 */ /* ** Schritt 6 ** ** Ersetzen Sie (händisch rekursiv) die Views in dieser Anfrage ** durch die jeweiligen Definitionen, so dass Sie schliesslich ** eine Anfrage erhalten, in der keine Views mehr vorkommen. land punkte abweichung rang --------------------------------------- GER 40 30.6666666666666667 1 ITA 5 -4.3333333333333333 2 BLR 3 -6.3333333333333333 3 GRE 3 -6.3333333333333333 3 RUS 3 -6.3333333333333333 3 */