Egzamin praktyczny E.14 maj 2016 zadanie 2
Egzamin: Kwalifikacja E.14, Rodzaj: egzamin praktyczny, Oznaczenie: E.14-02-16.05, Termin: maj 2016
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ć.
-- phpMyAdmin SQL Dump -- version 4.4.14 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Czas generowania: 30 Wrz 2015, 09:36 -- Wersja serwera: 5.6.26 -- Wersja PHP: 5.6.12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Baza danych: `szkola` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla tabeli `ocena` -- CREATE TABLE IF NOT EXISTS `ocena` ( `id` int(10) unsigned NOT NULL, `przedmiot_id` int(10) unsigned NOT NULL, `uczen_id` int(10) unsigned NOT NULL, `ocena` int(10) unsigned DEFAULT NULL, `dataWystawienia` date DEFAULT NULL ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8; -- -- Zrzut danych tabeli `ocena` -- INSERT INTO `ocena` (`id`, `przedmiot_id`, `uczen_id`, `ocena`, `dataWystawienia`) VALUES (1, 1, 2, 5, '2015-09-03'), (2, 1, 2, 6, '2015-09-03'), (3, 1, 1, 5, '2015-09-03'), (4, 1, 1, 6, '2015-09-03'), (5, 1, 2, 1, '2015-09-03'), (6, 1, 2, 1, '2015-09-03'), (7, 1, 2, 4, '2015-09-03'), (8, 4, 1, 3, '2015-09-10'), (9, 4, 1, 4, '2015-09-15'), (10, 4, 1, 3, '2015-09-10'), (11, 4, 1, 4, '2015-09-15'), (12, 4, 1, 5, '2015-09-10'), (13, 4, 1, 5, '2015-09-15'), (14, 4, 2, 3, '2015-09-22'), (15, 4, 2, 1, '2015-09-15'), (16, 4, 2, 3, '2015-09-22'), (17, 4, 2, 1, '2015-09-15'); -- -------------------------------------------------------- -- -- Struktura tabeli dla tabeli `uczen` -- CREATE TABLE IF NOT EXISTS `uczen` ( `id` int(10) unsigned NOT NULL, `imie` text, `nazwisko` text, `PESEL` text, `klasa` text ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; -- -- Zrzut danych tabeli `uczen` -- INSERT INTO `uczen` (`id`, `imie`, `nazwisko`, `PESEL`, `klasa`) VALUES (1, 'Ewa', 'Kowalska', '00000000001', '1a'), (2, 'Jan', 'Kowalski', '00000000002', '1a'); -- -- Indeksy dla zrzutów tabel -- -- -- Indexes for table `ocena` -- ALTER TABLE `ocena` ADD PRIMARY KEY (`id`); -- -- Indexes for table `uczen` -- ALTER TABLE `uczen` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT dla tabeli `ocena` -- ALTER TABLE `ocena` MODIFY `id` int(10) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=18; -- -- AUTO_INCREMENT dla tabeli `uczen` -- ALTER TABLE `uczen` MODIFY `id` int(10) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
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.
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 oceny z przedmiotu biologia dla ucznia o id=1,
– zapytanie 4: liczące liczbę 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
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ą
- 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.
- operacje na bazie danych,
- witryna internetowa,
- styl CSS witryny internetowej,
- skrypt połączenia z bazą.