Arkusz E.14-03-16.08

Zadanie egzaminacyjne

Wykonaj projekt polegający na opracowaniu zapytań do bazy i stworzeniu witryny internetowej wykorzystującej te zapytania. Wykorzystaj do tego celu pakiet XAMPP z bazą MySQL i narzędziem phpMyAdmin. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię lub edytora WYSIWYG.

Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie baza2.zip, zabezpieczone hasłem: Baza4Egzamin
Plik należy rozpakować.
Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL

Operacje na bazie danych

Baza danych sportowcy jest zgodna ze strukturą przedstawioną na rysunku 1. Tabela wyniki ma dwa klucze obce: dyscyplina_id oraz sportowiec_id odpowiadające relacja między tabelami.

Dla uproszczenia należy pominąć tabelę dyscyplina i przyjąć, że pole dyscyplina_id zawiera identyfikatory dyscyplin sportowych zgodnie z tabelą 1.

Wykonaj następujące operacje na bazie danych:

Zawartość pliku sportowcy.sql
  • wybierz program XAMPP Control Panel i uruchom usługi Apache oraz MySQL. Wybierz w przeglądarce adres //localhost/, a następnie narzędzie phpMyAdmin:
  • utwórz nową bazę danych o nazwie sportowcy;
  • zaimportuj bazę sportowcy.sql z wcześniej rozpakowanego archiwum;
  • wykonaj zrzut ekranu po imporcie. Zrzut zapisz w formacie PNG i nazwij import.png. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import (okno programu phpMyAdmin, widoczna baza danych, np. tabele, pola);
  • stwórz następujące zapytania SQL do bazy sportowcy i sprawdź poprawność ich działania:
     – zapytanie 1: liczące ilość rekordów w tabeli sportowiec,
     – zapytanie 2: wybierające imię i nazwisko sportowca o id=1,
     – zapytanie 3: liczące średni wynik z dyscypliny rzut oszczepem dla sportowca o id=1,
     – zapytanie 4: wybierające najlepszy wynik dla dyscypliny rzut oszczepem;
  • zapytania zapisz w pliku kwerendy.txt. Ponumeruj je, stosując format zapisu: „zapytanie 1: ... treść zapytania...”.

Witryna internetowa

Witryna internetowa przedstawiona jest na rysunku 2.

Cechy witryny

  •  nazwa pliku: oszczep.php;
  • zastosowany właściwy standard kodowania polskich znaków;
  • tytuł strony widoczny na karcie przeglądarki; „Rzut oszczepem”;
  • arkusz stylów w pliku o nazwie styl_oszczep.css, prawidłowo dołączony do pliku z kodem strony;
  • podział strony na bloki: baner, główny, stopka zrealizowany za pomocą znaczników sekcji (np. znacznika div);
  • zawartość baneru: nagłówek pierwszego stopnia o treści: „Klub sportowy: rzut oszczepem”;
  • zawartość bloku głównego: nagłówek pierwszego stopnia o treści „Nasz rekord: ”, dalej skrypt, dalej oznaczenie jednostki „m”; poniżej napisu znajduje się tabela wypełniona wartościami z bazy danych;
  • zawartość stopki: paragraf (akapit) o treści: „Klub sportowy”, poniżej: „Stronę opracował: ”, dalej wpisany numer PESEL zdającego.

 Styl CSS witryny internetowej

Cechy stylu CSS:
  • definicja w pliku styl_oszczep.css, styl prawidłowo podpięty pod plik z kodem strony;
  • baner i stopka: kolor tła: #773D24, kolor czcionki: biały, wyrównywanie tekstu: do środka, marginesy wewnętrzne: 20px;
  • sekcja główna: kolor tła: #B97E65, wysokość: 600px;
  • tabela; szerokość: 80% strony, odstępy między komórkami 30px;
  • komórka tabeli: kolor tła: #DEAD98;
  • paragraf: wyrównywanie tekstu do środka.

Skrypt połączenia z bazą

Dla ułatwienia w tabeli 2 podano wybór funkcji PHP do obsługi bazy MySQL. Wymagania dotyczące skryptu:
  • napisany w języku PHP:
  • nie jest wymagane sprawdzenie, czy operacja powiodła się, i wyświetlenie stosownego komunikatu;
  • skrypt powinien połączyć się z serwerem MySQL, parametry połączenia: localhost, użytkownik root bez hasła;
  • skrypt powinien wybrać bazę danych o nazwie sportowcy;
  • na końcu działania skryptu powinno zostać obsłużone zamknięcie połączenia z serwerem;
  • działanie skryptu:
    - skrypt wysyła do bazy zapytanie 4 (z pliku kwerendy.txt);
    - w kodzie strony, po tekście: „Nasz rekord:” wypisuje wartość zwróconą zapytaniem 4. (wartość powinna zawierać się w nagłówku pierwszego stopnia);
    - skrypt wysyła do bazy zapytanie 1 (z pliku kwerendy.txt);
    - w kodzie strony, po tekstem: „Nasz rekord...” tworzy tabelę o liczbie komórek równej wartości zwróconej zapytaniem 1. Tabela powinna mieć stałą liczbę kolumn równą 2. Na przykład, jeśli liczba rekordów jest równa 3, to jest tworzona tabela o dwóch kolumnach i dwóch wierszach, z czego w drugim wierszu jest tylko jedna komórka. Należy założyć, że baza będzie się rozrastać i nie trzeba na sztywno tworzyć sześciu komórek, tak jak na rysunku 2.
W każdej komórce tabeli powinny znaleźć się:
  • nagłówek trzeciego stopnia: imię i nazwisko kolejnego sportowca, pobrane z bazy zapytaniem 2 (należy pamiętać o zmianie wartości pola id w zapytaniu na  identyfikatory kolejnych sportowców);
  • paragraf o treści: „średni wynik: ” dalej wynik zapytania 3 (należy pamiętać o odpowiedniej wartości pola sportowiec_id);

UWAGA: po zakończeniu pracy zgłoś przewodniczącemu ZN gotowość do nagrania płyty CD/DVD z rezultatami pracy. W folderze z Twoim numerem PESEL powinny się znajdować pliki: import.png, kwerendy.txt, oszczep.php, styl_oszczep.css, ewentualnie inne przygotowane przez Ciebie pliki. Po nagraniu płyty CD/DVD sprawdź liczbę oraz poprawność działania zapisanych plików.

Czas przeznaczony na wykonanie zadania wynosi 150 minut.

Ocenie podlegać będą 4 rezultaty:
  • operacje na bazie danych,
  • witryna internetowa,
  • styl CSS witryny internetowej,
  • skrypt połączenia z bazą.