Informacje ogólne
Zawód: Technik informatyk
Kwalifikacja: INF.03 – Tworzenie i administrowanie stronami internetowymi oraz bazami danych
Część: praktyczna
Czas trwania egzaminu: 150 minut
Liczba ocenianych rezultatów: 5
Instrukcja dla zdającego
- Sprawdź kompletność arkusza.
- Czytelnie wpisz numer PESEL na arkuszu i w nazwach folderów oraz plików.
- Wszystkie prace wykonaj na koncie egzaminacyjnym, którego dane otrzymasz od przewodniczącego ZN.
- Po zakończeniu pracy zapisz wszystkie pliki w przeznaczonym do tego folderze.
- Nie wyłączaj komputera bez polecenia egzaminatora.
Opis sytuacji i cel zadania
Otrzymałeś zlecenie przygotowania prostej aplikacji internetowej dla wypożyczalni filmów „FilmBox”.
Aplikacja ma korzystać z bazy danych MySQL, być uruchomiona w środowisku XAMPP oraz umożliwiać przeglądanie listy filmów i filtrowanie ich według gatunku.
Twoim zadaniem jest:
- skonfigurowanie bazy danych zgodnie z wymaganiami,
- przygotowanie strony internetowej obsługującej dane z bazy,
- zaprogramowanie prostych zapytań SQL i skryptów w języku PHP,
- dostosowanie wyglądu strony za pomocą HTML i CSS,
- przygotowanie plików z rezultatami zgodnie z wymaganiami.
Załączniki
-
Załącznik 1 – opis struktury bazy danych
filmbox
Skrypt SQL – utworzenie bazy i tabeli
CREATE DATABASE IF NOT EXISTS filmbox CHARACTER SET utf8 COLLATE utf8_general_ci; USE filmbox; DROP TABLE IF EXISTS filmy; CREATE TABLE filmy ( id INT AUTO_INCREMENT PRIMARY KEY, tytul VARCHAR(100) NOT NULL, gatunek VARCHAR(40) NOT NULL, rok INT NOT NULL, ocena DECIMAL(3,1) NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;Przykładowe dane (INSERT)
INSERT INTO filmy (tytul, gatunek, rok, ocena) VALUES ('Matrix', 'Sci-Fi', 1999, 8.7), ('Incepcja', 'Sci-Fi', 2010, 8.8), ('Skazani na Shawshank', 'Dramat', 1994, 9.3), ('Forrest Gump', 'Dramat', 1994, 8.8), ('Gladiator', 'Akcja', 2000, 8.5), ('Avengers', 'Akcja', 2012, 8.0), ('Shrek', 'Animacja', 2001, 7.9), ('Król Lew', 'Animacja', 1994, 8.5), ('Obcy', 'Horror', 1979, 8.5), ('Lśnienie', 'Horror', 1980, 8.4), ('Zielona mila', 'Dramat', 1999, 8.6), ('Interstellar', 'Sci-Fi', 2014, 8.6), ('Spider-Man', 'Akcja', 2002, 7.4), ('Toy Story', 'Animacja', 1995, 8.3), ('Milczenie owiec', 'Thriller', 1991, 8.6); - Załącznik 2 – plik z danymi filmy.csv
-
Załącznik 3 – szablon graficzny strony (zrzut ekranu w pliku
szablon.png)Poniżej przedstawiono przykładowy układ strony, który odpowiada wyglądowi z pliku
szablon.png:Wypożyczalnia FilmBoxTytuł Gatunek Rok Ocena Matrix Sci-Fi 1999 8.7 Incepcja Sci-Fi 2010 8.8 Forrest Gump Dramat 1994 8.8 Średnia ocena wyświetlonych filmów: 8.8
Uczeń powinien odtworzyć podobny układ: nagłówek z tytułem, panel z filtrem po lewej, tabela z filmami po prawej oraz stopkę z napisem „Autor: [PESEL]”.
- Załącznik 4 – wymagania funkcjonalne (opis tekstowy)
Treść pliku filmy.csv
tytul;gatunek;rok;ocena
Matrix;Sci-Fi;1999;8.7
Incepcja;Sci-Fi;2010;8.8
Skazani na Shawshank;Dramat;1994;9.3
Forrest Gump;Dramat;1994;8.8
Gladiator;Akcja;2000;8.5
Avengers;Akcja;2012;8.0
Shrek;Animacja;2001;7.9
Król Lew;Animacja;1994;8.5
Obcy;Horror;1979;8.5
Lśnienie;Horror;1980;8.4
Zielona mila;Dramat;1999;8.6
Interstellar;Sci-Fi;2014;8.6
Spider-Man;Akcja;2002;7.4
Toy Story;Animacja;1995;8.3
Milczenie owiec;Thriller;1991;8.6
Załącznik 1 – struktura bazy danych
Utwórz bazę danych o nazwie filmbox.
W bazie utwórz tabelę filmy o strukturze:
id– int, klucz główny, auto_incrementtytul– varchar(100), not nullgatunek– varchar(40), not nullrok– int, not nullocena– decimal(3,1), null
Upewnij się, że:
- tabela wykorzystuje silnik InnoDB,
- kodowanie znaków to UTF8 (np. utf8_general_ci).
Załącznik 2 – plik z danymi
W katalogu C:\EGZAMIN\DANE znajduje się plik filmy.csv zawierający dane filmów w formacie:
tytul;gatunek;rok;ocena
Przykładowy wiersz (przykład, nie do przepisywania):
Matrix;Sci-Fi;1999;8.7
Dane z pliku filmy.csv zaimportuj do tabeli filmy w bazie filmbox za pomocą phpMyAdmin lub polecenia SQL LOAD DATA.
Załącznik 3 – szablon graficzny
Na zrzucie ekranu szablon.png przedstawiono przykładowy wygląd witryny:
- nagłówek strony z napisem „Wypożyczalnia FilmBox”,
- sekcja filtrów po lewej stronie (lista rozwijana gatunków),
- tabela z listą filmów w centrum strony,
- stopka z napisem „Autor: [PESEL]”.
Twoje rozwiązanie nie musi być identyczne z szablonem, ale musi zawierać wskazane elementy.
Załącznik 4 – wymagania funkcjonalne
Witryna powinna:
- wyświetlać wszystkie filmy z bazy w postaci tabeli,
- umożliwiać filtrowanie listy filmów według wybranego gatunku,
- po wybraniu gatunku i zatwierdzeniu przyciskiem „Filtruj” pokazywać tylko filmy o wybranym gatunku,
- prezentować średnią ocenę filmów aktualnie wyświetlonych w tabeli.
Zadania do wykonania
Zadanie 1 – przygotowanie środowiska
- Uruchom pakiet XAMPP i włącz moduły Apache oraz MySQL.
- W narzędziu phpMyAdmin utwórz bazę danych
filmboxzgodnie z opisem w Załączniku 1. - Zaimportuj dane z pliku
filmy.csvdo tabelifilmy. - Wykonaj zrzut ekranu przedstawiający tabelę
filmyz co najmniej pięcioma rekordami i zapisz jakotabela_filmy_[PESEL].png.
Zadanie 2 – witryna internetowa
- W katalogu
C:\EGZAMIN\[PESEL]\htdocs\filmboxutwórz plikindex.php. - W pliku utwórz strukturę dokumentu HTML5 zawierającą:
- nagłówek z tytułem strony,
- sekcję główną z formularzem do wyboru gatunku,
- miejsce na tabelę z filmami,
- stopkę.
- Dołącz arkusz stylów
style.cssi zastosuj go do upiększenia strony. - W stopce wyświetl tekst „Autor: [PESEL]”.
Zadanie 3 – obsługa bazy danych w PHP
- W pliku
index.phputwórz połączenie z bazą danychfilmbox. - Pobierz listę wszystkich unikalnych gatunków z tabeli
filmyi wyświetl je w polu<select>formularza. - Po wysłaniu formularza:
- jeśli nie wybrano gatunku – wyświetl wszystkie filmy,
- jeśli wybrano gatunek – wyświetl tylko filmy o tym gatunku.
- Dane filmów wyświetl w tabeli HTML z nagłówkami: „Tytuł”, „Gatunek”, „Rok”, „Ocena”.
Zadanie 4 – obliczenie średniej oceny
- Dla aktualnie wyświetlonej listy filmów oblicz średnią ocenę
ocena. - Średnią wyświetl pod tabelą w formacie: „Średnia ocena wyświetlonych filmów: X.X”.
Zadanie 5 – przygotowanie rezultatów
- Upewnij się, że w katalogu
C:\EGZAMIN\[PESEL]\htdocs\filmboxznajdują się:index.php,style.cssoraz wszystkie potrzebne pliki. - W katalogu
C:\EGZAMIN\[PESEL]\umieść:tabela_filmy_[PESEL].png– zrzut ekranu tabeli z danymi,- plik tekstowy
zapytania_[PESEL].txtz co najmniej trzema zapytaniami SQL.
Rezultaty podlegające ocenie
R1. Poprawnie utworzona baza danych filmbox i tabela filmy z zaimportowanymi danymi.
R2. Zrzut ekranu tabela_filmy_[PESEL].png przedstawiający zawartość tabeli.
R3. Działająca witryna w pliku index.php z poprawną strukturą HTML i zastosowanym arkuszem stylów style.css.
R4. Poprawnie działające filtrowanie filmów według gatunku i wyświetlanie wyników w tabeli.
R5. Poprawne obliczanie i prezentacja średniej oceny dla aktualnie wyświetlonych filmów oraz plik zapytania_[PESEL].txt z poprawnymi zapytaniami SQL.