Databázové systémy – definice, složení a vlastnosti • Co je to databáze (1 b), co je to databázový systém (1 b) • Třívrstvá architektura (1 b) • Složení databázové vrsty (SŘBD, báze dat) (1 b) • Druhy databází – relační, noSQL (1 b) • Vlastnosti databází (ACID) (2 b) • OLTP vs OLAP databáze (1 b)
Databázové systémy – proces návrhu databázového modelu, práce s databázovým systémem • Zadání, účel (1 b) • Přístup k datovému modelování (1 b) • E-R / E-R-A model (1 b), logické schéma (1 b), diagram tříd (1 b), realizace (1 b), testovací naplnění (1 b), testovací dotazy a úpravy na základě testů (1 b), zprovoznění a dokumentace (1 b) • Propojení aplikace na databázový systém (1 b)
Relační databáze – relace, atributy, záznamy, podmínky relačnosti, funkce databáze • Co je to relace (1 b), podmínky relačnosti (3 b) • Co jsou to atributy relace, typy atributů (PK, FK, index), příklady (1 b) • Co jsou to záznamy relace, příklady (1 b) • Základní funkce databáze – skupiny příkazů (definice struktury dat, operace s daty, řízení dat) (1 b) • Rozšiřující funkce databáze (triggery, uložené procedury, transakce, zamykání) (2 b)
E-R, E-R-A model • Co je entity, relation, attribute (1 b) • Jak se znázorňuje E-R, E-R-A model, co je součástí a jejich rozdíly (2 b) • Rekurzivní vztah, specializace a generalizace (3 b) • Příklad vytvoření E-R, E-R-A modelu (1 b)
Kardinality vztahů • Kardinalita 1:1, 1:N, M:N, příklady (3 b) • Realizace vztahu 1:N, realizace vztahu M:N, příklady, rozklady (3 b) • Binární vs. n-ární vztahy (1 b) • Silné a slabé relace (1 b)
Logické schéma, klíče • Co je logické schéma (1 b) • Rozkladové relace (1 b) • Primární a cizí klíče, indexy – definice (3 b) • Rozdíl logického schématu vs. E-R / E-R-A modelu (1 b) • Nulový atribut (1 b)
Datové typy v relačních databázích • Použití a důvody použití datových typů (1 b) • Číselné typy – celé číslo, kladné/kladné i záporné, desetinné, rozsahy (2 b) • Řetězcové typy – s omezením délky, „bez omezení“ délky (1 b) • Datové typy pro datum a čas (1 b) • Datový typ pro logické hodnoty (1 b) • Datový typ pro sadu hodnot (1 b)
Pravidla pro relační databáze podle E. F. Codda • Kdo byl E. F. Codd (1 b) • Jednotlivá pravidla pro relační databáze (není nutné pořadí) (12 b)
Relační algebra – základní operace (projekce, selekce, spojení) • Co je to projekce, selekce, příklady (2 b) • Kombinace projekce a selekce, příklad (1 b) • Spojení – inner/outer, left/right, příklady (3 b)
Přístupy k datovému modelování • Zdola nahoru, shora dolů – popis, postup (2 b) • Otázky návrhu databázového modelu (1 b) • Výhody a nevýhody jednotlivých přístupů, kdy se používá který (2 b)
Normalizace – 1. a 2. NF • Co je to normalizace (1 b) • Závislosti atributů – plná funkční závislost, částečná funkční závislost (2 b) • 1. a 2. NF – co to je, postup normalizace, příklady (4 b)
Normalizace – 3., BC, 4. a 5. NF • Co je to normalizace (1 b) • Závislosti atributů – tranzitivní závislost, vícehodnotová závislost (2 b) • 3. NF – co to je, postup normalizace, příklad (2 b) • BC, 4. a 5. NF – co to je, postup normalizace, příklady (3 b)
Integritní omezení • Co je to integrita dat (1 b), integritní omezení (1 b), kdy je nutné kontrolovat zachování integrity dat (1 b), jak realizujeme v databázi (1 b) • Entitní integrita (1 b) • Referenční integrita, příklad (3 b) • Doménová integrita (1 b)
Jazyk SQL – vytváření relací, datové typy, zajištění integrity dat • Co je to SQL, základní syntaxe (1 b) • Z čeho se vychází při vytváření relace (1 b) • Příkaz vytvoření relace (1 b) – včetně indexů (1 b), včetně zajištění integrity dat (doménová (1 b) i referenční (1 b)); zjištění, jak je relace vytvořena (1 b); změna (1 b)
Jazyk SQL – konstrukce SELECT, projekce, selekce, restrikce • Co je to SQL, základní syntaxe (1 b) • Co je to projekce, příklad (1 b) • Co je to selekce, příklad (1 b) • Co je to restrikce, příklad (1 b) • Příkaz SELECT – složení (1 b), doplnění restrikce (1 b), příklady vč. AND, OR, IS, NULL… (1 b)
Jazyk SQL – modifikátory, počet, alias, seskupení, limit • Co je to SQL, základní syntaxe (1 b) • Co je to modifikátor, použití (1 b) • Kdy se používá počet, alias, seskupení, limit (2 b) • Příkaz SELECT – realizace příkazu s modifikátorem DISTINCT, realizace příkazu s COUNT, AS, GROUP BY, LIMIT (2 b)
Jazyk SQL – spojení • Co je to SQL, základní syntaxe (1 b) • Spojení (1 b) • Aliasy tabulek (1 b) • Typy spojení, příklady (4 b) • Příkaz SELECT – výběr ze dvou tabulek, výběr ze tří a více tabulek (2 b)
Jazyk SQL – pohledy (views), funkce (procedury) • Co je to SQL, základní syntaxe (1 b) • Co je to pohled (view), kdy a jak se používá (2 b) • Příkaz vytvoření pohledu (view), použití (2 b) • Co je to funkce (procedura), kdy a jak se používá (2 b) • Příkaz vytvoření funkce (procedury), použití (2 b)
Jazyk SQL – definice uživatele, role, oprávnění • Co je to SQL, základní syntaxe (1 b) • Proč se používá správa uživatelů (1 b), co je to DCL (1 b), správa rolí a oprávnění – popis (1 b) • Příkazy na správu uživatelů (vytvoření, mazání, nastavení hesla) (3 b) • Základní typy oprávnění (ALL PRIVILEGES, CREATE, SELECT, …) (1 b) • Příkazy na přiřazení oprávnění uživatelům (GRANT, REVOKE) (1 b)
Grafová databáze – definice, rozdíly s relační databází • Co je to grafová databáze, použití (1 b) • Co je to uzel (vertex), vztah (edge), vlastnost (property) (3 b) • Přiřazení objektů z relační databáze objektům z grafové databáze (2 b)
Grafová databáze – základy jazyka Cypher • Co je to grafová databáze, použití (1 b) • Vytvoření uzlu (vertex) s parametry (1 b), spojení dvou uzlů vztahem (edge) (1 b), nastavení parametru u spojení (1 b) • Selekce z jednoho uzlu s restrikcí (1 b), selekce více uzlů podle vztahu (1 b) • Změna parametru u existujícího uzlu (1 b), výmaz uzlu (1 b)
Údržba databázového systému • Zálohování – typy záloh, rozdíly (2 b) • Aktualizace databázového serveru, důvody, proces (1 b) • Sledování pomalých dotazů, důvody, jak, optimalizace (1 b) • Monitorování výkonu, clusterizace, typy clusterů, load balancing (2 b) • Správa diskového prostoru, řešení (1 b) • Správa uživatelů (1 b)