Matura 2018 (maj). Zadanie 6. Centrum danych
Pewna firma utrzymuje centrum danych, w którym znajduje się kilkaset pracujących komputerów. Specjalny zespół pracowników odpowiada za wykrywanie i usuwanie awarii komputerów. Pliki komputery.txt, awarie.txt oraz naprawy.txt zawierają dane niezbędne do wykonania zadania.
Plik komputery.txt zawiera opisy maszyn znajdujących się w centrum w 2015 roku, każdy wiersz tego pliku zawiera kolejno:
- numer komputera (unikatową liczbę całkowitą) – Numer_komputera,
- sekcję, w której znajduje się komputer (sekcje oznaczone są wielkimi literami alfabetu
angielskiego: A, B, C, …) – Sekcja. - pojemność dysku twardego (liczoną w gigabajtach, liczba całkowita) – Pojemnosc_dysku.
Przykład:
Numer_komputera | Sekcja | Pojemnosc_dysku |
1 | R | 700 |
2 | N | 130 |
3 | E | 300 |
Plik awarie.txt zawiera informację o awariach komputerów w 2015 roku. Każdy wiersz tego pliku zawiera kolejno:
- unikatowy numer zgłoszenia awarii – Numer_zgloszenia,
- numer komputera, który uległ awarii – Numer_komputera,
- datę i godzinę wystąpienia awarii z dokładnością do sekundy – Czas_awarii,
- priorytet zgłoszenia – liczbę całkowitą określającą w skali od 1 do 10, jak krytyczna jest
awaria – Priorytet.
Przykład:
Numer_zgloszenia | Numer_komputera | Czas_awarii | Priorytet |
1 | 365 | 2015-01-01 04:40:55 | 8 |
2 | 249 | 2015-01-01 06:08:24 | 3 |
3 | 312 | 2015-01-01 06:33:43 | 4 |
W pliku naprawy.txt zapisane zostały raporty z prac, jakie wykonał zespół w 2015 roku.
Każdy wiersz tego pliku zawiera kolejno:
- numer zgłoszenia, którego dotyczyła naprawa (mogło zdarzyć się, że jedno zgłoszenie awarii wymagało kilku napraw) – Numer_zgloszenia,
- datę i godzinę zakończenia naprawy z dokładnością do sekundy – Czas_naprawy,
- rodzaj naprawy (słowo restart oznacza ponowne uruchomienie komputera, wymiana –
wymianę jednego z podzespołów komputera) – Rodzaj.
Przykład:
Numer_zgloszenia | Czas_naprawy | Rodzaj |
2 | 2015-01-01 20:08:15 | restart |
7 | 2015-01-02 16:30:15 | restart |
4 | 2015-01-02 19:37:03 | wymiana |
Dane w wierszach plików są oddzielone znakami tabulacji, pierwszy wiersz pliku jest wierszem nagłówkowym.
Za pomocą dostępnych narzędzi informatycznych podaj odpowiedzi do poniższych zadań, zapisz je w pliku wyniki.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.
Pobieranie danych do programu:
Pobieranie danych z pliku tekstowego do tabeli w Access’ie wykonujemy zgodnie z poniżej przedstawionymi krokami.
Krok 1.
Pobieramy z pliku tekstowego dane do tabeli wybierając z menu Dane zewnętrzne -> Plik tekstowy.
Krok 2.
Wskazujemy, gdzie znajduje się plik tekstowy. Te czynności powtarzamy tyle razy ile jest plików tekstowych.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_1.jpg)
Krok 3.
Ustalamy w jaki sposób są wpisane dane do pliku tekstowego.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_2.jpg)
Krok 4.
Wybieramy znak rozdzielający pola oraz zaznaczamy pierwszy wiersz zawiera nazwy pól.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_3.jpg)
Krok 5.
Wybieramy odpowiednie typy dla każdej kolumny (dla każdego pola) w tabeli. Należy pamiętać, że konieczne jest wybrania typu dla pola daty.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_4.jpg)
Krok 6.
Wybieramy pole dla którego ma być ustawiony klucz podstawowy.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_6.jpg)
Krok 7.
Podajemy nazwę tabeli pod jaką ma być zapisana w naszej bazie.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_7.jpg)
Krok 8.
Ustawienie relacji dla nowo utworzonych tabel w naszej bazie. Pamiętaj, że powinno się wymuszać więzy integralności.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_8.jpg)
Zadanie 1.
Znajdź 10 najczęstszych rodzajów dysków (czyli 10 najczęściej występujących pojemności) wśród komputerów w centrum. Dla każdej ze znalezionych pojemności podaj liczbę komputerów z takim dyskiem. Posortuj zestawienie nierosnąco względem liczby komputerów z dyskiem o danej pojemności.
Rozwiązanie:
Tworzymy kwerendę która będzie zawierała jedną tabelę komputery, z której wybieramy dwukrotnie pole Pojemnosc_dysku. Wykonujemy Sumy dla pola Pojemnosc_dysku, wybieramy funkcję policz, aby policzyć ile razy występuje dany rodzaj dysku. Ostatnimi elementami zakonczenia zadania jest sortowanie wystąpień dysku Malejąco, oraz ograniczenie występowań dysku do ilości 10 rekordów.
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_10.jpg)
Wyniki działania kwerendy jest następujący:
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_9.jpg)
Na zakończenie zapisujemy kwerendę jako Zadanie 1.
Odpowiedź:
Pojemność | Liczba |
300 | 173 |
200 | 31 |
500 | 31 |
800 | 29 |
700 | 28 |
600 | 26 |
400 | 20 |
290 | 11 |
160 | 10 |
220 | 10 |
Zadanie 2.
Znajdź wszystkie komputery w sekcji A, w których trzeba było przynajmniej dziesięciokrotnie wymieniać podzespoły. Podaj ich numery, a także liczbę wymian podzespołów dla każdego z nich.
Rozwiązanie:
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_12.jpg)
![](http://informatyka.dwojka.net/wp-content/uploads/2018/06/matura2018_zadanie_6_centrum_11.jpg)
Odpowiedź:
Numer komputera | Ilość wymian podzespołów |
42 | 11 |
123 | 11 |
171 | 12 |
202 | 12 |
Zadanie 3.
Pewnego dnia nastąpiła awaria wszystkich komputerów w jednej z sekcji. Podaj datę awarii oraz symbol sekcji, w której nastąpiła awaria.
Rozwiązanie:
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3a.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3b.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3c.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3d.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3e.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3f.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3g.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_3h.png)
Odpowiedź:
Dniem awarii wszystkich komputerów był dzień 23-12, a było to w sekcji Q.
Zadanie 4.
Znajdź awarię, której usunięcie trwało najdłużej (czas liczymy od wystąpienia awarii do momentu zakończenia ostatniej z napraw, jakiej ta awaria wymagała). Podaj numer ogłoszenia, czas wystąpienia awarii i czas zakończenia ostatniej naprawy.
Rozwiązanie:
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_4b-1.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_4c.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_4a.png)
Odpowiedź:
Podaj numer ogłoszenia: 2087
Czas wystąpienia awarii: 2015-11-05 12:38:46
Czas zakończenia ostatniej naprawy: 2015-11-13 12:38:32
Zadanie 5.
Podaj liczbę komputerów, które nie uległy żadnej awarii o priorytecie większym lub równym 8 (wliczamy w to też komputery, które w ogóle nie uległy awarii).
Rozwiązanie:
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5a.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5b.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5c.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5d.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5e.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5f.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5g.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5h.png)
![](http://informatyka.dwojka.net/wp-content/uploads/2019/01/matura_2018_zadanie_6_5i.png)
Rozwiązanie zadania 5 w SQL:
SELECT 500-Count(*) AS Ilosc_komputerow
FROM (SELECT DISTINCT Numer_Komputera From Awarie WHERE Priorytet >= 8);
Rozwiązanie podane przez Pana Mateusza.
Odpowiedź:
Ilość komputerów: 149.
jawohl says:
Dajcie rozwiązania do 6.3, 6.4 i 6.5, a nie puste zostawiacie.
info says:
W przyszłości pojawi się rozwiązanie. Zapraszam do przesyłania rozwiązań, które zostaną opublikowane na stronie.
Mateusz says:
Zadanie 5 można zastąpić kwerendą:
SELECT 500 – COUNT(*) FROM (SELECT DISTINCT Numer_Komputera From Awarie WHERE Priorytet >= 8);
500 oznacza liczbę ogólną komputerów
Odejmujemy liczbę komputerów, które mają priorytet >= 8