NORMALIZACJA BAZY DANYCHcz 1 Pierwsza i druga posta
NORMALIZACJA BAZY DANYCH_cz. 1. Pierwsza i druga postać normalana
Definicja Normalizacja (lub sprowadzenie do postaci normalnej) to proces projektowania bazy danych tak, aby utworzyć zbiór tabel o odpowiedniej strukturze. Polega na kolejnych podziałach tabel na mniejsze tabele, które są z kolei łączone w zapytaniach (kwerendach).
Po co normalizacja? §uniknięcie redundancji; jest to cecha niepożądana, powodująca niekorzystne zachowania bazy danych np. marnotrawstwo pamięci dyskowej albo problemy przy usuwaniu lub wstawianiu danych §uniknięcie niezgodności danych §uniknięcie błędów przy zmianie danych (tzw. anomalie Update/Insert/Delete §uniknięcie pustych pól (mogą prowadzić do problemów przy przetwarzaniu danych)
I postać normalna (1 NF ang. normal form) • postać najsłabsza; • wymaga jedynie, aby dziedziny atrybutów były elementarne (nierozkładalne, atomowe), czyli np. liczby całkowite, daty, łańcuchy, a nie np. listy liczb lub zbiory dat. Rekordy w 1 NF są stałej długości. • opisuje jeden obiekt • posiada klucz główny • kolejność wierszy dowolna
Przykład tabeli nie spełniającej wymogów 1 NF Przykład tabeli spełniającej wymóg 1 NF
Przykład tabeli nie spełniającej wymogów 1 NF (praca w grupie)
Przykład tabeli spełniającej wymóg 1 NF
ZADANIE. ZNORMALIZUJ TABELĘ
TABELA ZNORMALIZOWANA
II postać normalna (2 NF ang. normal form) Tabela jest w 2 NF jeżeli: • jest w I postaci normalnej • jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza jest w pełni funkcyjnie zależny wyłącznie od wszystkich podrelacji klucza głównego
Przykład tabeli nie spełniającej wymogów 2 NF (dyskusja) Nazwa specjalizac ji Numer lekarza Nazwisko lekarza Imię lekarza Tytuł lekarza Nr pacjenta Nazwisko pacjenta Imię pacjenta Wiek pacjenta Ubezpiecz enie Internista 229 Lubicz Jan Lek. med. 158 Zawada Janusz 50 NFZ Internista 229 Lubicz Jan Lek. med. 159 Ziober Jakub 41 Brak Gastrolog 568 Nowak Anna Dr 264 Kowal Zdzisław 59 NFZ Proktolog 498 Burski Jakub Dr 489 Brodecki Marek 25 Brak Pediatra 752 Jarosz Marcin Lek. med. 248 Kmieć Joanna 12 NFZ Neurolog 367 Sum Henryk Prof. . 236 Mostowiak Hanna 31 NFZ Neurolog 367 Sum Henryk Prof. . 159 Ziober Jakub 41 Brak gastrolog 568 Nowak Anna dr 159 Ziober jakbu 41 Brak
Zaczynamy dekompozycję Nazwa specjalizac ji Numer lekarza Nazwisko lekarza Imię lekarza Tytuł lekarza Nr pacjenta Nazwisko pacjenta Imię pacjenta Wiek pacjenta Ubezpiecz enie Internista 229 Lubicz Jan Lek. med. 158 Zawada Janusz 50 NFZ Internista 229 Lubicz Jan Lek. med. 159 Ziober Jakub 41 Brak Gastrolog 568 Nowak Anna Dr 264 Kowal Zdzisław 59 NFZ Proktolog 498 Burski Jakub Dr 489 Brodecki Marek 25 Brak Pediatra 752 Jarosz Marcin Lek. med. 248 Kmieć Joanna 12 NFZ Neurolog 367 Sum Henryk Prof. . 236 Mostowiak Hanna 31 NFZ Neurolog 367 Sum Henryk Prof. . 159 Ziober Jakub 41 Brak gastrolog 568 Nowak Anna dr 159 Ziober jakbu 41 Brak
Przykład tabeli po normalizacji do II PN (po dekompozycji) Nazwa specjalizac ji Numer lekarza (*) Nazwisko lekarza Imię lekarza Tytuł lekarza Nr pacjenta (*) Nazwisko pacjenta Imię pacjenta Wiek pacjenta Ubezpiecz enie Internista 229 Lubicz Jan Lek. med. 158 Zawada Janusz 50 NFZ Gastrolog 568 Nowak Anna Dr 159 Ziober Jakub 41 Brak Proktolog 498 Burski Jakub Dr 264 Kowal Zdzisław 59 NFZ Pediatra 752 Jarosz Marcin Lek. med. 489 Brodecki Marek 25 Brak Neurolog 367 Sum Henryk Prof. . 248 Kmieć Joanna 12 NFZ gastrolog 568 Nowak Anna dr 236 Mostowiak Hanna 31 NFZ Nr wizyty (*) Nr pacjenta Numer lekarza 1 31 367 2 41 229 3 59 568 4 25 498 5 31 752 6 31 752
Przykład tabeli nie spełniającej wymogów 2 NF
Przykład tabeli po normalizacji do II PN (po dekompozycji)
Baza przechowuje informacje o firmach i sprzedawanych przez te firmy towarach. Znormalizuj
- Slides: 16