Charles Explorer logo
🇨🇿

Vývoj a administrace databázových aplikací A

Předmět na Pedagogická fakulta |
OB1319406

Sylabus

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) ...  

Anotace

Cílem předmětu je v návaznosti na předcházející předměty studia z oblasti algoritmizace, programování a návrhu databázových aplikací osvojení si příslušných dovedností na úrovni potřebné pro návrh databází, tvorbu databázových aplikací s dynamickým WWW rozhraním a jejich správu. Při práci jsou využívány techniky a metody týmového řešení projektů a vývoje aplikací.

Předmět je vyučován ve dvou povinně volitelných alternativách, které se od sebe liší orientací na příslušnou technologickou platformu. Studenti si volí příslušnou variantu předmětu dle individuálního profesního zaměření.

Obsah předmětu ve variantě A 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í LAMP (Linux/Apache/MySQL/PHP). Při tvůrčí práci se studenti seznámí s vhodnými editory, integrovanými vývojovými prostředími (IDE), generováním dynamických stránek pomocí PHP, propojení PHP s MySQL, zásadami pro vývoj rozsáhlejších WWW aplikací s použitím systémů pro správu verzí projektu (CVS, Subversion, Git).

Součástí předmětu je návrh a implementace vlastní databázové aplikace na bázi PHP/SQL.