Relačný kalkul Flashcards
Aké operácie vieme robiť v relačnom kalkule na reláciach?
môžeme mať konštanty, premenné, predikáty (true, false), s nimi robiť konjunkcie a vš. možné logické operácie.
Ako fungujú predikáty v rel. kalkule? Ako generujú tabuľku?
Všetky hodnoty, pre ktoré vracajú TRUE,
uložíme do tabuliek (relácií).
Čo je datalog?
Rozumné zúženie rel. kalkulu, na potrebné operácie, nech nepíšeme napr. furt kvantifikátory, tie tam sú implicitne.
Sú sql, rel. kalkul, datalog deklaratívne alebo imperatívne?
deklaratívne, píšeme ČO nie AKO.
Vieme určiť, ktorý SQL dotaz je najefektívnejší?
Nie, na pozadí ajtak spraví svoje.
Čo je relácia?
Definícia: relácia je podmnožina kartézskeho súčinu množín. Množinám D1, D2, …, Dn sa hovorí domény (typy) atribútov relácie r
Čo sú prvky relácie?
Prvkami relácie sú usporiadané n-tice (hovorí sa im tiež n-tuples,
tuples, záznamy).
Môžeme v ľubovoľnom poradí miešať atribúty?
Nie, ale v SQL áno, tam sú pomenované a nezáleží na poradí.
Čo je predikát?
k r(a,b,c) prislúcha predikát p: AxBxC -> bool, kde p(x,y,z)=true práve vtedy keď [x,y,z] in r.
Čo píšeme malými a čo veľkými písmenami?
Konštanty a predikáty malými
Premenné veľkými.
Čo sú dotazy v relačnom kalkule?
Dotazy v relačnom kalkule sú formuly logiky 1.rádu
Čo je výsledok dotazu v relačnom kalkule?
Výsledok dotazu je usporiadaná množina hodnôt voľných
premenných, po ktorých dosadení tá formula platí.
Čo sú doménovo nezávislé formuly?
Ak sa ich výsledok nemení pri zmene domény, na základe ktorej je výraz vyhodnotený. (ich výsledok závisí nie od domény, ale len od obsahu databázy)
Čo sú ohraničené premenné formuly?
(range-restricted), ak vieme algoritmicky vypočítať konečnú množinu hodnôt Ri takú, že po dosadení
ľubovoľnej hodnoty v not in Ri za Vi formula nie je splniteľná
Čo sú bezpečné formuly? V rel. kalkule
Formula je bezpečná (safe), ak každá jej premenná je ohraničená.