Detail předmětu

Databáze pro řízení procesů

FSI-VDC-K Ak. rok: 2025/2026 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

Vstupní znalosti

Ke studiu databázových systémů postačují základní znalosti z tvorby algoritmů.

Pravidla hodnocení a ukončení předmětu

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 N-AIŘ-K: Aplikovaná informatika a řízení, magisterský navazující, povinný

Typ (způsob) výuky

 

Konzultace v kombinovaném studiu

17 hod., povinná

Osnova

Přednášky:
1. Vymezení předmětu, studijní literatura. Používaná paradigmata. Třídění údajů (fyzické třídění, indexové soubory). Nevýhody klasického souborového zpracování. Databázové systémy, jazyky DDL a DML. Architektura databázového systému. Fyzická a logická nezávislost. Datové modely – vztah k JSON a XML.
2. Relační algebra, základní operace, relační algebra jako dotazovací jazyk. T-SQL příkazy – SELECT.
3. Návrh datových struktur. Normální formy relací. Index. Agregační funkce. Složený agregační klíč.
4. SQL. Poddotazy. Vícenásobné otevření téže tabulky, relace 1:N uvnitř téže tabulky, příklady použití. Vnořené agregace, realizace dotazu posloupností SQL dotazů.
5. SQL. Počítání s NULL hodnotou. Vyjádření existenčního a univerzálního kvantifikátoru v SQL. Křížový dotaz. Akční dotazy. Definiční dotazy.
6. No-SQL databáze.
7. MongoDB. BSON. JSON.
8. Key-Value databáze. Redis/Valkey.
9. Key-Value databáze. Redis/Valkey.
10. No-scheme databáze – ElasticSearch.
11. No-scheme databáze – ElasticSearch.
12. Grafové databáze – Neo4j.
13. Implementační modely použití více typů databází dle typu použití

Konzultace

35 hod., nepovinná

Osnova

1. Nejpoužívanější způsoby softwarové implementace pro práci s databází, Entity Framework
2. Implementace databázového zdroje do REST aplikace
3. Zajištění validity datového zdroje z implementačního hlediska
4. Využití databázových procedur pro přístup k datům, pokročilé dotazování
5. Způsoby integrace více databázových zdrojů
6. Modifikace a update databáze
7. – 8. Implementace No-SQL databáze pro nestruktorovaná data
9. -10. Implementace in-memory databáze pro zpracování datových toků
11. – 12. Ukázky implementace ElasticSearch/Neo4j.
13. Konzultace projektů.