ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
  • Firma

Bazy danych – Piąta postać normalna (5NF)

Napisane przez Igor Brzeżek on 2 listopada 2025
Napisane w: Bazy danych.

Contents
  1. 1. czym jest piąta postać normalna (5NF)?
  2. 2. identyfikacja zależności połączenia – studium przypadku
  3. 3. proces dekompozycji do 5NF
  4. Wynik dekompozycji:
  5. 4. podsumowanie i znaczenie 5NF

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:

  1. Agent jest autoryzowany do pracy dla tej firmy.
  2. Firma produkuje ten produkt.
  3. Agent jest przeszkolony w zakresie sprzedaży tego produktu.

Jeśli spróbujemy zapisać te informacje w jednej tabeli, otrzymamy następującą strukturę:

Tabela Dozwolone_Kombinacje (narusza 5NF)
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:

Tabela: Agent_Firma
Agent Firma
Kowalski IBM
Kowalski HP
Nowak IBM

Tabela: Firma_Produkt
Firma Produkt
IBM Serwer
HP Drukarka
IBM Drukarka
Tabela: Agent_Produkt
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.

Nawigacja

← Bazy danych – Podsumowanie normalizacji
Bazy danych – Czwarta postać normalna (4NF) →
  • Szukaj

  • Kategorie

    • IT ogólnie (115)
      • Bezpieczeństwo (19)
        • Model AAA (7)
        • Szyfrowanie (1)
      • CCTV (3)
      • Hardware (2)
      • Sieci (30)
        • Cisco (4)
          • Obsługa haseł (2)
        • MikroTik (8)
        • Pomiary w sieciach LAN (6)
          • iptraf-ng (3)
        • Protokół ARP (3)
        • Symulator sieci GNS3 (2)
        • WLAN / WiFi (5)
      • Software (53)
        • Bazy danych (12)
        • Programowanie (3)
        • Systemy operacyjne (15)
          • Linux Debian (14)
        • Windows (7)
      • WiFi (2)
      • Wirtualizacja (26)
  • Ostatnie wpisy

    • WLAN – Wstęp
    • WLAN – Tryb AP
    • WLAN – Tryb BRIDGE (most)
    • WLAN – Tryb WDS
    • WLAN – WLC
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

Proudly powered by WordPress Theme: Parament by Automattic.
7ads6x98y