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