SubjectsSubjects(version: 964)
Course, academic year 2024/2025
   Login via CAS
Development and administration of database applications - OKBI3I046A
Title: Vývoj a administrace databázových aplikací
Guaranteed by: Katedra informačních technologií a technické výchovy (41-KITTV)
Faculty: Faculty of Education
Actual: from 2022
Semester: summer
E-Credits: 5
Examination process: summer s.:
Hours per week, examination: summer s.:0/0, MC [HS]
Extent per academic year: 14 [hours]
Capacity: unknown / unknown (unknown)
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech
Teaching methods: combined
Note: course can be enrolled in outside the study plan
enabled for web enrollment
priority enrollment if the course is part of the study plan
Guarantor: PhDr. Tomáš Jeřábek, Ph.D.
Teacher(s): PhDr. Josef Procházka, Ph.D.
Pre-requisite : OKBI3I031A
Annotation -
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)
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
    • Obrana proti nejčastějším formám útoku, SQL injection, Cross-site scripting (XSS) ...
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)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html