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

41 lines
1.7 KiB
Markdown
Raw Normal View History

2024-01-08 23:05:31 +01:00
# 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$