1. czym jest piąta postać normalna (5NF)?
Piąta Postać Normalna (5NF), znana również jako Postać Normalna Projekcji-Połączenia (PJ/NF), jest najwyższym poziomem normalizacji. Jej celem jest wyeliminowanie bardzo specyficznego rodzaju redundancji, który może przetrwać nawet w tabeli spełniającej warunki 4NF. Problem ten wynika z istnienia zależności połączenia (ang. Join Dependency, JD).
Definicja Zależności Połączenia: Mówimy, że w relacji R istnieje zależność połączenia, jeśli można ją rozbić na kilka mniejszych tabel (projekcji), a następnie, po ich ponownym złączeniu (operacją NATURAL JOIN), odzyskać dokładnie tę samą oryginalną tabelę. Jeśli taka dekompozycja jest możliwa i nie opiera się wyłącznie na kluczach kandydujących, oznacza to, że tabela narusza 5NF.
Definicja 5NF: Relacja jest w Piątej Postaci Normalnej (5NF) wtedy i tylko wtedy, gdy jest w 4NF i każda nietrywialna zależność połączenia jest zdeterminowana przez superklucz.
W praktyce naruszenie 5NF jest rzadkie i dotyczy głównie złożonych, trójstronnych (lub wielostronnych) relacji, w których obowiązuje specyficzna reguła biznesowa.
2. identyfikacja zależności połączenia – studium przypadku
Wyobraźmy sobie firmę, w której agenci handlowi reprezentują różne firmy i sprzedają różne produkty. Chcemy przechowywać informacje o tym, który agent, dla jakiej firmy i jaki produkt może oferować.
Obowiązuje następująca reguła biznesowa: Agent może reprezentować daną firmę przy sprzedaży danego produktu tylko wtedy, gdy:
- Agent jest autoryzowany do pracy dla tej firmy.
- Firma produkuje ten produkt.
- Agent jest przeszkolony w zakresie sprzedaży tego produktu.
Jeśli spróbujemy zapisać te informacje w jednej tabeli, otrzymamy następującą strukturę:
| Agent | Firma | Produkt |
|---|---|---|
| Kowalski | IBM | Serwer |
| Kowalski | HP | Drukarka |
| Nowak | IBM | Serwer |
| Kowalski | IBM | Drukarka |
Analiza: Kluczem głównym jest {Agent, Firma, Produkt}. Tabela jest w 4NF, ponieważ nie ma zależności wielowartościowych. Jednakże, ostatni wiersz (Kowalski, IBM, Drukarka) jest redundantny. Dlaczego? Ponieważ można go wywnioskować z innych faktów:
- Kowalski pracuje dla IBM (z pierwszego wiersza).
- IBM produkuje Drukarki (musimy założyć, że ten fakt istnieje gdzieś indziej, np. Kowalski sprzedaje drukarki dla HP, a Nowak serwery dla IBM).
- Kowalski jest przeszkolony w sprzedaży Drukarek (z drugiego wiersza).
Zgodnie z regułą biznesową, te trzy fakty implikują, że Kowalski może sprzedawać drukarki dla IBM. Zatem przechowywanie tego wiersza jawnie jest zbędne i prowadzi do anomalii.
3. proces dekompozycji do 5NF
Aby osiągnąć 5NF, musimy rozbić tabelę na mniejsze, które reprezentują fundamentalne, niepodzielne fakty. W tym przypadku będą to trzy tabele, odzwierciedlające trzy warunki z naszej reguły biznesowej.
Wynik dekompozycji:
| Agent | Firma |
|---|---|
| Kowalski | IBM |
| Kowalski | HP |
| Nowak | IBM |
| Firma | Produkt |
|---|---|
| IBM | Serwer |
| HP | Drukarka |
| IBM | Drukarka |
| Agent | Produkt |
|---|---|
| Kowalski | Serwer |
| Kowalski | Drukarka |
| Nowak | Serwer |
Teraz, aby sprawdzić, czy Kowalski może sprzedawać drukarki dla IBM, wykonujemy złączenie tych trzech tabel. Jeśli w wyniku złączenia pojawi się wiersz (Kowalski, IBM, Drukarka), oznacza to, że kombinacja jest dozwolona. Nie musimy już przechowywać tego faktu jawnie.
4. podsumowanie i znaczenie 5NF
Piąta Postać Normalna jest teoretycznym zwieńczeniem procesu normalizacji. W praktyce jest rzadko stosowana z kilku powodów:
- Złożoność: Identyfikacja zależności połączenia jest trudna i nieintuicyjna.
- Wydajność: Dekompozycja na wiele małych tabel może prowadzić do konieczności wykonywania skomplikowanych i kosztownych operacji złączenia w celu odtworzenia pełnej informacji.
- Rzadkość występowania: Scenariusze, w których naruszenie 5NF jest realnym problemem, są bardzo specyficzne.
Mimo to, zrozumienie 5NF jest cenne, ponieważ uczy nas myśleć o danych w kategoriach fundamentalnych, niepodzielnych faktów. Dążenie do 5NF to dążenie do absolutnej eliminacji redundancji, gdzie każda tabela w bazie danych reprezentuje jedną, spójną i nierozerwalną regułę lub zbiór faktów.
