Detail předmětu

Bezpečnost databázových systémů

FEKT-BPC-BDSAk. rok: 2023/2024

Předmět pokrývá témata související s databázovými systémy a jejich bezpečností. Jedná se o návrh a implementaci databázových systémů, s ohledem na efektivnost zpracování většího objemu dat, virtualizaci, bezpečnostní principy, nastavení zabezpečení a možnosti zmírnění běžných bezpečnostních útoků.

Materiály k předmětu jsou v anglickém jazyce. Vyučovací jazyk čeština.


Jazyk výuky

čeština

Počet kreditů

5

Vstupní znalosti

Předmět je navržený jako úvod do databázových systémů a jejich zabezpečení. Jsou požadovány znalosti získané během středoškolského studia, především matematiky, a programování v jazyce Java (kurz: BPC-PC2T).

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

Maximálně lze získat 100 bodů, z toho 30 bodů za splnění samostatných projektů a 70 za závěrečnou písemnou zkoušku. Minimální požadovaný rozsah bodů z jednotlivých částí stanoví každoročně aktualizovaná vyhláška garanta předmětu.
Podmínky pro úspěšné ukončení předmětu stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Učební cíle

Cílem předmětu je seznámit studenty s metodami návrhu databázových systémů s ohledem na normální formy. Dále se student naučí implementovat navržené schema databáze, včetně zpracování dat prostřednictvím programovacího jazyka. V neposlední řadě se student naučí zabezpečit databázové systémy včetně virtualizace a zálohování dat.

Student získá potřebné teoretické a praktické schopnosti v návrhu a implementaci databázových systémů včetně jejich zabezpečení. Bude znát základní pravidla návrhu a implementace databázových systémů, toto prakticky realizovat s ohledem na bezpečnost takového systému.
Na základě absolvování kurzu bude student schopen:
- vysvětlit a prakticky realizovat návrh databázové aplikace,
- prakticky realizovat implementaci databázového systému,
- zpracovávat data v databázi prostřednictvím programovacího jazyka,
- zvolit vhodný typ databáze pro různé typy aplikací,
- vysvětlit a prakticky realizovat transakční zpracování dat,
- optimalizovat databázové dotazy pro snížení zátěže databázových systémů,
- nastavit databázi s ohledem na její bezpečnost,
- nasadit databázi ve virtualizovaném prostředí.

Studijní opory

Materiály ke studiu jsou k dispozici v e-learningu předmětu. 

Základní literatura

SILBERSCHATZ, Abraham, Henry F. KORTH a S. SUDARSHAN. Database system concepts. 7th ed. Boston: McGraw-Hill Education, 2019. xxvi, 1142. ISBN 1260084507. (EN)
GARCIA-MOLINA, Hector, Jeffrey D. ULLMAN a Jennifer WIDOM. Database system implementation. Upper Saddle River: Prentice Hall, 2000. xv, 653 s. ISBN 0-13-040264-8. (EN)
NATAN, Ben. Implementing Database Security and Auditing. Digital Press, 2005. xv, 432 s. ISBN 978-1555583347. (EN)

eLearning

Zařazení předmětu ve studijních plánech

  • Program BPC-IBE bakalářský, 2. ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

13 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod do databázových systémů, základní pojmy.
2. Entitně relační model, základy návrhu databázového systému.
3. Pokročilejší návrh databázového systému, normální formy.
4. Relační algebra, základy dotazovacího jazyku SQL.
5. Středné pokročilé dotazování v SQL.
6. Pokročilé SQL: pohledy, materializované pohledy, procedury a indexování dat.
7. Zabezpečení databázových systémů.
8. Bezpečné zpracování a ukládání dat prostřednictvím programovacího jazyka.
9. Transakce a jejich zpracování, zálohování.
10. Virtualizace a Cloudy - škálování a zvyšování spolehlivosti softwarových řešení.
11. NoSQL databáze, loggovací architektury a jejich význam v kyberbezpečnosti.
12. Zabezpečení databází, shrnutí. 

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

1. Úvodní cvičení.
2. Návrh základních databázových schémat.
3. Implementace základních databázových schémat, DML, DDL. Zadání prvního projektu.
4. Relační algebra a základy dotazování v SQL.
5. Pokročilejší dotazování v SQL.
6. Pokročilé dotazování v SQL. Vyhodnocení prvního projektu.
7. Běžné způsoby zabezpečení databázových systémů a zpracování hesel. Zadání druhého projektu.
8. Zpracování dat prostřednictvím programovacího jazyka Java.
9. JavaFX a implementace uživatelské aplikace v Javě, základy implementace transakcí. Vyhodnocení druhého projektu/Zadání třetího projektu.
10. Implementace základních Docker souborů a práce s nimi. Zadání třetího projektu.
11. Logovací architektura ELK.
12. Konzultace probírané látky a projektů. Vyhodnocení třetího projektu. 

eLearning