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). Textový editor ViM.
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í (Subversion, CVS).
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) ...
Subject Development and administration of database follow previous subjects (algorithms, programming and development of database applications). Students gets according knowledge in database design, database applications with a dynamic web interface and administration.
Techniques and methods for team project development and application development are accented.