E.14: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami.

EGZAMIN PRAKTYCZNY E.14-03-16.01

STYCZEŃ 2016 ZADANIE 3

Wykonaj projekt bazy danych filmów, przygotuj zapytania do bazy a także przedstaw wizualizację projektu za pomocą strony internetowej. Wykorzystaj do tego celu program MSAccess lub Libre/Open Office Base oraz środowisko XAMPP z MySQL i narzędziem phpMyAdmin. Stronę internetową zbuduj przy wykorzystaniu edytora zaznaczającego składnię HTML, grafikę przygotuj w edytorze grafiki rastrowej.
 Aby wykonać zadanie zaloguj się bez hasła na konto Administrator. Na pulpicie znajdziesz plik o nazwie „zad3.zip”. Plik jest spakowany programem 7ZIP, zabezpieczony hasłem „Egz2016@”. Plik rozpakuj.
 Wyniki swojej pracy zapisz w folderze. Jako nazwy folderu użyj swojego numer PESEL. Folder ten umieść na pulpicie konta Administrator. Wewnątrz folderu utwórz podfolder o nazwie baza.
plik baza_zad3.sql z archiwum zad3.zip

-- phpMyAdmin SQL Dump
-- version 4.1.12
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 26 Mar 2015, 12:02
-- Server version: 5.6.16
-- PHP Version: 5.5.11

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 utf8 */;

--
-- Database: `filmoteka`
--

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `filmy`
--

CREATE TABLE IF NOT EXISTS `filmy` (
  `IDFilm` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Tytul` text,
  `Gatunek` text,
  `RezyserID` int(10) unsigned DEFAULT NULL,
  `RecenzjaID` int(10) unsigned DEFAULT NULL,
  `Link` text,
  PRIMARY KEY (`IDFilm`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Zrzut danych tabeli `filmy`
--

INSERT INTO `filmy` (`IDFilm`, `Tytul`, `Gatunek`, `rezyserID`, `recenzjaID`, `link`) VALUES
(1, 'Matrix', 'SF', 1, 1, NULL),
(2, 'Gwiezdne Wojny', 'SF', 2, 2, NULL),
(3, 'Indiana Jones i Ostatnia Krucjata', 'Przygodowy', 3, 3, NULL),
(4, 'Jurassic Park', 'Przygodowy', 3, 4, NULL);

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `recenzje`
--

CREATE TABLE IF NOT EXISTS `recenzje` (
  `IDRecenzja` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Ocena` int(10) unsigned DEFAULT NULL,
  `Tresc` longtext,
  `Recenzent` text,
  PRIMARY KEY (`IDRecenzja`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Zrzut danych tabeli `recenzje`
--

INSERT INTO `recenzje` (`IDRecenzja`, `Ocena`, `Tresc`, `Recenzent`) VALUES
(1, 5, 'Dobry film', 'Jan Nowak'),
(2, 4, 'Klasyka gatunku', 'Jan Nowak'),
(3, 4, 'Ciekawy', 'Andrzej Kowalski'),
(4, 3, 'Dinozaury i ludzie', 'Andrzej Kowalski');

-- --------------------------------------------------------

--
-- Struktura tabeli dla tabeli `rezyserzy`
--

CREATE TABLE IF NOT EXISTS `rezyserzy` (
  `IDRezyser` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Imie` text,
  `Nazwisko` text,
  PRIMARY KEY (`IDRezyser`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Zrzut danych tabeli `rezyserzy`
--

INSERT INTO `rezyserzy` (`IDRezyser`, `imie`, `nazwisko`) VALUES
(1, 'Andy', 'Wachowski'),
(2, 'George', 'Lucas'),
(3, 'Steven', 'Spielberg');

/*!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 */;


Zapytania do bazy

Za pomocą narzędzia XAMPP Control Panel uruchom usługę Apache i MySQL. Przejdź następnie do strony http://localhost i wybierz narzędzie phpMyAdmin. Wykonaj następujące czynności:
  1. Stwórz bazę danych o nazwie Filmoteka.
  2. Zaimportuj do bazy plik baza_zad3.sql rozpakowany z archiwum zad3.zip.
  3. Zapoznaj się ze strukturą bazy danych. Składają się na nią trzy tabele: filmy, rezyserzy, recenzje. Każda z nich ma klucz główny rozpoczynający się od „ID”, np.. IDFilm. Tabela filmy ma dwa klucze obce: rezyserID oraz recenzja id. Referują one kolejno do kluczy głównych tabel rezyszerzy oraz recenzje.
  4. Korzystając z zakładki SQL, przygotuj zapytania do bazy i wykonaj je. Kwerendy zapisz w pliku kwerendy.txt w podfolderze baza. Lista kwerend do zdefiniowania:
     a. Zwrócenie tytułów filmów, dla których gatunek to SF,
     b. Zwrócenie wszystkich tytułów filmów wraz z nazwiskami reżyserów
     c. Zwrócenie filmów, dla których ocena w recenzji jest równa 4,
     d. Dodanie rekordu do tabeli rezyserzy z danymi: ID – 4, Andrzej Wajda.
  5. Wykonaj zrzuty ekranowe z wynikami działania kwerend a, b, c. Na zrzucie powinny być widoczne zwrócone rekordy. Zrzuty zapisz w podfolderze baza.
  6. Wyeksportuj bazę do pliku filmoteka.sql i umieśd go w podfolderze baza

Projekt bazy danych

Baza danych Filmoteka jest niewielką częścią całego projektu. Należy ten projekt rozbudować o kolejne tabele i relacje. W programie MSAccess lub Libre Office Base stwórz projekt bazy danych. Zapisz go pod nazwą filmoteka z odpowiednim rozszerzeniem w podkatalogu baza. W tym celu:
  1. Stwórz tabelę filmy, rezyserzy, recenzje z polami i typami zgodnymi z importem baza_zad3.sql. Dodaj relację
  2. Dodaj tabelę aktorzy o polach
     a. IDAktor, klucz główny,
     b. Imię, Nazwisko typu tekstowego
     c. DataUr typu data
  3. Dodaj tabelę obsada o polach:
     a. ObsadaID, klucz główny łączący się z kluczem głównym tabeli filmy,
     b. AktorID, klucz główny łączący się z kluczem tabeli aktorzy.
  4. Zdefiniuj między tabelami odpowiednie relacje.
  5. Wykonaj zrzut ekranu projektu relacji z widoczną graficzną reprezentacją tabel i powiązań między nimi. Obraz przytnij w edytorze grafiki rastrowej tak, aby widoczny był tylko obszar roboczy projektu (bez ram okna aplikacji, ikon programu itp.). Następnie obraz przeskaluj zachowując jego proporcje tak aby wysokość była nie większa niż 300px a szerokość nie większa niż 800px.
  6. Obraz zapisz jako projekt.jpg w podfolderze baza.

Witryna internetowa

 Stwórz prostą witrynę składającą się z jednej strony internetowej o nazwie index.html. Plik umieść w folderze oznaczonym Twoim numerem PESEL. Witryna z rysunkiem jak poniżej

E.14 egzamin praktyczny

W celu wykonania witryny:
  1. Umieść Tytuł strony „Baza danych filmów” w odpowiednim znaczniku części nagłówkowej strony.
  2. Zdefiniuj podział strony na baner, trzy panele: lewy, środkowy i prawy oraz stopkę przy pomocy znaczników <div>
  3. Zdefiniuj style poszczególnych bloków za pomocą CSS, wewnątrz pliku HTML.
  4. Styl banera oraz stopki ustaw na:
     a. Czcionka biała, kolor tła: #5F5D89
     b. Wewnętrzne marginesy 10px,
     c. Tekst wyrównany do środka, czcionka Arial
  5. Styl panelu lewego i prawego ustal na:
     a. Czcionka biała (odsyłacze tez białe), kolor tła: #716DA1
     b. Szerokość 15%, wysokość 400px,
     c. Wyrównanie tekstu do środka
  6. Styl panelu środkowego ustal na:
     a. Szerokość panelu 70%, wysokość 400px.
     b. Wyrównanie tekstu do środka.
  7. Na banerze umieść napis o treści „FILMY I AKTORZY – PROJEKT BAZY DANYCH” w nagłówku pierwszego stopnia.
  8. W panelu lewym umieść:
     a. Napis „AUTOR STRONY” w nagłówku trzeciego stopnia
     b. Poniżej napis, na który będzie składał się Twój numer PESEL
  9. W panelu środkowym umieść rysunek projekt.jpg z podfolderu baza. Rysunek powinien posiadać atrybuty:
     a. Tekst alternatywny „filmoteka”
     b. Ramkę o szerokości 1px
     c. Odległość w pionie od sąsiednich elementów (atrybut vspace). Wartość atrybutu należy obliczyć tak aby obraz znajdował się w środku panelu. Np. Jeśli obraz ma wysokość 200px, panel ma stałą wysokość 400px, to odległość od bloku należy ustawić na 100px (100px + 200px + 100px = 400px).
  10. W panelu prawym umieść:
     a. Poniżej napis „PLIKI DO POBRANIA” w nagłówku trzeciego stopnia.
     b. Poniżej listę nienumerowaną z odsyłaczami (hiperłączami). Odsyłacze o treści ”Kwerendy” wskazuje na plik baza/kwerendy.txt. Odsyłacz o treści „Eksport MySQL” wskazuje na plik baza/filmoteka.sql
  11. W stopce umieść tekst o treści „Egzamin E.14 Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami.” w nagłówku drugiego stopnia.
UWAGA
Po zakończeniu pracy zgłoś PZN Gotowość do przekazania folderu (nazwanego Twoim numerem PESEL). Po otrzymaniu nagranej płyty CD/DVD sprawdź poprawność nagrania i kompletność zawartości. Płytę oraz arkusz egzaminacyjny pozostaw na stanowisku egzaminacyjnym.
Czas przeznaczony na wykonanie zadania wynosi 150 minut.
Ocenie podlegać będą 4 rezultaty:
  • Utworzone i wykonane zapytania do bazy danych,
  • Baza danych,
  • Styl strony internetowej i grafika do strony,
  • Strona internetowa.