Tomas Plachetka

Comenius University > Faculty of Mathematics, Physics and Informatics > Department of Computer Science

Research
Teaching
Publications
Contact

Uvod do databazovych systemov 2026/2027 Zima

Oznamy (tie najviac aktualne su na prvych miestach)

  • Podmienky uspesneho absolvovania predmetu su v slajdoch k prvej prednaske. Ocakavanu znamku po absolvovani pisomnej casti skusky v skuskovom obdobi pocita tento program.
  • Sucasne s tymto predmetom odporucam zapisat si tiez Databazove praktikum (1-INF-270). Ak sa Vam zapis nepodari, dajte mi prosim vediet.

Prednaska

T. Plachetka: Utorok 9:50, M.III

  • Uvodna prednaska
    • Organizacia kurzu
    • Historia, motivacia
    • Ucel databaz, charakteristika DB aplikacii
    • Trojstupnova ANSI/SPARC architektura, datove modely
    • Entitno-relacny, relacny a navigacny datovy model
    • Knihy, casopisy, konferencie
  • Relacny kalkul, Datalog
    • Relacie a predikaty
    • Dotazy
    • Relacny kalkul
    • Datalog
  • SQL
    • DDL (Data Definition Language) a DML (Data Manipulation Language)
    • DML: Syntax a semantika SELECT
    • SELECT: selekcia, projekcia, premenovanie, ORDER BY, UNION/INTERSECT/EXCEPT, INNER JOIN, OUTER JOIN, NULL hodnoty a 3-hodnotova logika, poddotazy, GROUP BY/HAVING, duplikaty v tabulkach
    • Preklad Datalog>SQL
    • DML: INSERT, UPDATE, DELETE
    • DDL: typy/DOMAIN, vytvorenie/odstranenie/modifikacia tabulky, default hodnoty, indexy, VIEW, aktualizacia cez VIEW
  • Relacna algebra
    • Ucel relacnej algebry
    • Operatory relacnej algebry
    • Priklad optimalizacie na urovni relacnej algebry
    • Multimnoziny (bags) a operatory nad multimnozinami
    • Grupovanie a agregacia
    • Semantika SELECT... FROM... WHERE... GROUP BY... HAVING
  • Agregacia a rekurzia v dotazovacich jazykoch
    • Grupovanie a agregacia v SQL, relacnej algebre, relacnom kalkule a Datalogu
    • Rekurzia v SQL, relacnej algebre, relacnom kalkule a Datalogu
    • Vypocet dotazov: iteracia (naivna a seminaivna evaluacia)
    • Stratifikovana negacia
    • Simulacia rekurzie s fixnou hlbkou v SQL bez WITH RECURSIVE
  • Fyzicka organizacia
    • Typy externych (trvacnych) medii
    • Fyzicka algebra, fyzicke plany
    • Materializacia vs. pipelining medzivysledkov
    • Zlozitost fyzickych operatorov
    • Implementacia vybranych operatorov: merge-sort, nested-loop-join
  • Navrhovanie databaz
    • Ciel a metodologia navrhovania databaz
    • Entitno-relacne diagramy, pravidla dobreho navrhu, primary keys, surrogate keys, foreign keys
    • Preklad ER diagramov do SQL (DDL)
    • Identifikacia funkcnych zavislosti
  • Funkcne zavislosti
    • Motivacia normalizacie
    • Funkcne zavislosti, Armstrongove axiomy
    • Uzaver mnoziny atributov, uzaver mnoziny funkcnych zavislosti
    • Uplnost Armstrongovych axiom
    • Pokrytie a minimalne pokrytie mnoziny funkcnych zavislosti
    • Nadkluce a kluce
    • Relacne schemy, dekompozicia relacnych schem, bezstratovost dekompozicie

Starsie materialy k tomuto kurzu: RNDr. J. Sturc

Cvicenia

Pondelok 16:30 M.X

Pondelok 18:10 M.X

Priebezne hodnotenie

Na svojom domacom pocitaci viete instalovat SWI-Prolog na trenovanie Datalogovych dotazov. Negacia sa v SWI pise "\+", definicna implikacia ":-", inak je syntax identicka so syntaxou Datalogu na cviceniach. Do working directory odporucam skopirovat subory query.pl, subtotal.pl a s.pl.

Niekolko tipov k pouzivaniu SWI-Prolog

  • Ak spustate SWI-Prolog z command-line (pod MS Windows sa da sputit dvojklikom na subor .pl), odporucam dat mu priamo subor s pravidlami, takto: swipl -s s.pl
  • V prikazovom okne viete spustat dotazy. Dotazy odporucam zabalit do q(.), takto: q(answer(K, C)).
  • Editor otvorite z prikazoveho okna takto: edit.
  • Po zmene zdrojoveho suboru v editore treba pred spustenim dotazu v prikazovom okne napisat: make. (a opravit pripadne chyby v editore atd.)
  • Evaluacia aritmetickych vyrazov v pravidlach (mimo subtotal) sa pise takto: C is 2 + 5 (nie C = 2 + 5).

Praktikum

Stvrtok 18:10 I.H3

Literatura


Updated by Tomas Plachetka, Nov/13/2026