Rozwiązanie
Zadanie 5.2 – matura 2016, maj

Zadanie 5.2 (0-2)

Biblioteka podręczników
Biblioteka podręczników
Z biblioteki podręczników, wypożyczanych na cały rok akademicki, mogą korzystać studenci z miasteczka akademickiego i spoza miasteczka. Każdy student może wypożyczyć wiele różnych książek. W miasteczku studenci mieszkają w pokojach po kilka osób w jednym.
Dane są trzy pliki: studenci.txt, meldunek.txt oraz wypozyczenia.txt, w których zapisano informacje o aktualnie wypożyczonych książkach przez studentów.
Każdy plik ma wiersz nagłówkowy. Dane rozdzielono znakiem tabulacji. Wszystkie dane tekstowe w plikach mają długości nieprzekraczające 60 znaków.
W pliku studenci.txt zapisano dane studentów – jeden student w wierszu. Imiona i nazwiska mogą się powtarzać. W każdym wierszu znajdują się odpowiednio: numer PESEL, nazwisko, imię.
Fragment pliku studenci.txt:
pesel nazwisko imie
92051048757 BAJOREK JAKUB
92051861424 SLOTARZ MARIANNA
Plik meldunek.txt zawiera przypisania studentów z miasteczka akademickiego do wynajętych pokoi. W każdym wierszu znajdują się odpowiednio: numer PESEL studenta oraz identyfikator pokoju.
Fragment pliku meldunek.txt:
pesel id_pok
92051048757 8
92051861424 32
W pliku wypozyczenia.txt zawarto informacje o wypożyczonych podręcznikach. W każdym wierszu zapisano: liczbę porządkową wypożyczenia, numer PESEL wypożyczającego oraz tytuł wypożyczonego podręcznika.
Fragment pliku wypozyczenia.txt:
lp pesel tytul
1 92061083359 FIZYKA TECHNICZNA I
2 94103033254 PROGRAMOWANIE MIKROKONTROLEROW I
Wykorzystując dane zawarte w powyższych plikach i dostępne narzędzia informatyczne, wykonaj zadania. Odpowiedzi zapisz w kolejnych wierszach pliku tekstowego wyniki_5.txt. Odpowiedź do każdego zadania poprzedź numerem tego zadania. Podaj średnią liczbę osób zameldowanych w jednym pokoju. Wynik zaokrąglij do 4 miejsc po przecinku
Rozwiązanie w jednej kwerendzie:
SELECT ROUND((SELECT COUNT(pesel) FROM Meldunki)/(SELECT COUNT(*) FROM (SELECT DISTINCT id_pok FROM Meldunki)),4) AS srednia
FROM 1;
FROM 1 występuje tutaj jedynie po to, aby można było taką kwerendę wykonać. Zawartość tej tabeli nas nie interesuje, więc zamiast "1" możemy podać jakąkolwiek inną istniejącą tabelę.
Alternatywnie można rozbić to zapytanie na dwa osobne i wynik policzyć ręcznie, wykonując odpowiednie dzielenie.

Pobierz rozwiązanie
Wyszukaj więcej zadań z tego arkusza...