PředmětyPředměty(verze: 957)
Předmět, akademický rok 2024/2025
   Přihlásit přes CAS
Vývoj a administrace databázových aplikací - OPBI4I051B
Anglický název: Development and administration of database applications
Zajišťuje: Katedra informačních technologií a technické výchovy (41-KITTV)
Fakulta: Pedagogická fakulta
Platnost: od 2023
Semestr: zimní
E-Kredity: 5
Způsob provedení zkoušky: zimní s.:
Rozsah, examinace: zimní s.:1/2, KZ [HT]
Rozsah za akademický rok: 0 [hodiny]
Počet míst: 23 / neurčen (neurčen)
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Poznámka: předmět je možno zapsat mimo plán
povolen pro zápis po webu
při zápisu přednost, je-li ve stud. plánu
Garant: PhDr. Josef Procházka, Ph.D.
Vyučující: PhDr. Josef Procházka, Ph.D.
Prerekvizity : OPBI4I044A
Anotace -
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: Procházka Josef, PhDr., Ph.D. (05.09.2019)
Deskriptory
Příprava na výuku
Doba očekávané přípravy na 1 hodinu přednášky 15 minut
Doba očekávané přípravy na 1 cvičení 30 minut
Samostudium literatury (za semestr) 5 hodin
Práce se studijními materiály (za semestr) 5 hodin
Plnění průběžných úkolů (za semestr) 30 hodin
 
Plnění předmětu  
Seminární práce 20 hodin
Příprava na zápočet 20 hodin
Příprava na zkoušku a zkouška 0 hodin
Poslední úprava: Battistová Eva, PaedDr. (19.06.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.

Studijní prameny

Materiály kurzu Dostupný z: https://moodle.it.pedf.cuni.cz/course/view.php?id=1883

Poslední úprava: Procházka Josef, PhDr., Ph.D. (03.10.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).
  • 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í (GIT, Subversion ...).

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) ...
Poslední úprava: Procházka Josef, PhDr., Ph.D. (06.09.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. (06.09.2023)
Studijní opory

Pro podporu studia bude využit LMS Moodle dostupný na https://moodle.it.pedf.cuni.cz/. Klíč k zápisu bude sdělen při prvním setkéní a paralelně zaslán účastníkům kurzu prostřednictvím SIS.

Poslední úprava: Procházka Josef, PhDr., Ph.D. (06.09.2023)
Výsledky učení

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.

 

Poslední úprava: Procházka Josef, PhDr., Ph.D. (19.09.2024)
 
Univerzita Karlova | Informační systém UK