PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Vývoj a administrace databázových aplikací - OPBI1I135B
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: letní
E-Kredity: 4
Způsob provedení zkoušky: letní s.:
Rozsah, examinace: letní s.:1/2, KZ [HT]
Počet míst: neurčen / 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: nevyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Je zajišťováno předmětem: OPBI3I046A
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.
Neslučitelnost : OPBI1I136B
Prerekvizity : OPBI1I109A
Záměnnost : OPBI1I136B
Je neslučitelnost pro: OPBI1I136B
Je záměnnost pro: OPBI1I136B
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Poslední úprava: PhDr. Josef Procházka, Ph.D. (01.02.2019)
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.
Deskriptory
Poslední úprava: PhDr. Josef Procházka, Ph.D. (01.10.2020)
Pro podporu studia bude též využit LMS Moodle dos tupný na adrese uvedené v řádku "Další informace"
klíč k zápisu: bude sdělen na první online výuce a následně zaslán účastníkům kurzu e-mailem prostřednictvím SIS.
 
V případě nahrazení prezenční výuky distanční formou probíhají přednášky v prostředí Jitsi Meet na adrese v čase rozvrhované výuky.
konkrétní odkaz: je uveden v moodle podpoře, případně bude zaslán účastníkům kurzu e-mailem prostřednictvím SIS.
Literatura
Poslední úprava: PhDr. Josef Procházka, Ph.D. (01.02.2019)

Publikace

  • 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

Sylabus -
Poslední úprava: PhDr. Josef Procházka, Ph.D. (01.02.2019)

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) ...
Podmínky zakončení předmětu
Poslední úprava: PhDr. Josef Procházka, Ph.D. (01.02.2019)

Požadavky ke klasifikovanému zápoč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.
 
Univerzita Karlova | Informační systém UK