Detail předmětu
Databáze pro řízení procesů
FSI-VDC Ak. rok: 2027/2028 Zimní semestr
Předmět představuje úvod do problematiky databázových systémů.
Zabývá se následujícími tématy: Zpracování dat, problém redundance a nekonzistence, integrita, utajení, víceuživatelský přístup k datům. Index-sekvenční organizace dat. Integritní omezení pro vztahy.
Architektura databázového systému, datové modely. E-R model, relační algebra, dotazovací jazyk relační algebry.
Teoretické aspekty návrhu informačních systémů. Funkční závislosti, normální formy relací, dekompoziční teorém.
Dotazovací jazyk SQL.
Bezpečnost dat.
Cloudy a gridy.
NoSQL databáze.
MongoDB. ElasticSearch. Redis/Valkey.
Jazyk výuky
čeština
Počet kreditů
6
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Ke studiu databázových systémů postačují základní znalosti z tvorby algoritmů.
Způsob zakončení předmětu a pravidla hodnocení studentů
Podmínkou pro zápočet je implementace netriviální databázové aplikace v využitím odpovídajících prostředků.
Zkouška má písemnou nebo elektronickou formu. Studenti v ní prokazují znalost návrhu datových struktur, relační algebry, jazyka SQL a programování.
Protože cvičení jsou povinná, bude na nich vyučující pravidelně kontrolovat účast. V případě omluvené nepřítomnosti student obdrží příklady k samostatnému vypracování tak, aby mohl zameškanou látku zvládnout.
Učební cíle
Cílem předmětu je seznámit studenty se základními databázovými technologiemi pro efektivní návrh a správu aplikací s velkým rozsahem údajů v prostředí internetu.
Předmět slouží studentům k seznámení s teoretickými aspekty návrhu databázové aplikace a její implementace v prostředí internetu včetně programování příslušných programovacích technik. Budou tak schopni vytvořit aplikaci pro efektivní správu velkého množství dat a také se naučí využívat cloudové služby.
Studijní opory
STEPHENS, R., Beginning Database Design Solutions: Understanding and Implementing Database Design Concepts for the Cloud and Beyond, 2023, 978-1394155729
DATE, C.J., Database Design and Relational Theory: Normal Forms and All That Jazz, 2019, 978-1484255391
KLEPPMANN, M. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, 2017, 978-1449373320
HERNANDEZ, Michael, J., Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design, 2003, 978-020175284
CARLSON, Josiah, L., Redis in Action, 2013, 978-1617290855
Použití předmětu ve studijních plánech
Program B-MAI-P: Matematické inženýrství, bakalářský, povinně volitelný
Program N-MET-P: Mechatronika, magisterský navazující, volitelný
Program B-STR-P: Strojírenství, bakalářský
specializace AIŘ: Aplikovaná informatika a řízení, povinný
Typ (způsob) výuky
Přednáška
26 hod., nepovinná
Osnova
- Vymezení předmětu, datové potřeby, konceptuální modelování a rozhodovací
rámec - Datové modelování – ER diagram
- ER diagram – pokračování, syntaxe SQL a fyzický datový model
- Databázové dotazování I – SELECT, JOIN a agregace
- Databázové dotazování II – poddotazy, pohledy, transakce a triggery
- PL/pgSQL – programovatelnost databází
- NoSQL databáze – úvod a práce s časovými řadami (TimescaleDB, InfluxDB)
- MongoDB – dokumentové databáze
- Firebase – Firestore
- Redis/Valkey – databáze typu klíč–hodnota, mezipaměť a fronty
- Elasticsearch – fulltextové vyhledávání
- Grafové databáze — Neo4j, Cypher
- Polyglot persistence + rozhodovací rámec — shrnutí kurzu
Cvičení s počítačovou podporou
26 hod., povinná
Osnova
- Seznámení s prostředím, PostgreSQL (Docker/server), zadání projektu 1 a tvorba týmů
- Návrh ER diagramu pro vlastní téma projektu 1, vzájemné hodnocení (peer review)
- CREATE TABLE, cizí klíče a omezení CHECK – implementace ER diagramu v PostgreSQL
- Procvičování dotazů SELECT a JOIN na databázi MetalWorks, dotazování nad vlastním projektem
- Pokročilé SQL dotazy, pohledy a transakce; test ze SQL
- Triggery a uložené procedury – rozšíření vlastního projektu
- Praktická práce s TimescaleDB (import CSV, time_bucket, continuous aggregates); zadání projektu 2
- Obhajoba projektu 1
- Firebase/Firestore – práce s konzolí, kolekce, bezpečnostní pravidla a dotazování prostřednictvím webového SDK
- Redis CLI – datové struktury, TTL, pub/sub; integrace s FastAPI a využití jako mezipaměti
- Elasticsearch a Kibana – indexování, mapování (mapping), Query DSL a fulltextové vyhledávání
- Obhajoba projektu 2
- Závěrečný test a shrnutí kurzu