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.
Poslední úprava: Jeřábek Tomáš, PhDr., Ph.D. (09.09.2019)
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.
Poslední úprava: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Deskriptory
Příprava na výuku
Doba očekávané přípravy na 1 hodinu přednášky
30 minut
Doba očekávané přípravy na 1 cvičení
60 minut
Samostudium literatury (za semestr)
20 hodin
Práce se studijními materiály (za semestr)
10 hodin
Plnění průběžných úkolů (za semestr)
12 hodin
Plnění předmětu
Seminární práce
0 hodin
Příprava na zápočet
15 hodin
Příprava na zkoušku a zkouška
0 hodin
Poslední úprava: Battistová Eva, PaedDr. (25.01.2023)
Literatura
BÖHMER, Marian. Návrhové vzory v PHP: [23 vzorových postupů pro rychlejší vývoj]. Brno: Computer Press, 2012. ISBN 978-80-251-3338-5.
LACKO, L. Web a databáze. Praha : ComputerPress, 2001.
POKORNÝ, J., HALAŠKA, I. Databázové systémy. Praha : ČVUT, 1997.
RICHTA, K., SOKOL, J. Softwarové inženýrství I. Praha : ČVUT, 1996.
RJORDAN, R. Vytváříme relační databázové aplikace. Praha : ComputerPress, 2000.
ROMAN, S. Návrh a programování databází. Praha : ComputerPress, 2000.
POKORNÝ, J. Základy implementace souborů a databází. Praha : Karolinum, 1997.
STRAKA, M. Vývoj databázových aplikací. Praha : Grada Publishing, 2000.
SKLAR, David. PHP 7: praktický průvodce nejrozšířenějším skriptovacím jazykem pro web. Přeložil Jan POKORNÝ. Brno: Zoner Press, 2018. Encyklopedie Zoner Press. ISBN 978-80-7413-363-3.
MASLAKOWSKI, M. Naučte se MySQL za 21 dní. Praha : Computer Press, 2001.
Poslední úprava: Jeřábek Tomáš, PhDr., Ph.D. (09.09.2019)
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
Poslední úprava: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Podmínky zakončení předmětu
Aktivní práce ve výuce, jejímž výsledkem je portfolio zdrojových kódů funkčních aplikací a konceptuálních návrhů databází.
Zpracování zápočtové práce ve formě funkční veřejně publikovatelné webové aplikace s administračním rozhraním. Není-li specifikováno v zadání jinak, požaduje se práce původní, vytvořená samostatně na základě uvedených informačních zdrojů a volně šiřitelných komponent.
Prokázání praktických dovedností a teoretických znalostí z oblasti návrhu a vývoje databázových aplikací formou řešení konkrétního zadání či testu.
Poslední úprava: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Studijní opory
Studijní materiály pro distanční část na https://moodle.it.pedf.cuni.cz/course/view.php?id=2062
Klíč pro vstup do kurzu sdělí vyučující
Poslední úprava: Procházka Josef, PhDr., Ph.D. (26.01.2023)