ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
    • Wykłady IT
  • 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 (163)
      • AI (3)
      • Bezpieczeństwo (19)
        • Model AAA (7)
        • Szyfrowanie (1)
      • CCTV (3)
      • Hardware (2)
      • Podstawy informatyki (1)
      • Sieci (50)
        • Cisco (4)
          • Obsługa haseł (2)
        • MikroTik (8)
        • Monitorowanie sieci (6)
        • Pomiary w sieciach LAN (6)
          • iptraf-ng (3)
        • Protokół ARP (5)
        • Symulator sieci GNS3 (5)
        • Tunelowanie ruchu (6)
          • Tunele GRE (2)
          • Tunele SSH (4)
        • WLAN / WiFi (7)
      • Software (78)
        • Bazy danych (13)
        • Programowanie (21)
        • Systemy operacyjne (21)
          • Linux Debian (18)
        • Windows (8)
      • Wirtualizacja (26)
  • Ostatnie wpisy

    • Pomiary prędkości
    • SNMP-Exporter, Prometheus, Grafana + MikroTik
    • Monitorowanie sieci LAN za pomocą SNMP
    • Lokalny model Bielik dla Ollama
    • Hermes agent
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

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

Powered by
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by