Matura 2017 (nowa) - zadanie 5 (Fanka)

Zadanie bazodanowe i tak w większości rozwiązywane. Dane wczytujemy do kilku tabel. Długa treść ułatwia zapomnienie prostego zdania na początku: w plikach zawarte są informacje dotyczące meczy drużyny Galop z Kucykowa. Tak więc nie ma co szukać tej drużyny w tabeli druzyny.txt  :-)

Zadanie 5.1 (3 punkty)

Zadanie składa się z dwóch części. W pierwszej tworzymy zapytanie z dwóch tabel (Drużyny i Wyniki). Grupujemy wyniki wg rodzaju meczu i nazwy miasta. Ograniczamy się do wyników z Kucykowa. Liczymy ile wierszy zostało tak zgrupowanych i otrzymujemy:

zadanie 51a

Rodzaj Liczba
L 113
P 25
T 6

W drugiej części zadania używamy tych samych tabel. Grupujemy wyniki wg roku (funkcja year) i nazwy miasta. Ponownie ograniczamy się do Kucykowa. Liczymy ile wierszy zgrupowano za każdym razem i wybieramy z tych obliczeń największą liczbę. Wynikiem jest 21 meczów w 2007 roku.

 

Rozdzielenie punktów może być różne, ale skłaniałbym się do podziału: 1 punkt za liczby meczów, 1 punkt za rok z największą liczbą meczów i 1 punkt za tą liczbę.

Zadanie 5.2 (2 punkty)

Wbrew pozorom zadanie nie jest łatwe. Najpierw należy policzyć bilans bramek dla każdej z drużyn a następnie wybrać te, z którymi Galop straciła tyle samo bramek co strzeliła. W wyniku otrzymujemy dwie drużyny: Nocne Pumy i Zwinne Mewy. Dwa punkty i dwie drużyny sugerują po jednym punkcie za każdą z nich, ale jakoś trudno mi sobie wyobrazić błędne rozwiązanie znajdujące tylko jedną z tych drużyn.

Zadanie 5.3 (3 punkty)

Trzy punkty i proste zapytanie zrobione z użyciem jednej tabeli. Prostsze są trzy niezależne dla każdego typu wyniku. Ostatecznie otrzymujemy 579 wygranych, 170 zremisowanych i 452 przegranych.

Naturalne wydaje się punktowanie po 1 punkcie za każdą z tych liczb. Biorąc pod uwagę, że najszybciej te wyniki można uzyskać tworząc trzy niezależne zapytania, to istnieje pewne prawdopodobieństwo pomyłki w jednej z nich.

Łatwym miejscem na popełnienie błędu jest też pominięcie jednej z części polecenia (mecze wyjazdowe) i pewnie też będzie można uzyskać za nieuwzględnienie tego warunku jednakowo we wszystkich trzech liczbach (1185, 352, 910), raczej za 1 punkt.

Zadanie 5.4 (3 punkty)

Ponownie zapytanie z użyciem danych z jednej tabeli. Wybieramy z tabeli Wyniki wszystkich sędziów, którzy sędziowali przynajmniej jeden mecz pucharowy. Jest ich 132. Dokładamy do tego wiedzę z tabeli Sędziowie (154 wiersze) i w wyniku otrzymujemy 22 sędziów.

Podobnie jak w poprzednim zadaniu można spodziewać się pominięcia warunku dotyczącym pucharowego meczu i otrzymać 150 sędziów w meczach Galopu Kucykowo (czyli 4 niesędziujących meczów Galopu). Innym błędem jest policzenie 132 sędziujących mecze pucharowe Galopu Kucykowo w stosunku do 150 sędziujących jakiekolwiek mecze Galopu Kucykowo (czyli 18 sędziujących mecze Galopu Kucykowo, ale niesędziujących ich meczów pucharowych).