FAV-ZCU/KIV DB1/06. Funkční závislost atributů.md

1.7 KiB

Funkční závislost atributů

Příklad

P U M H S Z
DB1 Zíma EP120 Út 10:15 S1 1
DB1 Zíma EP120 Út 10:15 S2 2
DB1 Zíma EP120 Út 10:15 S3 1
DB1 Zíma EP120 Út 10:15 S4 1
INS Zíma UC332 Út 8:25 S1 3
INS Zíma UC332 Út 8:25 S265 1
M1 Stehlík EP120 Čt 9:20 S501 2
M1 Stehlík EP120 Čt 9:20 S504 3
M1 Stehlík EP120 Čt 9:20 S32 3
Pro každý předmět musíme zadat tolik řádků, kolik má předmět studentů.

Přesuneme-li předmět DB1 z EP120 do EP110, musíme hodnotuy změnit u všech zapsaných studentů. Jedna událost v reálném světě vyžaduje hodně změn v uložených datech.

Hledáme rozklad relace na více relací:

  • D_{1} = \{PUMH, PSZ\}
  • D_{2} = \{PU, HMP, HUM, PSZ, HMS\}
  • D_{3} = \{PU, HSP, PSZ, PSZ, HMS\}
  • D_{4} = \{PU, HSP, PSZ, HMP\}

Funkční závislost atributů

  • popisuje vztah mezi atributy relace
  • populací relace R budeme rozumět hodnoty atributů relace v daném čase
    • konkrétní naplnění tabulky hodnotami
  • A a B jsou podmnožinami relačního schématu R. B funkčně závisí na A (značíme $A \to B$), jestliže pro všechny populace R platí pro libovolné n-tice u a v z relace R:
    • \Pi_{A}(u) = \Pi_{A}(v) \implies \Pi_{B}(u) = \Pi_{B}(v)
  • ve funkční závislosti A \to B nazýváme množinu atributů A determinantem

Příklad

  • Přednáška(Předmět, Učitel, Místnost, Hodina, Student, Známka)
  • P \to U (jestliže předmět učí jen jeden učitel)
  • HM \to P
  • HU \to P
  • PS \to Z
  • HS \to M