Związki pomiędzy relacjami(tabelami)
Liczebność związku i uczestnictwo w związku
Związki między dwoma zbiorami mogą reprezentować dwie elementarne cechy.
Liczebność w związku
Uczestnictwo w związku
Liczebność związku
-Jeden do jednego (1:1) jedna instancja zbioru A odpowiada jednej instancji zbioru B
-Jeden do wielu (1:M) jedna instancja zbioru A odpowiada wiele instancji zbioru B(co najmniej 2)
-Wiele do wielu (M:N)wielu instancją encji ze zbioru A odpowiada wiele instancji encji ze zbioru B
Więzy propagacji
Wskazują jakie działania zostały podjęte podczas modyfikowania wierszy w tabeli mamy tutaj 3 możliwości:
-ograniczenia możliwości usunięcia rekordu
-Kaskadowe usuwanie podczas usunięcia krotki z jednej tabeli innych tabelach związanych zostaną usunięte krotki związane
-Wstawianie NULL w przypadku usunięcia krotki tabeli głównej klucze główne w tabelach powiązanych zostaną ustawione na NULL
Normalizacja bazy danych polega na takiej organizacji tabeli aby maksymalnie ograniczyć redundancje i anomalie.
Proces normalizacji rozpoczyna się po utworzeniu wstępnego projektu tabeli.
Projektowanie defensywne to takie które ma na celu ochronę bazy danych przed późniejszymi błędami
Normalizacja pozwala określić czy informacje przewidziane do umieszczenia w bazie danych zostały przypisane do odpowiednich tabel.
Nie daje natomiast odpowiedzi na pytanie czy projekt bazy jest prawidłowy.
Normalizacja to przede wszystkim izolowanie danych należy tak utworzyć tabelę aby modyfikacja danych automatycznie zmieniała dane powiązane.(brak konieczności edycji nadmiarowych danych)
Korzyści z normalizacji:
Zlikwidowanie problemu powtarzania danych
Optymalizacja obietości danych
Optymalizacja efektywności obsługi bazy danych
Minimalizacja zagrożenia pojawienia się błędów przy wprowadzaniu danych
Zwiększenie elastyczności edycji bazy danych.
Reguły normalizacji oznacza się przeważnie jako NF (Normal Form) PN(Postać Normalana)
Wszystkie reguły normalizacji:
1NF (1PN)
2NF
3NF
BCNF
4NF
5NF
DKNF
6NF
W praktyce stosowane są 4. Ale większości projektów wystarczą 3 pierwsze.
Stosowane są dla nich określenia:
Pierwsza postać normalna
Druga postać normalna
Trzecia postać normalna
Baza danych sprowadzona do3NF uznawana jest za zoptymalizowana.
Tabela jest w 1NF gdy każde pole zawiera informację elementarną.
Tabela jest w 2NF gdy jest w 1NF oraz każde z pól nie należących do klucza podstawowego zależy od całego klucza a nie jego części i być przez niego jednoznacznie identyfikowane.
Tabela jest w 3NF gdy jest w 2NF i każde z pól nie należące do klucza niesie ze osobna informacje bezpośrednio o kluczu i nie odnosi się do żadnego innego pola.
Istnieje możliwość dalszej normalizacji bazy danych ale robi się to bardzo rzadko, wyższe postacie normalne pojawiają cię w rozważaniach czysto teoretycznych.