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