|
Uvod do databazovych systemov 2015/2016 Zima
Oznamy (tie najviac aktualne su na prvych miestach)
- Terminy skusok:
- Znamky sa zapisuju do indexov v skuskovych terminoch, na zaciatku
pisomky.
- Na skusku treba priniest index, ISIC kartu, dostatok cistych
papierov a pero. Ziadne ine pomocky nie su dovolene. Vsetky elektronicke
zariadenia, vratane mobilnych telefonov, budu pocas testu vypnute. Opisovanie,
akakolvek komunikacia pocas testu alebo iny pokus o podvod znamena neuspesne
absolvovanie kurzu (Fx). Jedinou vynimkou je komunikacia s ucitelom za
ucelom upresnenia zadania ulohy.
- Skuska prebieha formou pisomneho testu, podmienkou prihlasenia
sa na skusku je aspon 40% hodnotenie prace pocas
semestra (PZ). Na test sa treba najneskor 1 den vopred elektronicky prihlasit. Ak sa Vam
z nejakeho dovodu nedari prihlasit, poslite mi email.
Prihlasenie na test je zavazne (t.j. termin, na ktory ste prihlaseny, sa
pocita aj ked ten test nepisete). Ak viete ze na termin nepridete,
prosim odhlaste sa z neho (ak mate problem s odhlasenim, dajte mi vediet cim
skor cez email).
- Pri hodnoteni sa berie do uvahy len posledny termin skusky.
- Hodnotenia skuskovych testov budu priebezne zverejnovane na tejto web
stranke. Ak s tym nesuhlasite, dajte mi prosim vediet.
- Do pozornosti davam vyberovy kurz Databazove praktikum (1-INF-270),
ponukany a silne odporucany studentom 2INF.
Ak mate zaujem si tento predmet zapisat a nie ste studentom 2INF, dajte
mi vediet:
P1 Pondelok 9:50 M.217
P2 Stvrtok 8:10 M.217
- Nutnou podmienkou kvalifikacie na skusku je praca pocas
semestra, ktora sa hodnoti priebezne ("zapocet", vyjadreny v percentach).
Hodnoti sa najma priprava na
cvicenia, formou kratkych testov na zaciatku kazdeho
cvicenia. (V priebehu
semestra pribudnu mozno dalsie hodnotene povinnosti, napr. domace ulohy.)
"Zapoctove" hodnotenie ma pre vypocet znamky rovnaku vahu ako skuska, ktora
ma formu pisomneho testu. Na uspesne absolvovanie kurzu treba ziskat z
kazdeho ciastkoveho hodnotenia (zapocet, skuska) aspon 40% a zaroven z oboch v
priemere aspon 50%. Znamku pocita tento program v C.
- Ak ste studentom tohto kurzu, prihlaste sa do
rozvrhovacieho systemu cviceni, zmente svoje heslo (zvolte si heslo,
ktore nezabudnete) a najdite svoj rozvrh pre teoreticke a prakticke
cvicenia. Ak ste spokojny so zaradenim do skupiny, nerobte nic. Ked je to
nutne, tak skupinu zmente (pozor, pokus o zmenu moze viest k strate miesta v
povodnej skupine). System nedovoli okamzity presun do skupiny s naplnenou
kapacitou, ale pamata si Vase preferencie. Prihlasovacie meno (login) je Vase
priezvisko (ASCII), vsetky pismena male; pociatocne heslo je zhodne s
prihlasovacim menom. Ak neviete ako sa prihlasit, alebo ak sa Vam to nedari,
dajte mi vediet cez email. Tiez mi prosim dajte vediet, ak v systeme objavite
nejaku chybu.
- Vsetky cvicenia su v akvariach.
Prednaska
T. Plachetka: Streda 9:50, 2h, B
-
Uvodna prednaska, 23/9/2015
- Organizacia kurzu
- Historia, motivacia
- Knihy, casopisy, konferencie
- Ucel databaz, charakteristika DB aplikacii
- Trojstupnova ANSI/SPARC architektura, koncepcne datove modely
- Entitno-relacny, relacny a navigacny datovy model
Relacny kalkul, Datalog, 30/9/2015
- Relacie a predikaty
- Dotazy
- Relacny kalkul
- Datalog
SQL, 7/10/2015
- 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, 14/10/2015
- Ucel relacnej algebry
- Operatory relacnej algebry
- Niektore zakony relacnej algebry
- Optimalizacia 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,
21/10/2015
- 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
Navrhovanie databaz, 28/10/2015
- 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, 4/11/2015
- 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
Normalne formy, 11/11/2015, 18/11/2015
- Algoritmus testovania bezstratovosti dekompozicie do 2 relacii
- Algoritmus testovania bezstratovosti dekompozicie do N relacii
- Prva, druha a tretia normalna forma (1NF, 2NF, 3NF), BCNF
- Naivna dekompozicia do 3NF, resp. BCNF
- Bezstratova dekompozicia do 3NF zachovavajuca funkcne zavislosti
- Bezstratova dekompozicia do BCNF z 3NF dekompozicie
- Vyssie normalne formy, pravidla "rozumnej: dekompozicie
Transakcie, 25/11/2015, 2/12/2015, 9/12/2015
- Definicia transakcie z pohladu centralizovaneho transakcneho systemu
- Elementarne transakcne operacie
- Poziadavky na transakcny system (ACID)
- Architektura transakcneho databazoveho systemu
- Rozvrhy
- Seriove a konflikt-seriovatelne rozvrhy
- Testovanie konflikt-seriovatelnosti, precedencny graf
- View-seriovatelne rozvrhy
- Generovanie seriovatelnych rozvrhov
- Dvojfazove zamykanie, casove peciatky, validacia, MVCC
- Obnova (recovery), log-file
- Vseobecny dvojprechodovy algoritmus obnovy, algoritmy obnovy so
specifickymi predpokladmi
- Checkpointing
- Backup
- Triedy obnovitelnosti: recoverable, ACA, strict
- Diagram hierarchie tried obnovitelnosti a seriovatelnosti
- Striktne dvojfazove zamykanie
- Deadlock, wait-for-graf, pristupy k rieseniu deadlockov
- Konzervativne strategie riesenia deadlockov: wait-die a kill-wait
- Fyzicka organizacia, 16/12/2015
- Typy externych (trvacnych) medii
- Fyzicka algebra, fyzicke plany
- Zlozitost fyzickych operatorov
- Vybrane operatory: Merge-sort, Nested-loop-join
- Sekvencne indexy (ISAM)
- Husty a riedky sekvencny index, operacie vynechavania a vkladania
- B stromy a B+ stromy
- Rozsiritelne hashovanie, rozsiritelne hashovanie
- Cena reorganizacie indexov
Starsie materialy k tomuto kurzu:
RNDr. J.
Sturc
Cvicenia
J. Mazak, T. Plachetka
C1 Str 11:30 M.VIII
C2 Str 16:30 M.IV
Zaradenie studentov do skupin:
rozvrhovaci system cviceni.
Literatura
Online materialy ku kurzu Introduction
to Databases na Stanford University. Odporucam pozriet si najma videa od
J.Widom. Online kurz:
Stanford's Databases MOOC
- H. Garcia-Molina, J.D. Ullman, J. Widom: Database Systems, The Complete
Book, Prentice Hall, 2003
- S. Abiteboul, R. Hull, V. Vianu:
Foundations of Databases
- R. Elmasri, S.B. Navathe: Fundamentals of Database Systems,
Addison-Wesley, 2006
- M. Kifer, P.A. Bernstein, P.M. Lewis: Database Systems, An
Application-Oriented Approach, Addison-Wesley, 2006
- J. D. Ullman, J.Widom: A First Course in Database Systems, Prentice
Hall, 1997
- S. Krishna:
Introduction to Database and Knowledge-Based Systems,
World-Scientific, 1992
- T.M. Connolly, C.E. Begg:
Database Systems: A Practical Approach to Design, Pearson Education,
2005
- C. Zaniolo:
Advanced Database Systems, Morgan Kaufmann, 1997
- S. Lightstone, T.J. Teorey, T. Nadeau:
Physical Database Design, Morgan Kaufmann, 2007
- P.A. Bernstein, V. Hadzilacos, N. Goodman:
Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987
Updated by
Tomas Plachetka,
Feb/11/2016
|