PODSTAWY BAZ DANYCH
31
PRZYKŁAD 8.1
Przedstawiono tu przykładową bazę danych stworzoną na potrzeby organizacji służby zdrowia. Taka baza danych powinna przechowywać dane lekarzy oraz określenie ich specjalizacji, a także informacje dotyczące pacjentów.
Tabela 8.1. Baza danych lekarzy
Nazwa Numer Nazwisko Imię Tytuł Nr Nazwisko Imię Wiek Ubezpie-
specjalizacji lekarza lekarza lekarza lekarza pacjenta pacjenta pacjenta pacjenta czenie
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 |
Prot. |
159 |
Ziober |
Jakub |
41 |
Brak |
Dysponując tak zorganizowaną bazą danych, w momencie gdy chcielibyśmy usunąć pacjenta Marka Brodeckiego, nr 489, wraz z nim stracilibyśmy informację o lekarzu Jakubie Burskim, jego numerze i profesji. Taki niepożądany efekt nazywamy anomalią usuwania danych.
Jeśli w szpitalu zmieniłby się lekarz na stanowisku internisty, musielibyśmy zmienić jego imię i nazwisko nie tylko w jednym wierszu, ale we wszystkich wierszach ze specjalizacją internisty, w których dane lekarza się powtarzają. Efekt taki jest niepożądany i określany jest mianem anomalii modyfikacji danych.
Podobna nieprawidłowość może wystąpić w momencie zapisania do szpitala nowego pacjenta. Musielibyśmy nie tylko skompletować dane dotyczące jego imienia, nazwiska, wieku, lecz także wielokrotnie je powtarzać przy wszystkich lekarzach, do których pacjent byłby przypisany. Zjawisko takie nosi nazwę anomalii wstawiania danych.
Podany przykład prezentuje tylko niewielki fragment bazy danych, która mogłaby w tej postaci funkcjonować w szpitalu. Jednak realnie, po umieszczeniu kilku tysięcy pacjentów, wykonywanie powyższych operacji (wstawiania, usuwania i modyfikacji) mogłoby okazać się niezwykle czasochłonne, kłopotliwe czy wręcz niewykonalne dla jednej osoby._
Anomalie mogą pojawiać się jako skutki uboczne, gdy przystępujemy do wstawiania, kasowania lub modyfikacji danych w tabelach. Należy jednak pamiętać, że nie każda tabela bazy danych jest narażona na pojawianie się anomalii, które mogą wystąpić w niewystarczająco znormalizowanych tabelach. W takich tabelach może zajść jedna lub kilka anomalii: aktualizacji/modyfikacji, usuwania i wstawiania.
Jeśli w obrębie tabeli ta sama informacja powtarza się w kilku wierszach, to aktualizacja takiej tabeli może spowodować, że utraci ona (wraz z powiązanymi z nią tabelami) spójność logiczną.