Cvičení 5

Témata cvičení

Průběh cvičení

Dobrovolný úkol z minula

Někteří z vás ukázali své návrhy řešení úkolu minula. Prošli jsme si jejich výhody a nevýhody.

Úkoly

  1. Máte k dispozici tabulky pet_owner a animal. Napište dotaz, který modeluje relační dělení relace pet_owner relace animal. Co bude obsahovat výsledek?
  2. Zkuste dokázat následující (* označuje vztahy probané na cvičení):
    • (*) Asociativita ∩ a ∪
    • Komutativita ∩ a ∪
    • (*) Distributivita ∩ přes ∪ (a duální)
    • Absorpce ∪ a ∩
    • (R1 \ R2) ∩ (R2 \ R1) = ∅
    • R1 ∩ R2 = R2 \ (R2 \ R1)
    • pro R1 ⊆ R2 platí R1 = R2 \ (R2 \ R1)
    • ΠS(R) = R pro R nad schématem S
    • Π∅(∅) = ∅ a Π∅(R) = {∅} pro R ≠ ∅.
    • ΠS′(R1 ∪ R2) = ΠS′(R1) ∪ ΠS′(R2)
    • σΘ1(σΘ2(R)) = σΘ2(σΘ1(R))
    • σΘ(σΘ(R)) = σΘ(R)
    • (*) σΘ(R1 ∪ R2) = σΘ(R1) ∪ σΘ(R2)
    • σΘ(R1 ∩ R2) = σΘ(R1) ∩ σΘ(R2) = σΘ(R1) ∩ R2 = R1 ∩ σΘ(R2)
    • σΘ(R1 \ R2) = σΘ(R1) \ R2 = σΘ(R1) \ σΘ(R2)
    • R ⋈ R = R
    • R ⋈ R′ = R′ ⋈ R
    • (R ⋈ R′) ⋈ R″ = R ⋈ (R′ ⋈ R″)
    • R ⋈ ∅ = ∅
    • Pokud y ∈ S ∩ S′, pak σy = d(R ⋈ R′) = σy = d(R) ⋈ σy = d(R′)
    • Pokud y ∈ S a y ∉ S′, pak σy = d(R ⋈ R′) = σy = d(R) ⋈ R′
    • R ⋈ (R′ ∪ R″) = (R ⋈ R′) ∪ (R ⋈ R″) pro R nad S a R′, R″ nad S′
    • R ⋈ (R′ ∩ R″) = (R ⋈ R′) ∩ (R ⋈ R″) = R ⋈ R′ ⋈ R″ pro R nad S a R′, R″ nad S′
    • R ⋈ (R′ \ R″) = (R ⋈ R′) \ (R ⋈ R″) pro R nad S a R′, R″ nad S′