Arkusz E.14-02-16.05

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 WYSTWYG.
Aby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP o nazwie baza1.zip, zabezpieczone hasłem: Baza!Baza
Plik należy rozpakować.
plik szkola.sql z archiwum baza1.zip
Wyniki swojej pracy zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu użyj swojego numeru PESEL
Baza danych szkola jest zgodna jest ze strukturą przedstawioną na rysunku 1. Tabela ocena ma dwa klucze obce: przedmiot_id oraz uczen_id odpowiadające relacjom między tabelami.
Rysunek 1. Baza danych szkola
Dla uproszczenia operacji, pomiń tabelę przedmiot i przyjmij, że pole przedmiot id zawiera identyfikatory przedmiotów zgodne z tabelą 1.

Wykonaj następujące operacje na bazie danych:

  • 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 szkola;
  • zaimportuj bazę szkola.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 szkola i sprawdź poprawność ich działania:
     – zapytanie 1: wybierające wszystkie nazwiska i numery PESEL z tabeli uczen,
     – zapytanie 2: wybierające imię i nazwisko ucznia o id=1,
     – zapytanie 3: wybierające najwyższą ocenę z przedmiotu biologia dla ucznia o id=1,
     – zapytanie 4: liczące ilość ocen z przedmiotu biologia dla ucznia o id= 1;
  • zapytania zapisz w pliku kwerendy.txt. Ponumeruj je, stosując format zapisu: „zapytanie 1: ... treść zapytania...”.

Witryna internetowa

Rysunek 2. Witryna internetowa
Witryna internetowa przedstawiona jest na rysunku 2.

Cechy witryny:
  • nazwa pliku: biologia.php,
  • zastosowany właściwy standard kodowania polskich znaków;
  • tytuł strony, widoczny na karcie przeglądarki: „Szkoła Podstawowa”;
  • arkusz stylów w pliku o nazwie: styl.css, prawidłowo dołączony do pliku z kodem strony;
  • podział strony na bloki: baner, panele lewy i prawy, stopka zrealizowany za pomocą znaczników sekcji (np. znacznika div);
  • zawartość banera: nagłówek pierwszego stopnia o treści: „Oceny uczniów: biologia”;
  • zawartość panelu lewego: nagłówek drugiego stopnia o treści: „Uczeń: ”, dalej skrypt; paragraf (akapit) o treści: „Najwyższa ocena z biologii:”, dalej skrypt;
  • zawartość panelu prawego: nagłówek trzeciego stopnia o treści: „Nazwiska i numery PESEL uczniów: ” poniżej lista wypunktowana wypełniana za pomocą skryptu; ”, 
  • zawartość stopki: nagłówek trzeciego stopnia o treści: „Szkoła Podstawowa”, poniżej paragraf o treści: „Stronę opracował: ”, dalej wpisany numer PESEL zdającego.

Styl CSS witryny internetowej

Cechy stylu CSS:
  • definicja w pliku styl.css, styl prawidłowo podpięty pod plik z kodem strony;
  • formatowanie banera: kolor tła: #875080, wyrównanie tekstu: do środka, wysokość 50px;
  • formatowanie panelu lewego: kolor tła: # C2A6BF, wysokość: 300px, szerokość: 75%; 
  • formatowanie panelu prawego: kolor tła: #A1759C, wysokość: 300px, szerokość: 25%;
  • formatowanie stopki: kolor tła:#875080, wyrównanie tekstu: do prawej strony.

Skrypt połączenia z bazą

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 szkola;
  • na końcu działania skryptu powinno zostać obsłużone zamknięcie połączenia z serwerem;
  • działanie skryptu w lewym panelu:
    - skrypt wysyła do bazy zapytanie 2 (z pliku kwerendy.txt);
    - w kodzie strony, po słowie „Uczeń:” wypisuje imię i nazwisko zwrócone zapytaniem. Imię i nazwisko powinno zawierać się w nagłówku trzeciego stopnia;
    - skrypt wysyła do bazy zapytanie 3 (z pliku kwerendy.txt);
    - w kodzie strony, po tekście „Najwyższa ocena z biologii” wypisuje ocenę maksymalną zwróconą zapytaniem.
  • działanie skryptu w prawym panelu:
    - skrypt wysyła do bazy zapytanie 1 (z pliku kwerendy.txt);
    - następnie wyświetla wszystkie zwrócone w wyniku zapytania rekordy w liście nienumerowanej. Należy założyć, że baza będzie się rozrastać, więc skrypt powinien wyświetlać taką liczbę wierszy jaką Zwróci zapytanie (nie należy na sztywno wypisywać dwóch wierszy, jak w przykładzie);

UWAGA: po zakończeniu pracy zgłoś przewodniczącemu ZN gotowość do nagrania płyty z rezultatami pracy. W folderze z Twoim numerem PESEL powinny się znajdować pliki: import.png, kwerendy.txt, biologia.php, styl.css, ewentualnie inne przygotowane przez Ciebie pliki. Po nagraniu płyty sprawdź jej poprawność.

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ą.