TEORIE VÝVOJE APLIKACÍ
Projektování vývoje, modely organizace vývoje aplikací.
Fázová organizace projektu, průběhové modely.
Proces návrhu, normalizace a implementace databáze.
Stěžejní zásady pro efektivní realizaci projektů.
Agilní metodiky vývoje
SQL SERVER A KLIENT
Instalace SQL serveru. Odlišnosti v závislosti na použitém operačním systému (Windows, Linux).
Nastavení SQL serveru a automatizace jeho spouštění a zastavování.
Klienti pro SQL server - charakteristika, výběr a instalace. Terminálově orientovaný klient a klient využívající GUI pro přístup k SQL serveru.
Správa uživatelů. Nastavování přístupových práv k jednotlivým databázím, tabulkám a sloupcům. Otázky zabezpečení dat.
Zálohování databází a její automatizace (dump, cron).
PRÁCE S DATY
DDL (Data Definition Language). Číselné a řetězcové datové typy, definice databáze a tabulky, identifikační klíče řádků tabulky, vztahy mezi tabulkami, kardinalita a parcialita vztahů, cizí klíče, integrita databáze, indexování dat.
DML (Data Manipulation Language). Obecné principy čtení a editace dat v SQL, otázky replikace databází a řízení transakcí.
TVORBA APLIKACÍ
Základní charakteristika prostředí LAMP (Linux, Apache, PHP), výhody a nevýhody, dostupnost v podmínkách českých škol.
Editory a integrovaná vývojová prostředí (IDE).
Možnosti využití databází ve webových aplikacích. Generování dynamických stránek pomocí skriptovacích jazyků.
Provázání webové aplikace s databázovým serverem
Zásady pro vývoj rozsáhlejších WWW aplikací. Konfigurovatelnost aplikace. Oddělení funkčních částí kódu a šablon vzhledu.
Modulové řešení realizace a administrace aplikací
Objektově orientovaná řešení vývoje databázových aplikací
Nástroje a zásady pro týmový vývoj aplikací (GIT, Subversion ...).
ZABEZPEČENÍ DATABÁZOVÝCH APLIKACÍ
Integrita a zabezpečení dat
Škálovatelnost databázové aplikace
Ošetření proměnných předávaných ke zpracování SŘBD
Obrana proti nejčastějším formám útoku, SQL injection, Cross-site scripting (XSS) ...
Cílem předmětu je v návaznosti na předcházející předměty studia z oblasti programování a n ávrhu databází osvojení si příslušných dovedností na úrovni potřebné pro tvorbu databázových aplikací s dynamickým WWW rozhraním a jejich správu. Obsah předmětu pokrývá otázky administrace webových a databázových serverů včetně nastavení zabezpečení a jejich vzájemného propojení, zálohování databází a její automatizace v prostředí webového serveru.
Při tvůrčí práci se studenti seznámí s vhodnými architekturami, návrhovými vzory a frameworky pro snadnou obsluhu databázového rozhraní. Součástí předmětu je návrh a implementace vlastní databázové aplikace.