Y
od zbioru X
oznaczamy przez X -> Y
X -> Y
jest
trywialna jeśli Y ⊆ X
Y
nazywamy
taki zbiór atrybutów Y+
, że
Y ⊆ Y+
U -> W
jeśli
U ⊆ Y+
to również
W ⊆ Y+
N
relacji
R(A1A2 ... An)
jest nadkluczem jeśli jego domknięcie zawiera wszystkie
atrybuty tej relacji, czyli N+ = {A1A2 ... An}
N
jest kluczem jeśli
jest to element minimalny (niekoniecznie najmniejszy!) w
zbiorze wszystkich nadkluczy.
tytuł | rok | długość | typTaśmy | nazwaStudia | nazwiskoGwiazdy |
---|---|---|---|---|---|
Gwiezdne wojny | 1977 | 124 | kolor | Fox | Carrie Fisher |
Gwiezdne wojny | 1977 | 124 | kolor | Fox | Mark Hamill |
Gwiezdne wojny | 1977 | 124 | kolor | Fox | Harrison Ford |
Potężne kaczory | 1991 | 104 | kolor | Disney | Emilio Estevez |
Świat Wayne'a | 1992 | 95 | kolor | Paramount | Dana Carvey |
Świat Wayne'a | 1992 | 95 | kolor | Paramount | Mike Meyers |
R(A,B,C)
z jedną zależnością A
-> B
nie jest w 2NF, bo kluczem jest w tym przypadku
zbiór {A,C}
.
A1...Ak -> B
jest
nietrywialną zależnością funkcyjną, to albo
{A1...Ak}
jest nadkluczem,
albo B
jest elementem pewnego klucza. R(A,B,C)
z zależnościami A ->
B, B -> C
jest w 2NF ale nie jest w 3NF. Kluczem jest w
tym przypadku atrybut A
.
A1...Ak -> B
jest
nietrywialną zależnością funkcyjną, to
{A1...Ak}
jest nadkluczem. R(A,B,C)
z zależnościami AB ->
C, C -> B
jest w 3NF ale nie jest w BCNF. Kluczami są w
tym przypadku zbiory {A,B}
oraz
{A,C}
.
R
X -> Y
naruszającą warunek
nakładany przez postać normalną
X+
R
dwiema relacjami S
i T
o schematach:
S = X+
T = R ∖ X+ ∪ X
Uwaga: Każda relacja daje się zdekomponować do 3NF ale niekoniecznie do BCNF.
R(A,B,C,D,E,F)
i zależności
AB -> C, BC -> AD, D -> E, CF -> B
. Oblicz
domknięcie zbioru {A,B}
. Znajdź wszystkie
klucze. Dokonaj dekompozycji do 3NF. Czy można zdekomponować
tę relację do BCNF?
R(A,B,C,D)
oraz
zależności funkcyjne AB -> C, C -> D, D -> A
.
Znajdź wszystkie klucze w R
. Dokonaj
dekompozycji.
R(A,B,C,D)
, zależności A -> B, B -> C, B -> D
R(A,B,C,D)
, zależności AB -> C, BC -> D, CD -> A
R(A,B,C,D)
, zależności A -> B, B -> C, C -> D, D -> A
X
jest
domknięty jeśli X+ = X
. Jeśli
wiemy, które zbiory atrybutów są domknięte, to można odzyskać
zależności funkcyjne. Rozważmy relację
R(A,B,C,D)
. Znajdź zależności funkcyjne w
R
jeśli zbiory domknięte to dokładnie:
{A,B,C,D}
{A,B,C,D}
{A,B}
oraz {A,B,C,D}
R(A,B,C,D)
oraz AB -> C, C -> D, D -> A
R(A,B,C,D)
oraz B -> C, B -> D
R(A,B,C,D)
oraz AB -> C, BC -> D, CD -> A,AD -> B
R(A,B,C,D)
oraz A -> B, B -> C, C -> D, D -> A
R(A,B,C,D,E)
oraz AB -> C, DE -> C, B -> D
R(A,B,C,D,E)
oraz AB -> C, D -> B, C -> D, D -> E
Pogotowie
o atrybutach:
numer_medyczny, data_przyjęcia, czas, nazwisko_pacjenta,
miejsce_pracy, adres_miejsca_pracy, nazwisko_lekarza,
adres_lekarza oraz diagnoza. Wiadomo, że zachodzą w niej
następujące zależności funkcyjne: