You are on page 1of 7

PBD-NORMALIZACJA

Czym jest normalizacja?


Sposobem na przedstawienie logicznego modelu danych w dobrej postaci.
Pozwala na :
zidentyfikowanie wzajemnych zale no ci pomi dzy danymi
rozwi zanie niejednoznaczno ci
zgrupowanie danych w optymalnych (logicznie) relacjach
stworzenie podstaw do dzielenia danych przez r ne procesy
zdefiniowanie danych elementarnych
zbudowanie atwego do zarz dzania i rozszerzania modelu danych
Model danych w trzeciej postaci normalnej jest wygodnym punktem wyj cia do projektowania fizycznej
struktury danych.

1/14

LZ-2004

PBD-NORMALIZACJA

Cechy relacji
Tablica, aby bya relacj , musi mie nast puj ce cechy:
adne dwa wiersze nie mog by dokadnie takie same
Uporz dkowanie wierszy nie mo e mie znaczenia
Uporz dkowanie kolumn nie mo e mie znaczenia
Ka da kolumna musi mie unikaln nazw
Podczas przeprowadzania normalizacji encje (lub tablice) nazywa si relacjami. Znaczenie tego terminu
jest okre lone przez teoriomnogo ciow definicj relacji.
Relacja jest podzbiorem iloczynu kartezja skiego jej atrybutw. Dziedzin relacji s zbiory warto ci
poszczeglnych jej atrybutw
Dane wej ciowe normalizacji nale y podda

pewnej obrbce. Dla ka dego

rda danych (pliku,

dokumentu, magazynu danych na modelu procesw), nale y ustali jakie ma on atrybuty. Zazwyczaj jest
to ju wykonane w poprzednich etapach projektu.
Podczas normalizacji w ka dym taki zbiorze atrybutw powinni my wskaza -klucz.
LZ-2004

2/14

PBD-NORMALIZACJA

Kroki analizy
Ustalenie kluczy w danych nieznormalizowanych
Przeksztacenie do pierwszej postaci normalnej
Przeksztacenie do drugiej postaci normalnej
Przeksztacenie do trzeciej postaci normalnej
Optymalizacja
Przetestowanie trzeciej postaci normalnej
Stworzenie diagramu modelu danych na podstawie relacji z trzeciej postaci
normalnej

3/14

LZ-2004

PBD-NORMALIZACJA

Ustalenie kluczy w danych nieznormalizowanych


Klucz powinien spenia pewne wymagania:
musi mie unikalne warto ci w relacji
nie mo e si powtarza w tym samym wierszu
powinien by raczej mniejszy ni wi kszy
nale y wybra nie-tekstowy klucz, je eli to mo liwe
lepsze s krtkie, staej dugo ci zmienne ni dugie lub zmiennej dugo ci
Kandydaci na klucze
jest to dowolna kolumna lub kombinacja kolumn, ktrych zawarto

mo e by u yta dla

identyfikacji wierszy tablicy.


Je li tacy kandydaci na klucze istniej , projektant wybiera jeden jako klucz gwny:

LZ-2004

4/14

PBD-NORMALIZACJA

Klucz gwny ktry musi spenia dodatkowe warunki tzn. musi by :

Sztuczne klucze gwne wymy lony klucz gwny, u ywany gdy unikalny identyfikator /naturalny klucz gwny/ jest bardzo
zo ony (jest kombinacj wielu kolumn ).
Stosowanie kluczy sztucznych ma nast puj ce zalety:
klucze sztuczne prowadz do prostych rozwi za , w przypadkach gdy nie istniej proste klucze gwne,
zo ony klucz gwny, ktry wyst puje jako klucz obcy w innej tablicy wprowadza redundancj (duplikacj )
pl, ktrej mo emy unikn

wprowadzaj c klucz sztuczny,

operacje wyszukiwania s krtsze.

Sztuczne klucze gwne wstawia si przewa nie na etapie optymalizacji TNF


LZ-2004

5/14

PBD-NORMALIZACJA

Klucz (klucze) alternatywny unikalny lub powtarzaj cy si


jak wskazuje nazwa, jest u ywany jako alternatywny dost p do danych.

Klucz (klucze) obcy


Jest kolumn lub kombinacj kolumn, ktrych warto ci s kluczem gwnym innej tablicy. Oba
klucze (tzn. klucz obcy i odpowiadaj cy mu klucz gwny innej tablicy powinny mie t sam
dziedzin ).
Klucze obce w projektowaniu logicznym danych reprezentuj relacje z koncepcyjnego modelu
danych (diagramu ERD).

LZ-2004

6/14

PBD-NORMALIZACJA

Zestawienie wynagrodze
562 Kowalski

10- Sprzeda

988 Janowski

Filipowicz

25- Analiza

20.05.03

1500

20- Marketing 699

Walasik

15- Ocena

15.07.03

2000

902 Kowalski

10- Sprzeda

Janowski

15- Ocena

10.07.03

1000

988 Janowski

20- Marketing 699

Walasik

25- Analiza

14.07.03

2500

902 Kowalski

10- Sprzeda

988

Janowski

35- Testowanie

29.07.03

1000

902 Kowalski

10- Sprzeda

988

Janowski

45- Przekazanie 20.08.03

1500

...

...

...

...

... ...

099

pracownikw:

988

20- Marketing 699

988 Janowski

... ...

Walasik

...

45- Przekazanie 20.08.03

...
2000

7/14

LZ-2004

PBD-NORMALIZACJA

Pierwsza posta normalna (FNF)


Relacja jest w pierwszej postaci normalnej wtedy i tylko wtedy,
gdy nie ma powtarzaj cych si grup i ka dy atrybut jest w postaci atomowej.
W przykadzie na rysunku tablica PRACOWNICY zawiera powtarzaj ce grupy warto ci atrybutw (i dlatego nie jest relacj ). Rozwi zaniem jest dekompozycja (nie powoduj ca
utraty danych) na dwie tablice PRACOWNICY i PRZYPISANIA. Dekompozycja ta powinna usun

powtarzaj ce si grupy. Tablica PRZYPISANIA powstaa z dekompozycji;

tablica zawieraj ca powtarzaj ce si grupy powinna zawiera jednocze nie jednoznaczny wyznacznik /klucz/ dla ka dej grupy (w tym przypadku NR, NR_P).

Sprowadzenie tablicy PRACOWNICY do pierwszej postaci normalnej


PRACOWNICY (nieznormalizowana /zerowa/ posta normalna)

NR NAZWISKO NR_W NAZWAW NR_K KIER


902 Kowalski
10
Sprzeda
988
Janowski

988 Janowski

562 Kowalski

LZ-2004

20

10

Marketing 699

Sprzeda

099

Walasik

NR_P PROJEKT DATA_Z WYNAGR


15
Ocena
10.07.96 1000
35
Testowanie 29.07.96 1000
45

Przekaz.

20.08.96 1500

15
25

Ocena
Analiza

150796 2000
14.07.96 2500

45

Przekaz.

20.08.96 2000

Analiza

20.05.96 1500

Filipowicz 25

8/14

PBD-NORMALIZACJA

PRACOWNICY (pierwsza posta normalna)


NR

NAZWISKO

NR_W

NAZWA_W

NR_K

KIER

902

Kowalski

10

Sprzeda

988

Janowski

988

Janowski

20

Marketing

699

Walasik

562

Kowalski

10

Sprzeda

099

Filipowicz

PRZYPISANIA (pierwsza posta normalna)


NR

NRP

PROJEKT

DATA Z

WYNAGR

902

15

Ocena

10.07.96

1000

902

35

Testowanie

29 07 96

1000

902

45

Przekaz.

200896

1500

988

15

Ocena

15.07.96

2000

988

25

Analiza

14.07.96

2500

988

45

Przekaz.

20.08.96

2000

562

25

Analiza

20.05.96

1500

Na rysunku kluczem gwnym w tablicy PRZYPISANIA jest kombinacja kolumn NR i NR P.

9/14

LZ-2004

PBD-NORMALIZACJA

Druga posta normalna (SNF)


Druga posta normalna stosuje si tylko do zo onych kluczy gwnych.

Relacja jest w drugiej postaci normalnej wtedy i tylko wtedy, gdy:


jest w pierwszej postaci normalnej,

ka dy niekluczowy atrybut jest zale ny od wszystkich cz ci klucza gwnego.


PRACOWNICY - druga posta normalna (bez zmian)
Sprowadzanie tablicy PRZYPISANIA do drugiej postaci normalne

PRZYPISANIA (druga posta normalna)


NR
902
902
902
988
988
988
562

NR_P
15
35
45
15
25
45
25

DATA_Z
10.07.96
29.07.96
2008.96
15.07.96
14.07.96
20.08.96
20.05.96

WYNAGR
1000
1000
1500
2000
2500
2000
1500

PROJEKTY (druga posta normalna)


NR_P
15
25
35
45

PROJEKT
Ocena
Analiza
Testowanie
Przekaz.

Jednak e, kolumna PROJEKT jest funkcjonalnie zale na tylko od NR_P to znaczy, tylko od cz ci klucza gwnego.
Rozwi zaniem jest dekompozycja, polegaj ca na:
usuni ciu atrybutu funkcjonalnie zwi zanego (PROJEKT) do osobnej tablicy (tablica PROJEKTY),
zabranie wraz z nim jego wyznacznika (Nr_P).
LZ-2004

10/14

PBD-NORMALIZACJA

Trzecia posta normalna (TNF)


Relacja jest w trzeciej postaci normalnej wtedy i tylko wtedy, gdy:
jest w drugiej postaci normalnej,
aden atrybut, nie b d cy kluczem, nie jest funkcjonalnie zwi zany adnym innym
atrybutem, nie b d cym rwnie kluczem.
Sprowadzenie tablicy PRACOWNICY do trzeciej postaci normalnej

PRACOWNICY( trzecia posta normalna)

WYDZIAY (trzecia posta normalna)

NR NAZWISKO NR_W NR_K

NR_W NAZWA_W

902 Kowalski

10

988

10

Sprzeda

988 Janowski

20

699

20

Marketing

562 Kowalski

10

099

W tablicy PRACOWNICY NR_W jest funkcjonalnie zale ny od NAZWA_W, ktry nie jest kluczem gwnym. Z atrybutw tych tworzy si now
tablic WYDZIAY. Atrybut NAZWA_W zostaje usuni ty z tablicy PRACOWNICY, natomiast NR_W pozostaje w niej jako klucz obcy.

PRZYPISANIA i PROJEKTY bez zmian w trzeciej postaci normalnej


11/14

LZ-2004

PBD-NORMALIZACJA

UNF

Zapewnij, aby wszystkie encje


byy jednoznacznie
identyfikowane przez
kombinacj atrybutw i/lub ich
zwi zki

LOT

UNF

data
godzina

1NF

Relacja R jest w pierwszej


postaci normalnej (1NF)
wtedy i tylko wtedy, gdy
wszystkie u yte dziedziny
zawieraj tylko atomowe
warto ci
Usu powtarzaj ce si atrybuty lub
grupy atrybutw i roz atrybuty

1NF

Usu wszystkie atrybuty, ktre


zale tylko od cz ci
jednoznacznego identyfikatora

2NF

3NF

Relacja R jest w trzeciej postaci


normalnej (3NF) wtedy i tylko
wtedy, gdy jest w 2NF oraz
ka dy niekluczowy atrybut jest
nietranzytywnie (tylko
bezpo rednio) zale ny od klucza
gwnego
Usu atrybuty zale ne od atrybutw,
ktre nie s cz ci jednoznacznego
identyfikatora

3NF

data
godzina

LOT

data
godzina

LOT

data
godzina

numer lotu
nazwa linii lotniczej
nazwa lotniska

numer lotu
nazwa linii lotniczej
nazwa lotniska

TRASA

numer lotu
nazwa linii lotniczej
nazwa lotniska

TRASA
SAMOLOT

numer lotu
typ samolotu
pojemno samolotu

typ samolotu
pojemno samolotu
osoba1

typ samolotu
pojemno samolotu
nazwisko

typ samolotu
pojemno samolotu
nazwisko

LINIA
nazwa linii lotniczej
LOTNISKO nazwa lotniska
ZALOGA
rola

imi
rola

OSOBA

rola1
osoba 2

LOT

2NF

Relacja R jest w drugiej


postaci normalnej (2NF)
wtedy i tylko wtedy gdy jest
w postaci 1NF oraz ka dy
niekluczowy atrybut jest w
peni funkcyjnie zale ny od
klucza gwnego

ZAOGA

imi
rola

ZAOGA

nazwisko
imi

rola2
osoba 3
rola3
LZ-2004

12/14

PBD-NORMALIZACJA

LOT

UNF

data
godzina
numer lotu
nazwa linii lotniczej
nazwa lotniska
typ samolotu
pojemno samolotu
osoba1
rola1
osoba 2
rola2
osoba 3
rola3

LOT

LOT

1NF

data
godzina
numer lotu
nazwa linii lotniczej
nazwa lotniska
typ samolotu
pojemno samolotu
ZAOGA nazwisko
imi
rola
data
<fk>
godzina
<fk>
numer lotu <fk>

2NF

LOT

data
godzina
numer lotu <fk>

3NF

LOT

data
godzina
numer lotu <fk>
TRASA
numer lotu
typ samolotu
nazwa linii lotniczej
nazwa lotniska
SAMOLOT typ samolotu
pojemno samolotu
LINIA
nazwa linii lotniczej
LOTNISKO nazwa lotniska
ZALOGA
rola
data
<fk>
godzina <fk>
nazwisko <fk>
OSOBA
nazwisko
imi

TRASA

numer lotu
nazwa linii lotniczej
nazwa lotniska
typ samolotu
pojemno samolotu
ZAOGA nazwisko
imi
rola
data
<fk>
godzina <fk>

LOT

LOT

TRASA
ZAOGA

ZAOGA

13/14

LZ-2004

PBD-NORMALIZACJA

Physi cal Data Model


Model: li nie l otnicze
Package:
Diagram: LINIE_LOT NICZE
Author: lz
T RASA

LOT
data
godzi na

DAT E
T IME

<pk>
<pk>

numer lotu
data
godzi na

Date : 04-11-14

Version : 1.001

CHAR(10) <pk>
DAT E
<fk>
T IME
<fk>
SAMOLOT

ZAOGA
rola
data
godzina

typ samolotu
numer lotu
li czba miejsc

CHAR(8) <pk>
DAT E
<fk>
T IME
<fk>

LINIA
li nia l otnicza
numer lotu

OSOBA
nazwisko
rola
i mi

CHAR(10) <pk>
CHAR(8)
<fk>
CHAR(10)

LZ-2004

CHAR(3)
<pk>
CHAR(10) <fk>
INT EGER

CHAR(30) <pk>
CHAR(10) <fk>

LOT NISKO
nazwa lotni ska
numer lotu

CHAR(20) <pk>
CHAR(10) <fk>

14/14

You might also like