Cviceni 1

ACID

  • Atomicity
  • Consistency
  • Isolation
  • Durability

Stavovy diagram transakce

Active Parcial commit Commit
Failed Abort

Anomalie

  • fantom - T1 precte mnozinu radku, T2 prida radek, pri dalsi operaci T1 pribyl radek, ktery nebyl v prechozich operacich
  • neopakovatelne cteni - T1 precte podruhe stejnou promennou, ta uz ma ale jinou hodnotu
  • docasna aktualizace (cteni nepotvrzenych dat) - T1 zapise bez commit, T2 precte, T1 da rollback
  • RU - read uncommit
  • RC - read commit
  • RR - reapeted read
  • S - serializable
RURCRRS
Fantom X
Neopak. cteni X X
Doc. akt. X X X

Deadlock

Uzamykaci protokol

  • 2 fazovy uzamykaci protokol - nejdrive se zamyka, pak odemyka

Relace

  • mnozina prvku ve tvaru {a1,…,an}

Relacni algebra

  • matematicky jazyk pro popis dotazu bez zavislosti na implementaci DB

Schema

  • mnozina relaci a omezeni (R,I)

Armstrongova pravidla

  1. trivialni vztahy XY→X XY→Y X→X
  2. tranzitivita X→Y a Y→Z doubleright X→Z
  3. kompozice prave strany
  4. dekompozice X→Y X→Z ekvivalence X→YZ

Funkcni zavislost

  • Mnejme mnoziny atributu <m>B subset A</m>, <m>C subset A</m>. C je funkcne zavisi na B jestlize ke kazdemu existuje nejvyze jedna C-hodnota
  • <m>B right C</m>
  • <m>f: A1 right A2</m>
  • <m>B subset A</m>
  • <m>C subset A</m>
  • <m>B → C</m>
  • B je funkcne zavisle na c, existuje-li pro jedno B prave jedno C

Uzaver mnoziny atributu

  • je to mnozina vsech atributu funkcne zavislych na X
  • <m>X+</m>

Klic

  • nejmeni n-tice takova, ze jednoznacne urcuje celou n-tici
Priklad:
R(a,b,c,d,e,f) F={f->ab, f->e, a->f}
fc+={a,b,c,e,f}
klic=fcd,acd

R(a,b,c,d,e,f,g) F(c->de,a->c,e->a,d->b,f->g)
klic=cf,af,ef

Normalni formy

  • 1NF atomicita atribut
  • 2NF neex. podklic →neklic, vsechny atrib zavisi na celem klici
  • 3NF neex. neklic → neklic, neklicovy atribut nemuze byt zavisly na klici tranzitivne
  • BCNF neex. podklic → podklic

Priklady

Priklad:

R(<b>a</b>,<b>b</b>,c,d,e) IO:{b->c,d->e}
F(ab->c,ab->d,ab->e)
R1(<b>b</b>,c)
R21(<b>a</b>,<b>b</b>,d)
R2(<b>d</b>,e)
R(a,b,c,d,e,f,g) F(c->de,a->c,e->a,d->b,f->g)  TODO
R1(a,f)
R2(a,c)
R3(f,g)
R4(c,d,e)
R5(d,b)

Operace

  • Selekce R(fi)
  • Projekce R[c]
  • Kart. soucin RxS
  • Rozdil R\S
  • Prirozene spojeni R*S (leve R<*S, prave S*>R)
  • Prejmenovani R[t→x]
  • Sjednoceni R union S
  • Theta -spojeni R[t1 theta t2]S
  • Antijoin overline{R<*S} R\(R<*S)
  • Vnejsi spojeni R *_LR S = (R *_L S) union (R *_R S) … (R *_L S_ (R*S) union (R\(R<*S))x(NULL,..)
school/fit/mipdb/cv01.txt · Last modified: 2018-06-21 19:48 (external edit)
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0