Arkusz E.14-08-18.01

Zadanie egzaminacyjne

Zaprojektuj zapytania SQL do bazy szkola, wykonaj zrzuty ekranu przedstawiające efekty działania zapytań, przygotuj grafiki przeznaczone do umieszczenia na stronie internetowej oraz witrynę internetową. Wykorzystaj środowisko XAMPP, edytor zaznaczający składnię HTML oraz edytor grafiki rastrowej.
Na stanowisku egzaminacyjnym znajduje się komputer z zainstalowanym systemem operacyjnym i oprogramowaniem, a także dokumentacja w postaci spisu zainstalowanego oprogramowania. Zaloguj się na konto Egzamin bez hasła. Wyniki swojej pracy zapisz w folderze. Jako nazwy folderu użyj swojego numeru PESEL. Folder umieść na pulpicie konta Egzamin. Wewnątrz folderu utwórz dwa podfoldery o nazwach: baza oraz www.

Baza danych

Na pulpicie konta Egzamin znajduje się archiwum ZIP o nazwie zad2.zip. Archiwum jest zabezpieczone hasłem szko!a_2


Kod pliku szkola.sql

Jego zawartość to plik szkola.sql zawierający przygotowane do importu tabele bazy danych szkola.
Baza danych szkola składa się z trzech tabel: uczen, klasa, wychowawca. Wszystkie tabele posiadają klucz podstawowy o nazwie id. Opis tabel jest następujący:
1. Tabela uczen
 a. przechowuje: informacje o wybranych uczniach klas 1a, 1b, 2a i 2b szkoły ponadgimnazjalnej,
 b. pola: imie i nazwisko typu tekstowego oraz id i id_klasy typu liczbowego,
 c. pole id_klasy jest kluczem obcym powiązanym z kluczem podstawowym tabeli klasa.
2. Tabela wychowawca
 a. przechowuje: informacje o wychowawcach klas 1a, 1b, 2a i 2b,
 b. pola: imie i nazwisko typu tekstowego oraz id i id_klasy typu liczbowego,
 c. pole id_klasy jest kluczem obcym powiązanym z kluczem podstawowym tabeli klasa.
3. Tabela klasa
 a. przechowuje: informacje o klasach 1a, 1b, 2a i 2b,
 b. pola: nazwa typu tekstowego oraz id i il_uczniow typu liczbowego.

Zapytania do bazy 

Za pomocą narzędzia XAMPP Control Panel uruchom usługi Apache oraz MySQL, przejdź do narzędzia phpMyAdmin. Wykonaj następujące czynności:
1. Utwórz bazę danych o nazwie szkola,
2. Do bazy szkola zaimportuj tabele z pliku szkola.sql z wcześniej rozpakowanego archiwum,
3. W podfolderze baza utwórz plik zapytania.txt,
4. Zapisz i wykonaj zapytania SQL działające na bazie szkola. Zapytania zapisz w pliku kwerendy.txt, w podfolderze baza. Wykonaj zrzuty ekranu przedstawiające wyniki działania kwerend. Zrzuty zapisz w formacie PNG, w podfolderze baza jako: kwerenda1.png, kwerenda2.png, nowy_uzytkownik.png i uprawnienia.png. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.
Zapytanie 1: zapisujące w tabeli wychowawca rekord danych: id=5, imie=Maciej, nazwisko=Stasiak, id_klasy=5,
Zapytanie 2: wybierające jedynie imiona i nazwiska uczniów, których wychowawczyni nazywa się
Michalska,
Zapytanie 3: tworzące użytkownika K_Pietkiewicz na localhost z hasłem kp_123
Zapytanie 4: nadające prawa dla użytkownika K_Pietkiewicz wybierania i dodawania danych dla
tabeli uczen,
5. Wyeksportuj bazę danych do pliku o nazwie szkola_nowa.sql, plik eksportu umieść w podfolderze baza.

Witryna internetowa 

Stwórz prostą witrynę składającą się z jednej strony internetowej o nazwie index.html. Plik zapisz w podfolderze www (który znajduje się w folderze nazwanym Twoim numerem PESEL). Wygląd witryny jest zgodny z Obrazem 1.
Obraz 1. Witryna internetowa 
Przygotowanie grafik: 
Wykorzystując zrzuty ekranowe kwerend przygotuj grafiki dla witryny internetowej:
1. zrzuty ekranowe wykadruj tak, aby były widoczne tylko efekty działania zapytań, nie powinny być widoczne inne elementy okna przeglądarki oraz panelu phpMyAdmin,
2. przeskaluj obrazy tak, aby ich szerokość wynosiła 400 px, a wysokość 200 px,
3. obrazy zapisz w formacie JPG, w podfolderze www, jako kwerenda1.jpg, kwerenda2.jpg, nowy_uzytkownik.jpg i uprawnienia.jpg
UWAGA: pliki z podfolderu baza pozostaw niezmienione, nie nadpisuj ich. 
Cechy witryny: 
1. zastosowano właściwy standard kodowania polskich znaków,
2. tytuł strony: „Szkoła ponadgimnazjalna”,
3. strona podzielona za pomocą znaczników sekcji na baner, panele lewy i prawy oraz stopkę, tak aby po uruchomieniu strony w przeglądarce wygląd był zgodny z obrazem 1,
4. zawartość banera: nagłówek pierwszego stopnia o treści: „Projekt strony internetowej szkoły ponadgimnazjalnej”,
5. zawartość panelu lewego:
 a. nagłówek trzeciego stopnia o treści: „Do pobrania”,
 b. poniżej w postaci listy punktowanej dwa odnośniki:
  - „zapytania SQL”,
  - „baza danych”,
 c. kliknięcie odnośnika o treści: „zapytania SQL”, powoduje pobranie/wyświetlenie pliku zapytania.txt z podfolderu baza,
 d. kliknięcie odnośnika o treści: „baza danych”, powoduje pobranie/wyświetlenie pliku szkola_nowa.sql z podfolderu baza,
 e. poniżej linia pozioma przez całą szerokość panelu lewego,
 f. poniżej napis w nagłówku trzeciego stopnia: „Wyznaczanie najwyższej średniej”,
 g. poniżej lista punktowana z nazwiskami: Polak, Nowak, Rysik, obok każdego nazwiska pole
edycyjne typu tekstowego przeznaczone na wpisanie średniej ocen ucznia,
 h. poniżej przycisk z etykietą „wyznacz”,
 i. poniżej napis w nagłówku trzeciego stopnia „Najwyższa średnia:”,
6. zawartość panelu prawego:
 a. tabela o rozmiarach 5 wierszy i 2 kolumny,
 b. szerokość prawej kolumny tabeli: 405 px,
 c. komórki wiersza nagłówkowego zawierają kolejno wpisy: „Treść zapytania” i „Zrzut ekranu”,
 d. w komórkach tabeli w kolejnych wierszach: treści zapytań z pliku zapytania.txt
i obok – odpowiadające im zrzuty ekranu w formacie JPG zgodnie z obrazem 1,
 e. obrazy powinny posiadać tekst alternatywny zawierający nazwę pliku,
7. zawartość stopki: nagłówek czwartego stopnia o treści: „stronę wykonał: ………….”, w miejsce
kropek wpisany Twój numer PESEL.

Styl CSS witryny internetowej 

Styl elementów witryny zdefiniuj przy pomocy języka CSS, w osobnym pliku o nazwie styl.css, plik ten zapisz w podfolderze www oraz prawidłowo dołącz do pliku z kodem strony.
Wymagania odnośnie stylu CSS:
1. kolor czcionki odnośników: #ffd87e,
2. kolor tła banera, stopki oraz panelu lewego: #af8c4b,
3. kolor tła panelu prawego: #ffd87e,
4. wyrównanie tekstu banera i stopki: do środka,
5. wyrównanie tekstu panelu lewego: do prawej,
6. krój czcionki dla całej strony: Tahoma,
7. szerokość panelu lewego: 30%,
8. szerokość panelu prawego: 70%,
9. wysokość paneli lewego i prawego: 500 px,
10. wysokość banera: 60 px,
11. wysokość stopki: 25 px,
12. kolor poziomej linii w lewym panelu: #ffd87e,
13. punktor list w panelu lewym: okrąg,
14. wszystkie komórki tabeli obramowane ramką czarną kropkowaną szerokości 1 px,
15. włączone paski przewijania dla panelu prawego,

Skrypt wyznaczający najwyższą średnią ocen 

1. wykonywany po stronie klienta,
2. powinien wykonywać działania na liczbach rzeczywistych,
3. po kliknięciu przycisku „wyznacz” skrypt pobiera dane z trzech pól edycyjnych typu tekstowego,
4. jeżeli przynajmniej jedno z pól jest puste lub do któregoś pola wpisano ciąg znaków, który nie jest
poprawną liczbą rzeczywistą skrypt powinien wyświetlić w osobnym oknie komunikat „wpisz
poprawne dane”,
5. w przeciwnym przypadku skrypt powinien przekonwertować ciągi znaków na liczby rzeczywiste,
6. następnie skrypt powinien wyznaczyć najwyższą spośród trzech średnich ocen,
7. na koniec skrypt powinien wyświetlić wyznaczoną najwyższą średnią poniżej napisu „Najwyższa
średnia” w lewym panelu.

Uwaga: po zakończeniu pracy nagraj płytę z rezultatami pracy. W folderze z Twoim numerem PESEL powinny się znajdować podfoldery: baza oraz www. W podfolderze baza powinny znajdować się pliki: szkola_nowa.sql, zapytania.txt, kwerenda1.png, kwerenda2.png, nowy_uzytkownik.png i uprawnienia.png. W podfolderze www powinny znajdować się pliki: kwerenda1.jpg, kwerenda2.jpg, nowy_uzytkownik.jpg i uprawnienia.jpg oraz index.html, styl.css, ewentualnie inne przygotowane pliki. 
Utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej w której weryfikowałeś poprawność działania witryny. Zapisz go na płycie jako przegladarka.txt. Po nagraniu płyty, sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw zapakowaną w pudełku na stanowisku.

Czas przeznaczony na wykonanie zadania wynosi 150 minut. 

Ocenie będą podlegać 4 rezultaty:
- operacje na bazie danych,
- utworzona strona internetowa,
- zdefiniowany styl CSS strony internetowej,
- skrypt.