Anomalie (bazy danych)
Z Wikipedii
Anomalie powstają gdy próbujemy w jednej tabeli (w żargonie matematycznym - relacji) umieścić zbyt wiele danych.
Przykład:
Tabela Sprzedaż:
Nazwa | Adres | Co | Ile | Cena/szt |
---|---|---|---|---|
Firma1 | Adres1 | Słoiki | 15 | 12PLN |
Firma1 | Adres1 | Gwoździe | 17 | 2PLN |
Firma2 | Adres2 | Papier | 1 | 12PLN |
Problemy:
- Nadmiarowość (ang. redundancy). Dane powtarzają się w kilku (wielu) wierszach (w żargonie - krotkach). Adres1 niepotrzebnie powtarza się. W przypadku dodawania nowego zakupu przez Firmę1 gdy osoba wpisująca pomyli się i źle wpisze adres lub nazwę firmy baza utraci spójność danych (nie będzie wiadomo która wartość jest prawidłowa).
- Anomalie modyfikacji (ang. update anomalies). W przypadku gdy Firma1 zmieni swój adres trzeba zmienić wszystkie wiersze (krotki) w tej tabeli (relacji). Gdy nie zostanie zmieniony choćby jeden wiersz to baza utraci spójność danych. Wymaganie zmiany wszystkich wierszy w dużych bazach spowoduje znaczące obciążenie.
- Anomalie usunięć (ang. deletion anomalies). Usunięcie Firmy2 z tabeli powyżej spowoduje usunięcie również informacji o części zamówień (bilans się nie będzie zgadzał), a dodatkowo informacja że kiedyś Firma2 kupiła coś będzie również niedostępna.
Rozwiązaniem tych problemów są postacie normalne, które gwarantują że takie anomalie nie będą miały miejsca.