Detail předmětu

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

FEKT-BPC-BDSAk. rok: 2022/2023

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ů.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení předmětu

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í,

Prerekvizity

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).

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT. Vyučování obsahuje přednášky, počítačová cvičení a projekty. Během výuky bude využit také e-learningový systém Moodle.

Způsob a kritéria hodnocení

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.

Osnovy výuky

Přednášky:
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. Zpracování dat prostřednictvím programovacího jazyka.
9. Transakce a jejich zpracování, zálohování.
10. Virtualizace a Cloudy.
11. NoSQL databáze, loggovací architektury.
12. Zabezpečení databází, shrnutí.

Počítačová cvičení:
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.

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.



Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Podmínky pro úspěšné ukončení předmětu stanoví každoročně aktualizovaná vyhláška garanta 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

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

eLearning