====== B0B36DBS – Databázové systémy ======
Předmět je koncipován jako základní databázový kurz, v němž je důraz kladen zejména na schopnost samostatného návrhu datového modelu, zvládnutí jazyka SQL a schopnosti zvolit vhodný stupeň izolovanosti transakcí. Studenti se dále seznámí s nejběžněji používanými technikami indexace, architekturou databázových systémů a jejich správou. Své poznatky si ověří při vypracování průběžně odevzdávané samostatné úlohy.
[[https://fel.cvut.cz/cz/education/bk/predmety/50/10/p5010606.html|Popis předmětu]] [[https://fel.cvut.cz/cz/education/rozvrhy-ng.B222/public/html/predmety/50/10/p5010606.html|Rozvrh předmětu]]
===== Kontakty =====
* Přednášející: [[https://udb.fel.cvut.cz/udb.phtml?_cmd=show&odn=uid=RIMNACM,ou=People,o=feld.cvut.cz&_type=user|Martin Řimnáč]]
* Cvičící: [[https://udb.fel.cvut.cz/udb/udb.phtml?_cmd=show&odn=uid=kostobog,ou=People,o=feld.cvut.cz&_type=user|Bogdan Kostov]] [[https://udb.fel.cvut.cz/udb/udb.phtml?_cmd=show&odn=uid=nagyoing,ou=People,o=feld.cvut.cz&_type=user|Ingrid Nagyová]] [[https://udb.fel.cvut.cz/udb/udb.phtml?_cmd=show&odn=uid=prokoyul,ou=People,o=feld.cvut.cz&_type=user | Yullia Prokop ]] [[https://udb.fel.cvut.cz/udb/udb.phtml?_cmd=show&odn=uid=uhrinmat,ou=People,o=feld.cvut.cz&_type=user|Matej Uhrín]]
===== Harmonogram =====
^ Týden ^ Přednáška ^ P ^ Cvičení ^ Odevzdání ^
| 1 | {{ :courses:b0b36dbs:lecture-conceptual-modeling.pdf |Konceptuální model}} | | {{ :courses:b0b36dbs:lab-er-1.pdf |Konceptuální model}} {{ :courses:b0b36dbs:lab-er-solutions.pdf | (řešení)}} |
| 2 | Konceptuální model - ukázka | | {{ :courses:b0b36dbs:lab-er-2.pdf |Konceptuální model}} |
| 3 | {{ :courses:b0b36dbs:lecture-relational-model.pdf |Relační model }} | | {{ :courses:b0b36dbs:lab-rm.pdf |Relační model}} {{ :courses:b0b36dbs:lab-rm-solutions.pdf | (řešení)}} | Sdělení tématu |
| 4 | Relační model | * | ** Odevzdávání konceptuálního modelu ** ||
| 5 | {{ :courses:b0b36dbs:lecture-11-functional-dependencies.pdf| Funkční závislosti}} | | {{ :courses:b0b36dbs:lab-fd.pdf | Funkční závislosti}} ({{ :courses:b0b36dbs:lab-11-fd-solutions.pdf | řešení}}) | |
| 6 | {{ :courses:b0b36dbs:lecture-03-sql-data-definition.pdf | SQL - práce s datovým modelem }} | | {{ :courses:b0b36dbs:lab-04-sql-schema.pdf |SQL - práce s datovým modelem}} ({{ :courses:b0b36dbs:lab-04-sql-schema-solutions.pdf | řešení}})| |
| 7 | {{ :courses:b0b36dbs:lecture-04-sql-data-querying.pdf | SQL - práce s daty}} | | {{ :courses:b0b36dbs:lab-05-sql-querying.pdf |SQL - práce s daty}} ({{ :courses:b0b36dbs:lab-05-sql-querying-solutions.pdf |řešení}}) | Relační model |
| 8 | {{ :courses:b0b36dbs:lecture-05-sql-advanced-constructs.pdf |SQL - pokročilé techniky}} | | {{ :courses:b0b36dbs:lab-07-sql-advanced.pdf |SQL - pokročilé techniky}} ({{ :courses:b0b36dbs:lab-07-sql-advanced-solutions.pdf |řešení}} {{ :courses:b0b36dbs:lab-07-sql-advanced-solutions-alt.pdf | řešení 2}}) | |
| 9 | {{ :courses:b0b36dbs:lecture-06-database-transactions.pdf |Databázové transakce}} | | {{ :courses:b0b36dbs:transakce.pdf | Databázové transakce}} | |
| 10 | {{ :courses:b0b36dbs:lecture-09-query-evaluation.pdf | SQL - analýza dotazů, indexy}} | * | ** Datový model a práce s daty **||
| 11 | {{ :courses:b0b36dbs:lecture-10-jdbc-jpa.pdf | JDBC, JPA }}| | {{ :courses:b0b36dbs:lab-09-evaluation.pdf | SQL - analýza dotazů}}, indexy, triggery ({{ :courses:b0b36dbs:lab-09-evaluation-solutions.pdf | řešení}}) | |
| 12 | (odpadá, pondělní rozvrh) | | {{ :courses:b0b36dbs:lab-10-jdbc-jpa-mr.pdf | JDBC, JPA}} {{ :courses:b0b36dbs:lab-10-jdbc-jpa.pdf | (MS)}} ({{ :courses:b0b36dbs:lab-10-jdbc-jpa-solutions.pdf |řešení}}) | Ukázka transakce, optimalizace, triggeru |
| 13 | {{ :courses:b0b36dbs:lecture-12-modern-trends.pdf | Aktuální trendy }} {{ :courses:b0b36dbs:datove-sklady.pdf | OLAP}} | |Samostatná práce / Rektorský den | |
| 14 | (rezerva/předtermín) | * | ** Odevzdávání java aplikace **||
Účast na cvičení označených * je povinná.
Materiály vycházejí z [[https://www.ksi.mff.cuni.cz/~svoboda/courses/182-B0B36DBS/|běhu 2020/2021 předmětu Databázové systémy přednášejícího Martina Svobody]].
===== Podmínky zápočtu =====
* Účast na cvičení je dobrovolná, avšak silně doporučená; to se netýká povinnému cvičení výše označeného *, kdy se prezentují úlohy cvičícímu.
* Nedílnou součástí cvičení je práce na semestrální práci. Semestrální práce má jediné realistické téma, které je postupně rozpracováváno formou dílčích úloh.
* Každá úloha musí být odevzdána alespoň na třetinový počet bodů, všechny úlohy alespoň na polovinu z maximálního počtu dosažitelných bodů.
* Úlohy se vypracovávají samostatně elektronicky s pomocí vhodných specializovaných aplikací.
* Vypracovaná úloha se odevzdává prostřednictvím systému BRUTE řádně a včas, pozdější odevzdání je penalizováno 5 body. Penalizace se započítává do celkového hodnocení za cvičení.
* Vypracovanou úlohu je možné do systému nahrát opakovaně, hodnotí se jen poslední verze. Jakmile cvičící poslední verzi ohodnotí, toto hodnocení zapsané do systému BRUTE je konečné. Jest žádoucí se s námitkami cvičícího seznámit a reflektovat je v dalších úlohách.
* V případě nadstandardně vypracované úlohy či aktivity na cvičení může cvičící přidělit bonusové body. Maximální celkový počet bonusových bodů je 12.
* Body získané řešením semestrální práce se z 30% podílí na výsledném hodnocení.
=== Semestrální práce ===
* Úlohy se odevzdávají výhradně pomocí odevzdávacího systému BRUTE
* Každý si zvolí dostatečně nosné téma, které bude během semestru zpracovávat. Změna tématu během semestru není možná.
* Úlohy je nutné odevzdávat řádně a včas, odevzdávejte pouze to, co je požadováno pro zdárné splnění úlohy.
===== Zkouška =====
* Zkouška má povinnou písemnou část a nepovinnou ústní část.
* Na vypracování písemné části je 120 min, termín konání ústní části sdělí zkoušející v den zkoušky.
* Hodnocení se skládá z bodů
* ze cvičení dělených 3 (tj. max 30 bodů)
* získaných během zkoušky (tj. max 70 bodů), přičemž písemná část nemůže být hodnocena méně než 40 body.
* Známka se uděluje dle ECTS stupnice na základě celkového počtu získaných bodů.
* Náhled do písemné práce je umožněn po ukončení následujícího zkouškového termínu.