Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Relacyjny model danych
normalizacja w bazie danych
Wykład 4
23.10.2007
Antoni Dydejczyk
http://www.ftj.agh.edu.pl/~antek
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Plan wyk
Plan wyk
ł
ł
adu
adu
Reguły Codda
Anomalie w bazach danych
Zależności funkcyjne w bazie
Postacie normalne
Pierwsza 1NF
Druga 2NF
Trzecia 3NF
Postać normalna BNCF
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Motto:
„Większa część procesu projektowania baz danych może być określona jako sztuka, nie zaś
jako proces naukowy. Operacja ta jest nadal narażona na subiektywizm oceny, który
oczywiście nie ma wiele wspólnego z nauką. W procesie projektowania baz danych występuje
jednak element naukowy – normalizacja – lecz w 90% na proces ten wpływ ma po prostu
przeczucie.
Rozważając normalizację, możemy zadać samym sobie pytanie: „jaki jest ostateczny nasz
cel?”. Oczywiście, przede wszystkim chodzi o pozbycie się nadmiarowości danych, lecz aby
dokładnie rozpatrzyć to pytanie, musielibyśmy posiadać dokładną definicję nadmiarowości
danych. Bez takiej precyzyjnej definicji nie można oczekiwać od normalizacji usunięcia
wszystkich przypadków nadmiarowości.
Normalizacja – ma tutaj na myśli normalizację do granic określonych definicją – jest w stanie
natomiast sprowadzić bazę danych do takiej postaci, w której nie pozostaną już żadne
anomalie, możliwe do usunięcia za pomocą projekcji. Jak zatem widać, nikt nie obiecuje
usunięcia wszystkich możliwych anomalii, które można usunąć za pomocą projekcji tabel.
Zatem wystąpienie w bazie danych nadmiarowości, których nie można wyeliminować za
pomocą samej normalizacji, jest możliwe. Normalizacja jest zaledwie niewielkim elementem
nauki, lecz jest wystarczająco dobrym narzędziem do realizacji postawionych przed nią
celów.”
Chris Date
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
•
Reguła 0. Każdy system, który jest nazywany relacyjnym systemem zarządzania
bazą danych, musi obsługiwać dane wyłącznie za pomocą mechanizmów
relacyjnych.
•
Reguła 1. Wszelkie informacje, zapisane w relacyjnej bazie danych, są
reprezentowane wyłącznie na poziomie logicznym i w jednolity sposób – jako
wartości w tabelach.
•
Reguła 2. Każda jednostka informacji (wartość atomowa) w relacyjnej bazie
danych musi być dostępna w sposób logiczny, poprzez odwołanie realizowane za
pomocą kombinacji nazwy tablicy, wartości klucza głównego oraz nazwy
kolumny.
•
Reguła 3. Wartości puste (które nie są pustymi napisami, napisami składającymi
się z białych znaków bądź wartością zero lub jakąkolwiek inną liczbą) są
reprezentowane w relacyjnym systemie zarządzania bazą danych jako brak
informacji. Reprezentacja ta musi być w pełni systematyczna, niezależna od typu
danych.
Regu
Regu
ł
ł
y
y
Codda
Codda
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
•
Reguła 4. Opis bazy danych jest reprezentowany na poziomie logicznym tak jak
zwykłe dane, aby autoryzowani użytkownicy mogli w celu zarządzania bazą
danych wykorzystać ten sam język obsługi zwykłych danych.
•
Reguła 5. Relacyjny system może wykorzystywać kilka języków, używanych do
realizacji różnych zadań lub trybów pracy (na przykład tryb wypełniania pól).
Jednakże musi istnieć przynajmniej język,którego polecenia są zdefiniowane w
postaci czytelnej składni, jako łańcuchy znaków (polecenia opisowe). Język ten
powinien realizować wszystkie następujące funkcje:
- definiowanie danych,
- definiowanie perspektyw,
- przetwarzanie danych (interaktywne i programowe),
- definiowanie reguł integralności danych,
- autoryzacja,
- określenie początku transakcji, potwierdzenie i wycofanie transakcji.
•
Reguła 6. Wszystkie perspektywy które teoretycznie mogą być aktualizowane,
powinny być modyfikowalne z poziomu systemu.
Regu
Regu
ł
ł
y
y
Codda
Codda
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
•
Reguła 7. Możliwość obsługi relacji podstawowej lub wynikowej w ramach
pojedynczej operacji powinna być dostępna nie tylko przy pobieraniu danych,
lecz również przy ich wprowadzaniu, modyfikacji i usuwaniu.
•
Reguła 8. Aplikacje oraz operacje terminalowe pozostają logicznie bez zmian w
przypadku modyfikacji, dokonanych w mechanizmie przechowywania danych lub
metodach dostępu do danych.
•
Reguła 9. Aplikacje oraz operacje terminalowe pozostają logicznie bez zmian w
przypadku dokonania jakichkolwiek modyfikacji (które nie powodują utraty
danych i teoretycznie pozwalają na zachowanie takiej logicznej niezmienności)
w tabelach podstawowych.
•
Reguła 10. Reguły integralności, specyficzne dla danej bazy danych, muszą być
definiowane w wybranym języku bazy danych i zapisane w katalogu
systemowym, nie zaś w aplikacjach klienckich.
Regu
Regu
ł
ł
y
y
Codda
Codda
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
•
Reguła 11. Relacyjny system zarządzania bazą danych charakteryzuje się
niezależnością dystrybucyjną.
•
Reguła 12. Jeśli system relacyjny posiada język, działający na niższym poziomie
abstrakcyjnym (tzn. przetwarzający dane na poziomie indywidualnych
rekordów), nie może istnieć możliwość wykorzystania tego języka w celu
ominięcia reguł integralności zdefiniowanych w języku wyższego poziomu
(przetwarzającym dane na poziomie grup rekordów).
Regu
Regu
ł
ł
y
y
Codda
Codda
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Anomalie w bazach danych
Anomalie w bazach danych
Redundancja
egz
A1
Smith J
34668
Evans R
345
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Davies T
234
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Davies T
234
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Davies T
234
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
TpOcen
Ocen
NazS
NrStud
NazPrac
NrPr
NazwaModułu
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Anomalie w bazach danych
Anomalie w bazach danych
Usuwamy studenta „34668”
Efekt
uboczny
usunięcia
egz
A1
Smith J
34668
Evans R
345
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Davies T
234
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Davies T
234
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Davies T
234
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
TpOcen
Ocen
NazS
NrStud
NazPrac
NrPr
NazwaModułu
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Anomalie w bazach danych
Anomalie w bazach danych
Zmieniamy wykładowcę „systemów
relacyjnych baz danych” na Jones S
Efekt
uboczny
modyfikacji
egz
A1
Smith J
34668
Evans R
345
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Davies T
234
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Davies T
234
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Davies T
234
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
TpOcen
Ocen
NazS
NrStud
NazPrac
NrPr
NazwaModułu
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Anomalie w bazach danych
Anomalie w bazach danych
egz
A1
Smith J
34668
Evans R
345
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Davies T
234
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Davies T
234
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Davies T
234
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
TpOcen
Ocen
NazS
NrStud
NazPrac
NrPr
NazwaModułu
Wpisujemy nowego studenta „38989”
Efekt
uboczny
wstawienia
Wpisujemy nowy przedmiot
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Zale
Zale
ż
ż
no
no
ś
ś
ci funkcyjne
ci funkcyjne
Definicja zależności funkcyjnej ( FD – functional dependence )
Jeżeli R będzie relacją, X i Y zaś dowolnymi podzbiorami zbioru atrybutów R.
Mówimy, że Y jest funkcyjnie zależny od X
X
Y
wtedy i tylko wtedy, gdy każda wartość X z R jest stowarzyszona z dokładnie
jedną wartością Y z relacji Y („X funkcjonalnie określa Y”).
Lewa strona FD nazywana jest niekiedy elementem determinującym, prawa zaś
elementem determinowanym.
Zachodzą związki:
1.
Zwrotność : Jeżeli B jest podzbiorem A, to A
B.
2.
Dołączenie : Jeżeli A
B, to AC BC.
3.
Przechodniość : Jeżeli A
B i B C, to A C.
4.
Samookreślenie : A
A.
5.
Rozkład : Jeżeli A
BC, to A B i A C.
6.
Suma : Jeżeli A
B i A C, to A BC.
7.
Złożenie : Jeżeli A
B i C D, to AC BD.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Właściwym sposobem eliminowania anomalii w bazach danych jest
dekompozycja relacji. Sprowadza się on do podziału atrybutów relacji R
między dwa schematy nowych relacji. Reguła dekompozycji obejmuje
również podział krotek relacji wejściowej R między nowe relacje, dzięki
operacji rzutowania krotek R.
Zadaniem dekompozycji jest zastąpienie relacji równoważnym jej
zbiorem relacji, których struktura uniemożliwia wystąpienie anomalii.
Proces dekompozycji nazywamy normalizacją bazy danych.
W ramach normalizacji bazy danych wyróżniamy następujące poziomy
normalizacji:
relacje w pierwszej postaci normalnej – 1NF
relacje w drugiej postaci normalnej – 2NF
relacje w trzeciej postaci normalnej – 3NF
relacje w postaci normalnej Boyce’a – Codd’a – BCNF
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Cechy dekompozycji:
Własność bezstratnego złączenia, zapewnia, że każdy stan
oryginalnej relacji może być odtworzony z odpowiednich
stanów mniejszych relacji.
Własność zachowania zależności, gwarantuje, że więzy na
oryginalnej relacji mogą być utrzymane przez proste
wymuszenie pewnych więzów na każdej z mniejszych relacji.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Wszystkie relacje (znormalizowane i nieznormalizowane)
Relacje w 1NF
Relacje w 2NF
Relacje w 3NF
Relacje w postaci BCNF
Relacje w 4NF
Relacje w 5NF
Każda wyższa postać normalna musi spełniać kryteria wszystkich postaci
niższych.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Pierwsza posta
Pierwsza posta
ć
ć
normalna 1NF
normalna 1NF
Relacja spełnia założenia pierwszej postaci normalnej, wtedy i tylko wtedy,
gdy wszystkie wyjściowe dziedziny zawierają wyłącznie wartości skalarne
(niepodzielne).
Relacja jest w pierwszej postaci normalnej (1NF) wtedy i tylko wtedy, gdy
każdy atrybut niekluczowy jest funkcyjnie zależny od klucza głównego.
Gdyby wszystkie bazy danych spełniały pierwszą postać normalną, to
relacje typu jeden-do-wiele byłyby określane zawsze pomiędzy kilkoma
relacjami (nigdy w obrębie jednej relacji), a relacja typu jeden-do-jeden
mogłaby się zawierać w jednej relacji.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Pierwsza posta
Pierwsza posta
ć
ć
normalna 1NF
normalna 1NF
-
-
przyk
przyk
ł
ł
ad
ad
egz
A1
Smith J
34668
Evans R
345
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Davies T
234
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Davies T
234
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Davies T
234
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Davies T
234
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
TypOcen
Ocena
NazwS
NrStud
NazwPr
NrPr
NazwaModułu
Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen)
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
egz
A1
Smith J
34668
Evans R
345
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
cwk1
B2
Smith S
34698
Davies T
234
Projekt. relacyjnych baz danych
cwk2
B1
cwk1
B1
Patel P
34888
Davies T
234
cwk1
B2
Jones S
37798
Davies T
234
cwk2
B1
cwk1
B3
Smith S
34698
Davies T
234
Systemy relacyjnych baz danych
TypOcen
Ocena
NazwS
NrStud
NazwPr
NrPr
NazwaModułu
Moduły (NazwaModułu, NrPr, NazwPr, NrStud, NazwS, Ocena, TypOcen)
Relacja zawiera dla niektórych
atrybutów wiele wartości.
Pierwsza posta
Pierwsza posta
ć
ć
normalna 1NF
normalna 1NF
-
-
przyk
przyk
ł
ł
ad
ad
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Moduły (NazwaModułu, NrPr, NazwPr)
Evans R
345
Dedukcyjne bazy danych
Davies T
234
Projekt. relacyjnych baz danych
Davies T
234
Systemy relacyjnych baz danych
NazwPr
NrPr
NazwaModułu
egz
A1
Smith J
34668
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Systemy relacyjnych baz danych
TypOcen
Ocena
NazwS
NrStud
NazwaModułu
Zaliczenia (NazwaModułu, NrStud, NazwS, Ocena, TypOcen)
Pierwsza posta
Pierwsza posta
ć
ć
normalna 1NF
normalna 1NF
-
-
przyk
przyk
ł
ł
ad
ad
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Druga posta
Druga posta
ć
ć
normalna 2NF
normalna 2NF
Relacja ma drugą postać normalną wtedy i tylko wtedy, gdy jest już w 1NF
oraz każdy niekluczowy atrybut jest nieredukowalnie zależny od klucza
głównego.
Relacja spełnia założenia drugiej postaci normalnej, jeżeli spełnia dwa
założenia:
1. Relacja jest 1NF
2. Atrybuty nie wchodzące w skład klucza są w pełni funkcjonalnie zależne
od całego klucza głównego (nie od jego części).
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Druga posta
Druga posta
ć
ć
normalna 2NF
normalna 2NF
-
-
przyk
przyk
ł
ł
ad
ad
Moduły (NazwaModułu, NrPr, NazwPr)
Evans R
345
Dedukcyjne bazy danych
Davies T
234
Projekt. relacyjnych baz danych
Davies T
234
Systemy relacyjnych baz danych
NazwPr
NrPr
NazwaModułu
egz
A1
Smith J
34668
Dedukcyjne bazy danych
cwk1
B3
Patel P
34888
Projekt. relacyjnych baz danych
cwk1
B2
Smith S
34698
Projekt. relacyjnych baz danych
cwk2
B1
Patel P
34888
Systemy relacyjnych baz danych
cwk1
B1
Patel P
34888
Systemy relacyjnych baz danych
cwk1
B2
Jones S
37798
Systemy relacyjnych baz danych
cwk2
B1
Smith S
34698
Systemy relacyjnych baz danych
cwk1
B3
Smith S
34698
Systemy relacyjnych baz danych
TypOcen
Ocena
NazwS
NrStud
NazwaModułu
Zaliczenia (NazwaModułu, NrStud, NazwS, Ocena, TypOcen)
Nazwa modułu nie ma
wpływu na nazwisko
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Druga posta
Druga posta
ć
ć
normalna 2NF
normalna 2NF
-
-
przyk
przyk
ł
ł
ad
ad
Moduły (NazwaModułu, NrPr, NazwPr)
Evans R
345
Dedukcyjne bazy danych
Davies T
234
Projekt. relacyjnych baz danych
Davies T
234
Systemy relacyjnych baz danych
NazwPr
NrPr
NazwaModułu
egz
A1
34668
Dedukcyjne bazy danych
cwk1
B3
34888
Projekt. relacyjnych baz danych
cwk1
B2
34698
Projekt. relacyjnych baz danych
cwk2
B1
34888
Systemy relacyjnych baz danych
cwk1
B1
34888
Systemy relacyjnych baz danych
cwk1
B2
37798
Systemy relacyjnych baz danych
cwk2
B1
34698
Systemy relacyjnych baz danych
cwk1
B3
34698
Systemy relacyjnych baz danych
TypOcen
Ocena
NrStud
NazwaModułu
Zaliczenia (NazwaModułu, NrStud, Ocena, TypOcen)
Smith J
34668
Patel P
34888
Jones S
37798
Smith S
34698
NazwS
NrStud
Stud (NrStud, NazwS)
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Trzecia posta
Trzecia posta
ć
ć
normalna 3NF
normalna 3NF
Relacja jest w 3NF wtedy i tylko wtedy, gdy wszystkie niekluczowe atrybuty są:
a)
wzajemnie niezależne oraz
b)
nieredukowalnie zależne od klucza głównego.
•
Atrybutem niekluczowym jest dowolny atrybut nie wchodzący w skład
klucza głównego rozważanej relacji,
•
Dwa lub więcej atrybutów są wzajemnie niezależne, jeżeli żaden z nich nie
jest funkcjonalnie zależny od dowolnej kombinacji innych. Niezależność
oznacza, ze każdy taki atrybut może być aktualizowany niezależnie od
innych.
Relacja jest trzeciej postaci normalnej (3NF) wtedy i tylko wtedy, gdy w
każdej chwili każda krotka składa się z wartości klucza głównego
identyfikującego pewną encję oraz ze zbioru zero lub więcej wzajemnie
niezależnych wartości atrybutów charakteryzujących ją w jakiś sposób.
Relacja jest w trzeciej postaci normalnej wtedy i tylko wtedy, gdy jest
drugiej postaci normalnej oraz każdy niekluczowy atrybut jest w sposób
nieprzechodni zależny od klucza głównego.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Druga posta
Druga posta
ć
ć
normalna 3NF
normalna 3NF
-
-
przyk
przyk
ł
ł
ad
ad
Moduły (NazwaModułu, NrPr, NazwPr)
Evans R
345
Dedukcyjne bazy danych
Davies T
234
Projekt. relacyjnych baz danych
Davies T
234
Systemy relacyjnych baz danych
NazwPr
NrPr
NazwaModułu
egz
A1
34668
Dedukcyjne bazy danych
cwk1
B3
34888
Projekt. relacyjnych baz danych
cwk1
B2
34698
Projekt. relacyjnych baz danych
cwk2
B1
34888
Systemy relacyjnych baz danych
cwk1
B1
34888
Systemy relacyjnych baz danych
cwk1
B2
37798
Systemy relacyjnych baz danych
cwk2
B1
34698
Systemy relacyjnych baz danych
cwk1
B3
34698
Systemy relacyjnych baz danych
TypOcen
Ocena
NrStud
NazwaModułu
Zaliczenia (NazwaModułu, NrStud, Ocena, TypOcen)
Smith J
34668
Patel P
34888
Jones S
37798
Smith S
34698
NazwS
NrStud
Stud (NrStud, NazwS)
NrPr determinuje
nazwisko pracownika,
zachodzi zatem zależność
przechodnia.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Druga posta
Druga posta
ć
ć
normalna 3NF
normalna 3NF
-
-
przyk
przyk
ł
ł
ad
ad
Moduły (NazwaModułu, NrPr)
345
Dedukcyjne bazy danych
234
Projekt. relacyjnych baz danych
234
Systemy relacyjnych baz danych
NrPr
NazwaModułu
egz
A1
34668
Dedukcyjne bazy danych
cwk1
B3
34888
Projekt. relacyjnych baz danych
cwk1
B2
34698
Projekt. relacyjnych baz danych
cwk2
B1
34888
Systemy relacyjnych baz danych
cwk1
B1
34888
Systemy relacyjnych baz danych
cwk1
B2
37798
Systemy relacyjnych baz danych
cwk2
B1
34698
Systemy relacyjnych baz danych
cwk1
B3
34698
Systemy relacyjnych baz danych
TypOcen
Ocena
NrStud
NazwaModułu
Zaliczenia (NazwaModułu, NrStud, Ocena, TypOcen)
Smith J
34668
Patel P
34888
Jones S
37798
Smith S
34698
NazwS
NrStud
Stud (NrStud, NazwS)
Evans R
345
Davies T
234
NazwPr
NrPr
Wykładowcy (NrPr, NazwPr)
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Posta
Posta
ć
ć
normalna
normalna
Boyce
Boyce
’
’
a
a
/
/
Codda
Codda
BCNF
BCNF
Relacja jest postaci BCNF wtedy i tylko wtedy, gdy elementem
determinującym każdej nietrywialnej, lewostronnie nieredukowalnej
zależności funkcyjnej jest klucz kandydujący.
Relacja znajduje się w postaci BCNF wtedy i tylko wtedy, gdy jedynymi
elementami determinującymi są klucze kandydujące.
Różnica pomiędzy 3NF i BCNF:
1.
Relacja posiada kilka kluczy kandydujących.
2.
Przynajmniej dwa klucze kandydujące składają się z więcej niż
jednego atrybutu
3.
Złożone klucze kandydujące mają wspólną kolumnę.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Posta
Posta
ć
ć
normalna
normalna
Boyce
Boyce
’
’
a
a
/
/
Codda
Codda
BCNF
BCNF
-
-
przyk
przyk
ł
ł
ad
ad
Proponowane rozwiązanie:
filmy (film_ID, film_tytuł)
obsada (film_ID, nazwa_aktora, rola, gaża)
Obsada (film_tytuł, film_ID, nazwa_aktora, rola, gaża)
Klucze kandydujące:
(film_ID, nazwa_aktora)
(film_tytuł, nazwa_aktora )
Zachodzi zależność pomiędzy atrybutami film_tytuł i film_ID
Problemy :
- Anomalia aktualizacji
- Nadmiarowość związana z atrybutami – film_tytuł, film_ID
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Zale
Zale
ż
ż
no
no
ś
ś
ci wielowarto
ci wielowarto
ś
ś
ciowa (MVD)
ciowa (MVD)
Niech R będzie relacją, zaś A, B i C będą dowolnymi podzbiorami zbioru
atrybutów R. Mówimy, że B jest wielowartościowo zależne od A
A
B
Wtedy i tylko wtedy, gdy zbiór wartości B odpowiadający danej parze
(wartość A, wartość C) w R zależy jedynie od wartości A i jest niezależny
od wartości C („A wielowartościowo określa B”).
Trygonometria
Prof. Green
Matematyka
Analiza wektorowa
Prof. Green
Matematyka
Analiza różniczkowa
Prof. Green
Matematyka
Podstawy optyki
Prof. Brown
Fizyka
Podstawy mechaniki
Prof. Brown
Fizyka
Podstawy optyki
Prof. Green
Fizyka
Podstawy mechaniki
Prof. Green
Fizyka
Nazwa
Nauczyciel
Kurs
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Wy
Wy
ż
ż
sze postacie normalne
sze postacie normalne
Wyższe postacie normalne służą do dekompozycji relacji z zależnościami
wielowartościowymi.
Czwarta postać normalna:
Relacja R jest w 4NF wtedy i tylko wtedy, gdy jeżeli istnieją podzbiory A i B
atrybutów relacji R takie, że spełniona zależność wielowartościowa A
B,
to wszystkie atrybuty relacji R są także funkcjonalnie zależne od A.
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Przyk
Przyk
ł
ł
ad
ad
Trygonometria
Prof. Green
Matematyka
Analiza wektorowa
Prof. Green
Matematyka
Analiza różniczkowa
Prof. Green
Matematyka
Podstawy optyki
Prof. Brown
Fizyka
Podstawy mechaniki
Prof. Brown
Fizyka
Podstawy optyki
Prof. Green
Fizyka
Podstawy mechaniki
Prof. Green
Fizyka
Nazwa
Nauczyciel
Kurs
Występują relacje:
Kurs
Nauczyciel
Kurs
Nazwa
Proponowane relacje:
Nauczyciel (Kurs, nauczyciel )
Nazwa (Kurs, tytuł)
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Podsumowanie
Podsumowanie
W celu wykonania normalizacji danych potrzebujemy.
• zrozumienia zależności funkcyjnych ;
• zdrowego rozsądku ;
• zrozumienia znaczenia danych ;
• zrozumienia oczekiwań organizacji w stosunku do bazy
danych ;
• znajomości procesu normalizacji .
Antoni Dydejczyk, Bazy danych, wykład 4
WFiIS, Katedra Informatyki Stosowanej, 2007
Pytania ...
Pytania ...