jest "znormalizowany", a jeżeli jest to jak bardzo. Sposoby te nazywane są postaciami normalnymi (ang. normal forms lub NF). Normalizacja bazy danych do konkretnej postaci może wymagać rozbicia dużych tabel na mniejsze i przy każdym wykonywaniu zapytania do bazy danych ponownego ich łączenia. Zmniejsza to wydajność, więc w niektórych przypadkach świadoma denormalizacja (stan bez normalizacji) jest lepsza -zwłaszcza w systemach niekorzystających z modelu relacyjnego (np. OLAP). Normalizacja nie usuwa danych, tylko zmienia schemat bazy danych. Normalizacja przeprowadza bazę danych z jednego stanu spójnego (przed normalizacją) w inny stan spójny (po normalizacji). Jedyna różnica polega na innym układzie danych i relacji pomiędzy nimi, ale bez utraty danych (ewentualnie dodawane są nowe klucze główne).
Pierwsza postać normalna (INF). Jej jedynym warunkiem jest aby każda składowa w każdej krotce była atomowa (nie dawała podzielić się na mniejsze wartości). Atomowość danych jest ściśle powiązana z ich typem (nazwanym i skończonym zbiorem wartości). Ważną cechą relacji utworzonych zgodnie z modelem relacyjnym jest to. że zawsze są znormalizowane - spełniają INF.
Relacja jest w drugiej postaci normalnej (2NF) wtedy i tylko wtedy gdy jest w 1 postaci normalnej i każda kolumna zależy funkcyjnie od całego klucza głównego (a nie np. od części klucza). Druga postać normalna zabrania, aby dla zdefiniowanego klucza ismiał podzbiór atrybutów podstawowych, który identyfikuje atrybuty wtórne. Innymi słowy aby każdy atrybut wtórny tej relacji był w pehu funkcyjnie zależny od wszystkich kluczy tej relacji.
CREATE TABLE produktfid_produkt. wymiar,
nazwa[_producenta,
PRIMARY KEY(id_produk));
w powyższym przykładzie, pole nazwa_producenfa nie jest zależne funkcyjnie od pola id_produkt. gdyż w tym przykładzie, może wystąpić wielu producentów jednego produktu. Taką tabele należy rozbić na dwie tabele. CREATE TABLE produkfid_produkt, wymiar
PRIMARY KEYfidIprodukt));
CREATE TABLE producentfid_producem, nazwa_producenta.
PRIMARY KEY(idLproducent));
Relacja jest w trzedej postaci normalnej (3NF) wtedy i tylko wtedy gdy jest w II postaci normalnej i kolumny są w bezpośredniej zależności funkcyjnej jedynie od klucza głównego. Nie ma takiej zależności między innymi kolumnami. Oznacza to, że nie istnieją żadne zależności przechodnie (metry wialne).
Imię |
Nazwisko |
Stanowisko |
Stawka za godził t |
Stefan |
Anonim |
Młotkowy |
4 zł |
Natalia |
Niewiadoma |
Sekt etat ka |
6 zł |
Ruf ognił a |
Ki ugina |
Sekretarka |
6 zł |
Im* |
Nazwisko |
Stanowisko |
Alfred |
Anonim |
Młotkowy |
Natalia |
Niewiadoma |
Sekretarka |
Rtifognua |
Enigma |
Sekretarka |
Tabela "Stawki godzinowe":