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.
Last update: Procházka Josef, PhDr., Ph.D. (26.01.2023)
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.
Last update: Jeřábek Tomáš, PhDr., Ph.D. (09.09.2019)
Descriptors - Czech
Příprava na výuku
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
Last update: Battistová Eva, PaedDr. (25.01.2023)
Course completion requirements - Czech
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.
Last update: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Literature - Czech
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.
Last update: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Syllabus - Czech
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
Last update: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Learning resources - Czech
Studijní materiály pro distanční část na https://moodle.it.pedf.cuni.cz/course/view.php?id=2003
Klíč pro vstup do kurzu sdělí vyučující
Last update: Procházka Josef, PhDr., Ph.D. (26.01.2023)
Learning outcomes - Czech
Studenti:
Definují základní pojmy související s vývojem databázových aplikací ve webovém prostředí, jako jsou LAMP, SQL server, databázová integrita a bezpečnost dat.
Vysvětlí proces návrhu databázových aplikací a popíšou základní rozdíly mezi různými metodikami vývoje, včetně agilních metodik.
Aplikují SQL dotazy pro práci s databázemi a implementují základní prvky databázové aplikace pomocí skriptů na straně serveru v prostředí LAMP.
Analyzují strukturu a výkon databázových aplikací. Posoudí provázání databázového serveru s webovou aplikací a identifikují bezpečnostní rizika, jako jsou SQL injection nebo cross-site scripting (XSS).
Navrhnou a implementují dynamickou webovou aplikaci s databázovým rozhraním, která splňuje požadavky na škálovatelnost, bezpečnost a výkon. Aplikaci zabezpečí a spustí na webovém serveru.
Optimalizují a obhájí vlastní databázovou aplikaci, zhodnotí vhodnost použitého návrhového vzoru a zvolené architektury pro danou aplikaci.
Last update: Procházka Josef, PhDr., Ph.D. (19.09.2024)