background image

Normalizacja struktury bazy 

danych 

Dr inż. Andrzej Czerepicki 

background image

Problem optymalizacji struktury BD 

• Ten sam model ER (związków encji) może być 

przekształcony na różne modele relacyjne 

• Jak sprawdzić czy wybrana struktura bazy jest 

optymalna? 

 

background image

Normalizacja struktury BD 

• Normalizacja  - proces iteracyjny 

przekształcenia struktury bazy danych w celu 
uzyskania struktury optymalnej 

– Iteracyjność procesu polega na stopniowej 

dekompozycji struktury BD w celu optymalizacji 
związków 

– Cel normalizacji: redukcji nadmiarowości struktury 

bazy danych 

background image

Warunki normalizacji 

• Normalizacja nie może powodować utraty 

informacji przechowywanej w bazie danych 

– Nie może dojść do eliminacji atrybutów lub 

związków obecnych w modelu ER 

• Normalizacja nie może stosować związków 

pomiędzy tabelami typu „wielu-do-wielu” 
(dozwolone 1:N oraz 1:1) 

background image

Postacie normalne bazy danych 

1PN (pierwsza postać normalna) 

2PN (druga postać normalna) 

3PN (trzecia postać normalna) 

4PN (czwarta postać normalna) 

5PN (piąta postać normalna) 

background image

Struktura bazy nie normalizowanej 

background image

Pierwsza postać normalna (1PN) 

• Każda kolumna w tabeli musi zawierać dane 

które są niepodzielne 

background image

Druga postać normalna (2PN) 

• Każda kolumna w tabeli jest w pełni zależna od 

klucza głównego tabeli (wszystkich jego 
kolumn) 

– Kluczem głównym jest para kolumn { KodIndeks }. 

Kolumna Przedmiot zależy tylko od kolumny Kod
czyli nie od całego indeksu lecz od pewnej jego 
części. Tak samo jak kolumna Student zależy tylko 
od Indeks. Dlatego należy podzielić tabelę na trzy. 
 

background image

Druga postać normalna (2PN) c.d. 

background image

Trzecia postać normalna (3PN) 

• Każda kolumna tabeli zależy tylko od klucza 

głównego i nie zależy od pozostałych kolumn 

– W tabeli Zajęcia kolumny Indeks i Grupa są 

powiązane.  Powoduje to nadmiarowość wierszy w 
tabeli Zajęcia.  Rozwiązać problem można dodając 
kolumnę Grupa do tabeli Studenci
 

background image

Trzecia postać normalna (3PN) c.d. 

background image

4. oraz 5. postacie normalne 

• 4PN i 5PN – optymalizacja złożonych relacji 

(jeśli A zależy od B, zaś B zależy od C -> wynika 
że A zależy od C itp.) 

• W praktyce stosują się rzadko ze względu na 

nadmierną komplikację struktury bazy danych. 
 

background image

Podsumowanie 

• Normalizacja pozwala uzyskać optymalną 

strukturę bazy danych z punktu widzenia teorii 

• W praktyce nadmiarowość struktury bazy jest 

stosowana w celu: 

– Zapewnienia większego bezpieczeństwa danych 
– Uproszczenia algorytmów przetwarzania danych 
– Przyspieszenia przetwarzania danych 

• Większość BD powinna spełniać warunki 3PN