Funkčné závislost Flashcards
Čo je produktom logického návrhu rel. databázy?
Produktom logického návrhu relačnej databázy sú relácie, atribúty a funkčné závislosti
Na čo slúži normalizácia?
Na overenie kvality návrhu, resp. automatické generovanie vhodnej organizácie dát
Prečo je zlé reprezentovať rel. databázu jednou tabuľkou?
redundancia, riziko nekonzistencie, anomálie pri vynechávaní a modifikácii dát, potreba NULL hodnôt, plytvanie pamäťou
Čo je funkčná závislosť X -> Y v relácii r?
X -> Y v relácii r hovorí, že ak sa v r ľubovoľné dva
riadky zhodujú na množine atribútov X, tak potom sa zhodujú aj na množine atribútov Y
Aké sú 3 armstrongove axiómy?
(A1) X podmn. Y => Y -> X reflexívnosť
(A2) forall Z (X -> Y => XZ -> YZ) rozšírenie (augmentation)
(A3) (X -> Y) /\ (Y -> Z) => X -> Z tranzitívnosť
Čo hovorí union rule?
(B1) (X -> Y) /\ (X -> Z) => X -> YZ union rule
Čo je uzáver množinxy atribútov?
uzáverom množiny atribútov X vzhľadom na F rozumieme množinu X+ všetkých atribútov Y takých, že X -> Y je
logickým dôsledkom funkčných závislostí F
Dokáž, že f. závislosť X -> Y sa dá odvodiť z danej množiny f. závislostí F pomocou Armstrongovych axióm práve vtedy, keď X -> Y je logickým dôsledkom F
slide 10
Definuj Pokrytie množiny funkčných závislostí
množina funkčných závislostí G pokrýva
množinu funkčných závislostí F, ak G+ >= F+ (nadmnozina)
V akom čase vieme overiť pokrytie mn. funkčných závislostí? G pokrýva F.
Stačí testovať, či každú funkčnú závislosť z F možno
odvodiť z G. Testovanie pokrytia je teda polynomiálne v čase
Kedy je f. závislosť kanonická?
Funkčná závislosť sa nazýva kanonická, ak má na
pravej strane práve jeden atribút
Definuj Minimálne pokrytie množiny funkčných závislostí F
Množina kanonických funkčných závislostí G taká, že G a F sa navzájom pokrývajú, po vynechaní ľubovoľnej z
funkčných závislostí z G alebo po vynechaní ľubovoľného atribútu na ľavej strane ľubovoľnej funkčnej závislosti z G prestane G pokrývať F.
Aký je algoritmus hľadania minimálneho pokrytia?
- rozbiť pravé strany
- pre ľavé strany skúšať odstraňovať
- odstrániť redundantné závislosti
Čo je nadkľúč relácie r?
Nech r obsahuje mn. atribútov U. Potom K taká že K ->U je nadkľúč.
Čo je kľúč v relácii r?
Minimálny nadkľúč v zmysle množinovej inklúzie
Definuj relačnú schému
Množinu atribútov relácie r spolu s množinou funkčných
závislostí, ktoré platia v r nazývame relačná schéma
Definuj dekompozíciu rel. schémy
Dekompozícia relačnej schémy (r(U), F) je množina
(r1, F1), …, (rn, Fn), kde každá z relácií r1, …, rn je projekciou r na nejakej podmnožine atribútov r, pričom zjednotenie atribútov r1, …, rn je U, a zároveň F pokrýva všetky F1, …, Fn (t.j. dekompozíciou nevznikajú žiadne nové funkčné závislosti)
Definuj bezstratovosť
Dekompozícia r(R) na r1(R1) a r2(R2) sa nazýva bezstratová, ak výsledok prirodzeného spojenia r1 a r2 obsahuje presne rovnaké n-tice ako r. (JOIN)
Čo je cieľom normalizácie?
nájdenie „správnej“ dekompozície
teda konzistentnej
bez redundancie
so zachovaním funkčných závislostí
Aký negatívny dôsledok má v databázovej aplikácii použitie dekompozície, ktorá láme (t.j. nezachováva)
niektoré funkčné závislosti?
Zlomenie funkčnej závislosti komplikuje automatickú kontrolu konzistencie databázy pri aktualizácii. Integritnú
podmienku (constraint) zodpovedajúcu zlomenej funkčnej závislosti nie je možné vyjadriť lokálne v rámci jednej relácie (pri create table).