background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

1/14 

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. 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

2/14 

Cechy relacji

 

Tablica, aby była relacj , musi mie  nast puj ce cechy: 

 

 

adne dwa wiersze nie mog  by  dokładnie 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  atrybutów.  Dziedzin   relacji  s   zbiory  warto ci 
poszczególnych jej atrybutów 
Dane  wej ciowe  normalizacji  nale y  podda   pewnej  obróbce.  Dla  ka dego  ródła  danych  (pliku, 
dokumentu, magazynu danych na modelu procesów), nale y ustali  jakie ma on atrybuty. Zazwyczaj jest 
to ju  wykonane w poprzednich etapach projektu. 
Podczas normalizacji w ka dym taki zbiorze atrybutów powinni my wskaza -klucz. 

background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

3/14 

Kroki analizy 

 

 

Ustalenie kluczy w danych nieznormalizowanych 

 

Przekształcenie do pierwszej postaci normalnej 

 

Przekształcenie do drugiej postaci normalnej 

 

Przekształcenie do trzeciej postaci normalnej 

 

Optymalizacja 

 

Przetestowanie trzeciej postaci normalnej 

 

Stworzenie diagramu modelu danych na podstawie relacji z trzeciej postaci 
normalnej 

 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

4/14 

Ustalenie kluczy w danych nieznormalizowanych 

 

Klucz powinien spełnia  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  krótkie, stałej długo ci zmienne ni  długie lub zmiennej długo ci 

 

Kandydaci na klucze — 

jest to dowolna kolumna lub kombinacja kolumn, których zawarto  mo e by  u yta dla 

identyfikacji wierszy tablicy.  

Je li tacy kandydaci na klucze istniej , projektant wybiera 

jeden

 jako klucz główny:

 

background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

5/14 

Klucz główny

 — który musi spełnia  dodatkowe warunki tzn. musi by : 

Sztuczne klucze główne -   
wymy lony klucz główny, u ywany gdy unikalny identyfikator /naturalny klucz główny/ jest bardzo 
zło 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 główne, 
•  zło ony klucz główny, który wyst puje jako klucz obcy w innej tablicy wprowadza redundancj  (duplikacj ) 

pól, której mo emy unikn  wprowadzaj c klucz sztuczny, 

•  operacje wyszukiwania s  krótsze. 

Sztuczne klucze główne wstawia si  przewa nie na etapie optymalizacji TNF 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

6/14 

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, których warto ci s  kluczem głównym innej tablicy. Oba 

klucze (tzn. klucz obcy i odpowiadaj cy mu klucz główny innej tablicy powinny mie  t  sam  
dziedzin ). 
 
Klucze obce w projektowaniu logicznym danych reprezentuj  relacje z koncepcyjnego modelu 
danych (diagramu ERD). 
 

background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

7/14 

 

Zestawienie wynagrodze  pracowników: 

562  Kowalski 

10- Sprzeda   099 

Filipowicz 

25- Analiza 

20.05.03  1500 

988  Janowski 

20- Marketing  699 

Walasik 

15- Ocena 

15.07.03  2000 

902  Kowalski 

10- Sprzeda   988 

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 

... 

... 

... ... 

... 

... 

... ... 

... 

... 

988  Janowski 

20- Marketing  699 

Walasik 

45- Przekazanie  20.08.03  2000 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

8/14 

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 przykładzie na rysunku  tablica PRACOWNICY zawiera powtarzaj ce grupy warto ci atrybutów (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 powstała 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

 

NR_P

 

PROJEKT

 

DATA_Z

 

WYNAGR

 

902

 

Kowalski

 

10

 

Sprzeda

 

988

 

Janowski

 

15

 

Ocena

 

10.07.96

 

1000

 

 

 

 

 

 

 

 

 

 

 

 

 

35

 

Testowanie

 

29.07.96

 

1000

 

 

 

 

 

 

 

 

 

 

 

 

 

45

 

Przekaz.

 

20.08.96

 

1500

 

988

 

Janowski

 

20

 

Marketing

 

699

 

Walasik

 

15

 

Ocena

 

150796

 

2000

 

 

 

 

 

 

 

 

 

 

 

 

 

25

 

Analiza

 

14.07.96

 

2500

 

 

 

 

 

 

 

 

 

 

 

 

 

45

 

Przekaz.

 

20.08.96

 

2000

 

562

 

Kowalski

 

10

 

Sprzeda

 

099

 

Filipowicz

 

25

 

Analiza

 

20.05.96

 

1500

 

 

background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

9/14 

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 głównym w tablicy PRZYPISANIA jest kombinacja kolumn NR i NR P. 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

10/14 

Druga posta  normalna (SNF)

 

Druga posta  normalna stosuje si  tylko do zło onych kluczy głównych. 

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 głównego. 

PRACOWNICY - druga posta  normalna (bez zmian) 

Sprowadzanie tablicy PRZYPISANIA  do drugiej postaci normalne 

PRZYPISANIA (druga posta  normalna)   

PROJEKTY (druga posta  normalna) 

NR

 

NR_P

 

DATA_Z

 

WYNAGR

 

 

 

NR_P

 

PROJEKT

 

902

 

15

 

10.07.96

 

1000

 

 

 

15

 

Ocena

 

902

 

35

 

29.07.96

 

1000

 

 

 

25

 

Analiza

 

902

 

45

 

2008.96

 

1500

 

 

 

35

 

Testowanie

 

988

 

15

 

15.07.96

 

2000

 

 

 

45

 

Przekaz.

 

988

 

25

 

14.07.96

 

2500

 

 

 

 

 

988

 

45

 

20.08.96

 

2000

 

 

 

 

 

562

 

25

 

20.05.96

 

1500

 

 

 

 

 

 

Jednak e, kolumna PROJEKT jest funkcjonalnie zale na tylko od NR_P to znaczy, tylko od cz ci klucza głównego. 
 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). 

background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

11/14 

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 równie  kluczem. 

 

Sprowadzenie tablicy PRACOWNICY do trzeciej postaci normalnej 

PRACOWNICY

( trzecia posta  normalna) 

WYDZIAŁY

 (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, który nie jest kluczem głównym. Z atrybutów tych tworzy si  now  
tablic  WYDZIAŁY. 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 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

12/14 

 

UNF 

  1NF 

  2NF 

 

3NF 

 

Relacja R jest w pierwszej 

postaci normalnej (1NF) 

wtedy i tylko wtedy, gdy 

wszystkie u yte dziedziny 

zawieraj  tylko atomowe 

warto ci 

Relacja R jest w drugiej 

postaci normalnej (2NF) 

wtedy i tylko wtedy gdy jest 

w postaci 1NF oraz ka dy 

niekluczowy atrybut jest w 

pełni funkcyjnie zale ny od 

klucza głównego 

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 

głównego 

Zapewnij, aby wszystkie encje 

były jednoznacznie 

identyfikowane przez 

kombinacj  atrybutów i/lub ich 

zwi zki 

Usu  powtarzaj ce si  atrybuty lub 

grupy atrybutów i rozłó  atrybuty  

Usu  wszystkie atrybuty, które 

zale  tylko od cz ci 

jednoznacznego identyfikatora 

Usu  atrybuty zale ne od atrybutów, 

które nie s  cz ci  jednoznacznego 

identyfikatora 

 

UNF 

1NF 

 

2NF 

 

3NF 

LOT 

data 

  LOT 

data 

  LOT 

data 

  LOT 

data 

 

godzina 

   

godzina 

   

godzina 

   

godzina 

 

numer lotu 

   

numer lotu 

  TRASA 

numer lotu 

  TRASA 

numer lotu 

 

nazwa linii lotniczej     

nazwa linii lotniczej 

   

nazwa linii lotniczej    SAMOLOT  typ samolotu 

 

nazwa lotniska 

   

nazwa lotniska 

   

nazwa lotniska 

   

pojemno  samolotu 

 

typ samolotu 

   

typ samolotu 

   

typ samolotu 

  LINIA 

nazwa linii lotniczej 

 

pojemno  samolotu     

pojemno  samolotu 

   

pojemno  samolotu    LOTNISKO  nazwa lotniska 

 

osoba1 

  ZAŁOGA  nazwisko 

  ZAŁOGA  nazwisko 

  ZALOGA 

rola 

 

rola1 

   

imi  

   

imi  

  OSOBA 

nazwisko 

 

osoba 2 

   

rola 

   

rola 

   

imi  

 

rola2 

   

 

   

 

   

 

osoba 3 

   

 

   

 

   

 

rola3 

   

 

   

 

   

background image

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

13/14 

UNF 

1NF 

 

2NF 

 

3NF 

LOT 

data 

  LOT 

data 

  LOT 

data 

  LOT 

data 

 

godzina 

   

godzina 

   

godzina 

   

godzina 

 

numer lotu 

   

numer lotu 

   

numer lotu  <fk>

 

   

numer lotu  <fk>

 

 

nazwa linii lotniczej     

nazwa linii lotniczej 

   

 

  TRASA 

numer lotu 

 

nazwa lotniska 

   

nazwa lotniska 

  TRASA 

numer lotu 

   

typ samolotu 

 

typ samolotu 

   

typ samolotu 

   

nazwa linii lotniczej     

nazwa linii lotniczej 

 

pojemno  samolotu     

pojemno  samolotu     

nazwa lotniska 

   

nazwa lotniska 

 

osoba1 

  ZAŁOGA  nazwisko 

   

typ samolotu 

  SAMOLOT  typ samolotu 

 

rola1 

   

imi  

   

pojemno  samolotu     

pojemno  samolotu 

 

osoba 2 

   

rola 

  ZAŁOGA  nazwisko 

  LINIA 

nazwa linii lotniczej 

 

rola2 

   

data                <fk> 

   

imi  

  LOTNISKO  nazwa lotniska 

 

osoba 3 

   

godzina          <fk> 

   

rola 

  ZALOGA 

rola 

 

rola3 

   

numer lotu     <fk> 

   

data          <fk> 

   

data          <fk> 

 

 

   

 

   

godzina   <fk> 

   

godzina   <fk> 

 

 

   

 

   

 

   

nazwisko  <fk>

 

 

 

   

 

   

 

  OSOBA 

nazwisko 

 

 

   

 

   

 

   

imi  

 

 

ZAŁOGA 

LOT 

ZAŁOGA 

LOT 

TRASA 

LOT 

PBD-NORMALIZACJA 

LZ-2004 

 

 

 

 

 

 

 

 

14/14 

 

LOTNISKO

nazwa lotniska
numer lotu

CHAR(20)
CHAR(10)

<pk>
<fk>

LINIA

linia lotnicza
numer lotu

CHAR(30)
CHAR(10)

<pk>
<fk>

SAMOLOT

typ samolotu
numer lotu
liczba miejsc

CHAR(3)
CHAR(10)
INTEGER

<pk>
<fk>

TRASA

numer lotu
data
godzina

CHAR(10)
DATE
TIME

<pk>
<fk>
<fk>

LOT

data
godzina

DATE
TIME

<pk>
<pk>

ZAŁOGA

rola
data
godzina

CHAR(8)
DATE
TIME

<pk>
<fk>
<fk>

OSOBA

nazwisko
rola
imi

CHAR(10)
CHAR(8)
CHAR(10)

<pk>
<fk>

Physical Data Model

Model: linie lotnicze
Package: 
Diagram: LINIE_LOTNICZE
Author: lz

Date : 04-11-14 

Version : 1.001