Druga postać normalna

0

Witam!
Mam małe pytanko odnośnie normalizacji. Wiem, że 1NF polega na tym, że wszystkie atrybuty muszą być niepodzielne. W 3NF szuka się jakby dodatkowych relacji w relacjach z 2NF. To chyba jest OK, nie? ;)

No i parę pytań:

  1. Mógłby ktoś mi wyjaśnić na czym polega 2NF? Wiem tylko, że jest to coś pośredniego. Nie znalazłem jeszcze dobrego wytłumaczenia...
  2. Czy w 1NF wyszukuje się jakieś klucze, czy tylko dzieli się atrybuty na atomowe?

Jak pojawią się inne wątpliwości, to jeszcze napiszę.

Z góry dziękuję za odpowiedzi i pozdrawiam!

0
  1. Mógłby ktoś mi wyjaśnić na czym polega 2NF? Wiem tylko, że jest to coś pośredniego. Nie znalazłem jeszcze dobrego wytłumaczenia...

Definicja:
Dana relacja r o schemacie R jest w drugiej postaci normalnej 2NF jeżeli żaden atrybut wtórny tej relacji nie jest częściowo funkcyjnie zależny od żadnego z kluczy r.

Definicje pomocnicze:
Atrybut X jest wtórny w schemacie R jeżeli nie należy do żadnego z kluczy schematu R.

Zbiór atrybutów Y jest częściowo funkcyjnie zależny od zbioru atrybutów X w schemacie R, jeżeli X -> Y i istnieje podzbiór X' ( X' zawiera się w X) taki, że X' -> Y.

A teraz przykład:
Załóżmy, że masz jakąś relację R = (A, B, C, D) w której wyszukałeś takie zależności funkcyjne
AB -> C
C -> A
C -> D
Żeby sprawdzić, czy żaden atrybut wtórny nie jest częściowo zależna od klucza, najpierw trzeba znaleźć wszystkie klucze oraz atrybuty wtórne. W tym przypadku kluczami kandydującymi są zbiory {A, B}, {B, C} a jedynym atrybutem wtórnym (nie należącym do któregoś klucza) jest D. Teraz sprawdzasz czy wszystkie atrybuty wtórne (w tym przypadku tylko D) nie są przypadkiem częściowo zależne od klucza. D zależy od C a C z kolei jest podzbiorem klucza. Tak więc zależność C -> D jest zależnością niepełną więc relacja nie jest w 2NF.

  1. Czy w 1NF wyszukuje się jakieś klucze, czy tylko dzieli się atrybuty na atomowe?

Z tego co wiem są różne definicje 1NF. Rlelacja, która nie posiada klucza głównego nie jest 1NF ponieważ krotki mogą się duplikować.

Ogólnie polecam książkę C. J. Date'a 'Wprowadzenie do systemów baz danych' oraz oczywiście materiały z ważniaka: http://wazniak.mimuw.edu.pl/index.php?title=Bazy_danych

0

OK, poczytałem i chyba zrozumiałem. Zrobiłem normalizację mojej bazy danych, tylko chciałbym się upewnić, czy wszystko jest dobrze. Czy ktoś mógłby mi ją sprawdzić? Jak ktoś się zgłosi, to wyślę plik na maila z postaciami normalnymi i schemat relacji z Accessa.

rnd - może się tego podejmiesz? ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1