57
PODSTAWY BAZ DANYCH
Uczestnictwo encji w związku może być opcjonalne lub obowiązkowe (wymagane). Uczestnictwo encji jest opcjonalne wtedy, gdy istnieje przynajmniej jedna instancja encji, której uczestnictwo w związku nie jest wymagane (nie bierze udziału w związku). Przykładem może być sytuacja przedstawiona na ilustracji związku lekarze-pacjenci, w której do któregoś z lekarzy nie zgłosiłby się żaden pacjent. Wówczas uczestnictwo pacjenta w związku byłoby opcjonalne. Dzieje się tak dlatego, że może istnieć lekarz bez pacjenta, ale nie można być pacjentem, nie mając przydzielonego lekarza. W praktyce, podczas projektowania diagramów encji, na linii obok związku, którego uczestnictwo jest opcjonalne, umieszczamy kółko.
Lekarz |
Związek M:N f ——o/. |
Pacjent |
i Lekarz 1 |
Pacjent 1 | |
1 Lekarz 2 |
/ \ |
Pacjent 2 |
| Lekarz 3 |
Pacjent 3 |
Rys. 10.9. Ilustracja związku wiele do wielu
Ponieważ uczestnictwo lekarza w związku jest obowiązkowe, po stronie encji Lekarz nie umieszcza się kółka.
Relacyjna baza danych zazwyczaj operuje na tabelach połączonych więzami jeden do jednego i jeden do wielu. Może zaistnieć sytuacja, w której mamy dwie powiązane tabele przedstawiające kolejno: kierowców samochodów wyścigowych oraz w drugiej tabeli - samochody wyścigowe. Tabele powiązane są tak, aby umożliwić dopasowanie kierowcy do bolidu. Co stanie się, jeśli nagle bolid H12 SYRENA nie będzie użyty w wyścigu z przyczyn technicznych? Czy w takim wypadku usunięty zostanie również powiązany z nim kierowca? Na takie pytanie możemy odpowiedzieć, analizując więzy propagacji.
Więzy propagacji wskazują, jakie działanie zostanie podjęte podczas modyfikowania wierszy w tabeli powiązanej.
1. Pierwszą z opcji jest ograniczenie możliwości usunięcia rekordu (synonimy: wiersza tabeli, krotki) do czasu występowania powiązanego z nim wiersza drugiej tabeli. W naszym przykładzie: do czasu, gdy do bolidu H12 SYRENA przypisany jest Michał Michalski, nie można go usunąć, można co najwyżej wstawić w trzecią krotkę tabeli SAMOCHODY inny bolid, np. H13 WOŁGA.
SAMOCHODY
ZAWODNICY
Nr |
Imię |
Nazwisko |
1 |
Maciej |
Nowak |
! 2 |
Wojtek |
Kowalski ■*- |
|....... 3 ' |
Michał |
Michalski |
.O
HI3 WOŁGA
Rys. 10.10. Ilustracja więzu propagacji
Nr | ||
I |
C23 |
! | Star |
2 |
D50 |
jelcz |
?_L_ |
HI2 |
| Syrena |