Závěrečný test z předmětu Databáze v geoinformatice

Generováno ze sady otázek aktualizované 17. 12. 2025

Vaše jméno/aktuální rok/obor: ______________________

Následující test byl náhodně vygenerován přímo pro tento konkrétní termín právě pomocí databází :) Pokud je Vám v zadání něco nejasného, nebojte se zeptat.

Na vypracování testu máte 48 minut!
Můžete získat maximálně 39 bodů.
Abyste ho zvládli alespoň na 3, potřebujete 23 bodů!
Abyste ho zvládli na 2, potřebujete 29 bodů!
Abyste ho zvládli na 1, potřebujete 35 bodů!



1) Přepište vlastními slovy ve srozumitelné české větě, co bude provedeno po odeslání následujícího SQL skriptu: (čas: 5 min, bodů: 4, výskyt: 1362x)





2) Popište, k čemu lze v rámci jazyka SQL využít následující příkazy a uveďte u každého nějaký konkrétní příklad: (čas: 4 min, bodů: 6, výskyt: 444x)

□ COUNT()


□ AVG()


□ SUM()


3) Vysvětlete vlastními slovy, co rozumíme pojmem geodatabáze. (čas: 3 min, bodů: 2, výskyt: 109x)





4) Určete v jakém pořadí se vyhodnocuje dotaz SQL enginem? (zakroužkujte správnou odpověď) (čas: 2 min, bodů: 3, výskyt: 1414x)

□ SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY


□ FROM - WHERE - GROUP BY - HAVING - ORDER BY - SELECT


□ FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY


5) Které/á z následujících tvrzení je/jsou pravdivé/á o TRUNCATE? (zakroužkujte správnou odpověď/odpovědi) (čas: 2 min, bodů: 3, výskyt: 1258x)

□ TRUNCATE zapisuje méně do transakčního logu než DELETE


□ TRUNCATE vymaže data i celou tabulku


□ TRUNCATE vymaže pouze data v tabulce


6) Vysvětlete význam volby datového typu v databázi a uveďte konkrétní příklad, kdy špatná volba datového typu může způsobit problém. (čas: 6 min, bodů: 4, výskyt: 102x)





7) Vyberte JEDNO SPRÁVNÉ SQL řešení. Vypište vozidla, která ještě nikdy nebyla v opravě. (čas: 6 min, bodů: 5, výskyt: 122x)

□ SELECT v.* FROM vozidla v WHERE NOT EXISTS (SELECT 1 FROM opravy o WHERE o.vozidlo_id = v.id);


□ SELECT * FROM vozidla v JOIN opravy o ON v.id = o.vozidlo_id;


□ SELECT * FROM vozidla WHERE id NOT IN opravy;


8) Popište stručně historii vývoje databází. (čas: 10 min, bodů: 5, výskyt: 453x)





9) Pokud chceme spojit tabulku 1 s tabulkou 2 tak, aby výsledkem byly všechny záznamy z tabulky 1 a společné záznamy z tabulky 2 tak použijeme jakou možnost? (zakroužkujte správnou odpověď) (čas: 3 min, bodů: 2, výskyt: 1308x)

□ SELECT * FROM [Tabulka 1] JOIN [Tabulka 2] ON ...


□ SELECT * FROM [Tabulka 1] LEFT JOIN [Tabulka 2] ON ...


□ SELECT * FROM [Tabulka 1] RIGHT JOIN [Tabulka 2] ON ...


10) Vysvětlete princip SQL injection útoku a popište základní způsoby obrany proti tomuto typu útoku. (čas: 7 min, bodů: 5, výskyt: 77x)







DOBROVOLNÁ ÚLOHA
Tato úloha se nezapočítává do celkových bodů a času, ale pokud ji splníte, můžete za ni získat body k dobru :)


11) Která z následujících funkcí není validní agregační funkce? (zakroužkujte správnou odpověď) (čas: 1 min, bodů: 1, výskyt: 1243x)

□ SUM()


□ AVERAGE()


□ MIN()