Organizácia cvičení a podmienky udelenia zápočtu

Ciele predmetu
  1. Porozumieť významu databázových systémov a pojmov v oblasti.
  2. Pochopiť relačný dátový model a jeho význam v databázových systémoch.
  3. Naučiť sa pracovať s jazykom SQL, pomocou neho definovať z relačného modelu schému databázy, napĺňať ju údajmi a vytvárať pokročilejšie dopyty.
  4. Získať základne vedomosti v oblasti ukladaných (storovaných) procedúr a trigrov.
  5. Porozumieť matematickému pozadiu jazyka SQL - relačnej algebre.
  6. Oboznámiť sa so základmi NoSQL databáz.

    Organizácia predmetu

    Na každom cvičení riešiš úlohy s pomocou týchto materiálov. Svoje návrhy, riešenia a nejasnosti (či už ohľadom úloh alebo zadaní) konzultuješ s cvičiacim, ktorého primárnou úlohou je vystupovať v roli konzultanta. Po vyriešení všetkých úloh pokračuješ v práci na svojom zadaní. V tomto ti pomáhajú doplňujúce úlohy uvedené na konci každého cvičenia.

    Prednášky nie sú bodované. Avšak sú tu pre teba, a nie mňa. Ak niečomu nerozumieš, pýtaj sa.

    Zápočet má hodnotu 40 bodov.

    Podmienky udelenia zápočtu

    Tvojou úlohou bude získať aspoň 21 z možných 40 bodov za zápočet. Dané body je možné získať za nasledovné aktivity:
    • 21 bodov za zadanie,
    • 10 bodov za zápočtový test,
    • 4 bodov za priebežné bleskovky (2x2 body),
    • 5 body ti pridelí cvičiaci podľa tvojej aktivity a prístupu k predmetu.
    Ak si opakujúci študent, a máš skrátený semester, dohodni si postup s prednášajúcim (cvičiaceho s tým neotravuj, iba ak je náhodou zároveň aj tvoj prednášajúci).

    Zadanie

    Tvoj cvičiaci ti určí doménu, a tvojou úlohou bude pre ňu vytvoriť vzorovú databázu nasledovným spôsobom:
    1. pomocou entitno-relačného modelu namodeluješ určenú doménu (odporúčané nástroje sú draw.io, resp. ERDPlus),
    2. vytvorený ER model prevedieš na relačnú schému (odporúčané nástroje sú draw.io, resp. ERDPlus),
    3. pre danú relačnú schému napíšeš SQL skript, ktorý danú schému bude implementovať na vybranom databázovom systéme (odporúčaný je Oracle),
    4. tvojou ďalšou úlohou bude naplniť vytvorenú databázu zmysluplnými údajmi,
    5. napíšeš sadu pohľadov, ktoré budú ukazovať tvoje zvládnutie rôznych typov selectov,
    6. vytvoríš sekvenciu a napíšeš k nej triger, ktorý bude implementovať generovanie autoinkrementovaných umelých primárnych kľúčov,
    7. a uzavrieš to napísaním jednoduchého trigra (napr., ktorého úlohou bude umožniť volať príkaz INSERT nad tebou vybraným pohľadom).

    Zadanie musí spĺnať nasledovné podmienky:

    • musí zahŕňať aspon 4 entitné množiny s aspoň 3 vzťahovými množinami (aspoň jedna s kardinalitou 1:M, a jedna jeden M:N), nepoužívajte pritom zložené a viachodnotové atribúty;
    • každá tabuľka musí mať aspoň 5 zmysluplných záznamov (inšpiruj sa reálnym svetom);
    • musí obsahovať 10 zmysluplných pohľadov:
      • 2 pohľady s jednoduchým netriviálnym selectom nad jednou tabuľkou,
      • 3 pohľady so spájaním tabuliek (1x spojenie aspoň 2 tabuliek, 1x spojenie aspoň 3 tabuliek, 1x outer join),
      • 2 pohľady s použitím agregačných funkcií a/alebo zoskupenia,
      • 1 pohľad s použitím množinových operácií,
      • 2 pohľady s použitím vnorených poddopytov.
      ;
    • musí obsahovať sekvenciu na generovanie primárnych kľúčov a triger/trigre, ktoré budú implementovať ich autoinkrementáciu,
    • a musí obsahovať aspoň jeden zmysluplný triger (napr. pre podporu modifikácie jedného z vytvorených pohľadov).

    Odovzdávať sa bude v troch termínoch:

    • 5. týždeň - odovzdanie ER modelu, relačnej schémy, skriptu na vytvorenie DB.
    • 8. týždeň - odovzdanie skriptu na naplnenie databázy, pohľadov ukazujúcich selecty so spájaním tabuliek, zoskupovaním záznamov a agregačnými funkciami.
    • 13. týždeň - odovzdanie pohľadov s vnorenými poddopytmi a trigrov (+ úprava skriptu na naplnenie databázy aby využívali autoinkrementáciu).
    Každé odovzdanie je za 7 bodov, dokopy 21 bodov. Odovzdávaš vždy dokument (v elektronickej forme) s potrebnými modelmi a skriptami, ktorý sa priebežne inkrementálne dopĺňa (napr. pri druhom odovzdaní prídeš s dokumentom, ktorý bude obsahovať materiály aj za prvé odovzdanie).

    Priebeh odovzdávania

    Danú časť zadania musíš taktiež predviesť na reálnom databázovom systéme (na vlastnom notebooku alebo školskom DBS, voľba je na tebe) -- cvičiaci si prezrie dokument, a overí si tvoju pripravenosť požiadaním o napísanie SQL dopytu podľa jeho/jej voľby.

    Ako sa bude odovzdávať eletronický dokument je na voľbe cvičiaceho (či mail, moodle, alebo USB flash).

    Za splnenie minimálnych formálnych podmienok získavaš pri odovzdaní 4 zo 7 bodov (teda 58%). Zvyšné 3 body ti cvičiaci dáva za vhodný prístup - dobre premyslenú analýzu domény, zaujímavý select, atď.

    Zápočtový test

    Tvojou úlohou sa bude aj učiť, nie len pracovať na zadaní. V 11. týždni dostaneš test, v ktorom sa overí aj tvoja schopnosť písať SQL dopyty, aj teoretické vedomosti ohľadom databáz a jazyka (v medziach prednášok).

    Test bude za 10 bodov, a bude v pomere 4 bodov za teoretické otázky, 6 bodov za praktické (SQL).

    Bleskovky

    V priebehu semestra ťa čakajú ešte 2 krátke bleskové písomky z predchádzajúcej prednášky/cvičenia, takže na cvičenia prichádzaj pripravený.

    Aktivita

    Posledné 5 body sú ponechané na cvičiaceho, ktorý nimi môže oceniť tvoju aktivitu na cvičeniach, výnimočné nápady alebo prácu na zadaní, či celkovo tvoj prístup k predmetu.

Podmienky pre získanie zápočtu
Vyučujúci

Prednášajúci:
Cvičiaci:
Prednášky:
Zdroje
  1. Ramez Elmasri, Shamkant B. Navathe: Fundamentals of Database Systems, Addison Wesley, 5 edition, 2006, 1168 s. ISBN 0321369572
  2. Abraham Silberschatz, Henry F. Korth, S. Sudarshan: Database System Concepts, The McGraw-Hill Companies, 2011, 6th edition, ISBN 978-0-07-352332-3
  3. S. Sumathi, S. Esakkirajan: Fundamentals of Relational Database Management Systems, Springer, 2007, 776 s. ISBN 3540483977
  4. K. Matiaško, M. Vajsová, M. Zábovský, M. Chochlík: Databázové systémy a technológie, STU v Bratislave FIIT, 2009, 693 s. ISBN 978-80-227-3035-8
  5. Jennifer Widom: Databases, online course, Stanford University, Stanford, California 94305
  6. Peter Gulutzan & Trudy Pelzer: SQL-99 Complete, Really, 1999, 1078 s. ISBN 978-0879305680
  7. www.oracle.com
comments powered by Disqus