Integralność relacyjnych baz danych. Rodzaje związków (relacji) pomiędzy relacjami (tabelami) relacyjnych baz danych

Integralność (spójność) relacyjnych baz danych

1. Integralność semantyczna - jeżeli wartości danych spełniają wcześniej zdefiniowane i nałożone ograniczenia (dopuszczalny typ, zakres długości, format), wówczas mówimy, że zachowana jest integralność semantyczna relacyjnej bazy danych.

W ujęciu formalnym integralność semantyczna jest zachowana, jeżeli dane należą do zdefiniowanej wcześniej dziedziny.

2. Integralność encji jest zachowana, jeśli każda tabela posiada klucz główny, a jego wartości w ramach tabeli są unikatowe i różne od wartości NULL (to zapewni nam, że krotki w tabeli nie będą się powtarzać). Integralność encji jest charakterystyczna dla modelu relacyjnego baz danych.

3. Integralność referencyjna jest zachowana, jeśli każda wartość klucza obcego jest równa jakiejś wartości klucza głównego w powiązanej tabeli nad rzędnej lub ewentualnie jest równa NULL (patrz: sposoby usuwania danych z tabel).

4. Węzły ogólne - dodatkowe warunki poprawności danych określane przez użytkowników lub administratorów albo projektantów baz danych.

Integralność referencyjna relacyjnych baz danych pociąga za sobą konieczność określenia reguły postępowania w przypadku usuwania rekordu (wiersza/krotki) z tabeli powiązanej, co mogłoby unieważnić niektóre wartości kluczy obcych w tabelach z nią powiązanych:

  1. ograniczone usuwanie (restricted) - podejście ostrożne - nie dopuszcza do usuwania rekordu nadrzędnego, jeśli istnieją rekordy podrzędne (przykład: przy tym sposobie usuwania danych nie uda się usunąć danych z tabeli tbl_klient i tbl_klient_dane danych klienta, który przynajmniej raz wypożyczył auto).
  2. kaskadowe usuwanie (cascade) - podejście ufne - przy usuwaniu rekordu nadrzędnego usuwa także rekordy podrzędne (przykład: jeśli usuniemy z tabeli nadrzędnej dane klienta, to z tabel podrzędnych (tbl_wypozyczenia, tbl_zwroty, tbl_rozliczenia, tbl_faktury) zostaną usunięte wszystkie powiązane rekordy).
  3. izolowane usuwanie (isolated) - podejście wyważone - usuwa się jedynie rekord nadrzędny, nieważne wartości kluczy obcych ulegają zastąpieniu przez NULL (przykład: jeśli z tabeli nadrzędnej usuniemy dane klienta, to w powiązanych z nią tabelach podrzędnych wartość klucza obcego zostanie ustalona na NULL).

Rodzaje związków (relacji) pomiędzy relacjami (tabelami)

  • 1-1: każdemu rekordowi (krotce) z tabeli nadrzędnej odpowiada dokładnie jeden rekord (jedna krotka) w powiązanej z nią tabeli podrzędnej i odwrotnie
  • 1-∞ (jeden-do-wielu): każdemu rekordowi (krotce) z tabeli nadrzędnej może odpowiadać wiele rekordów (krotek) w powiązanej z nią tabeli podrzędnej, ale każdemu rekordowi (krotce) z tabeli podrzędnej musi odpowiadać dokładnie jeden rekord w powiązanej z nią tabelą nadrzędną (przykład: drzewo ma wiele liści, ale liść przynależy do tylko jednej gałęzi; rodzice mogą mieć wiele dzieci, ale każde dziecko ma tylko jednych rodziców).
  • ∞-∞ (wiele-do-wielu): każdemu rekordowi (krotce) z tabeli nadrzędnej może odpowiadać wiele rekordów w powiązanej z nią tabeli podrzędnej i odwrotnie (przykład: na każdym przystanku może zatrzymywać się wiele autobusów, a autobus może zatrzymywać się na wielu przystankach; nauczyciel ma wielu uczniów, a uczeń ma wielu nauczycieli)
    UWAGA: w systemie zarządzania relacyjną bazą danych nie można stworzyć bezpośrednio relacji (związku) ∞-∞ pomiędzy tabelami. W takim przypadku należy zastosować dodatkową tabelę sprzęgającą.

Podstawy matematyczne algebry relacji

(1)

(2)

 

Dowolny podzbiór tych uporządkowanych trójek jest relacją.

 

Zbiór A - nazwiska, zbiór B - imiona, zbiór C - płeć:

 

Każdy operator bierze jeden lub więcej relacji jako argument i produkuje jako wynik jedną relację.

  1. selekcja - polega na wybraniu z relacji (tabeli) krotek (rekordów) spełniających określone warunki, np. wybraniu z tabeli tbl_uczniowie bazy danych szkoła rekordów dotyczących uczniów klasy 3Tib w roku szkolnym 2014/15
  2. projekcja (rzut) - polega na wybraniu z relacji (tabeli) zawartości określonych atrybutów (kolumn), np. z bazy danych szkoła z tabeli tbl_uczniowie zawartość kolumn Imię, Nazwisko, PESEL, Nr_telefonu.
    UWAGA: w praktyce najczęściej wykorzystuje się projekcję połączoną z selekcją, np. wybieramy z tabeli tbl_uczniowie zawartość kolumn Imię, Nazwisko, Nr_telefonu dotyczących uczniów klasy 3Tib.
  3. złączenie - w wyniku tej operacji powstaje relacja (tabela) składająca się ze wszystkich możliwych krotek znajdujących się w obu złączonych relacjach mających tę samą wartość wspólnego atrybutu tych dwóch relacji (wartość klucza obcego jest równa wartości klucza głównego z drugiej relacji). Są różne rodzaje złączeń: wewnętrzne, zewnętrzne, lewe, prawe... (patrz: późniejsze lekcje)
  4. iloczyn kartezjański (w praktyce bardzo rzadko wykorzystywany) - w wyniku działania tego operatora powstaje relacja zawierająca wszystkie możliwe kombinacje krotek z obu tabel.
  5. suma - służy do połączenia relacji o takich samych atrybutach. W wyniku tej operacji powstanie relacja składająca się ze wszystkich krotek, które występują w obu wskazanych relacjach.
  6. różnica - służy do operacji na relacjach zawierających takie same atrybuty. Ważna jest tu kolejność relacji. W wyniku tej operacji powstanie relacja składająca się ze wszystkich krotek występujących w pierwszej relacji, a niewystępujących w drugiej relacji.
  7. przecięcie - służy do połączenia relacji o takiej samej strukturze. W wyniku przecięcia otrzymamy relację, która będzie zawierać rekordy, w których atrybuty należą do obu relacji.

Wady relacyjnych baz danych

  1. W procesie modelowania tracimy informację o tym, że w świecie rzeczywistym istnieją dwa niezależne obiekty.
    Jest to konsekwencja jednej z głównych zasad relacyjnego modelu baz danych, która mówi, że w relacji nie mogą wystąpić dwie takie same krotki. A zatem przy ustalonym zestawie atrybutów nie jest możliwe wpisanie dwóch rekordów o tej samej wartości. Rozwiązaniem tego problemu jest konieczność zwiększenia liczby atrybutów.
  2. sztuczny język opisu rzeczywistości - są nim dwuwymiarowe tabele
  3. trudności w przechowywaniu informacji zmiennych w czasie
  4. trudności w przechowywaniu informacji niepełnej
  5. problemy z przechowywaniem dużych obiektów

2 myśli nt. „Integralność relacyjnych baz danych. Rodzaje związków (relacji) pomiędzy relacjami (tabelami) relacyjnych baz danych

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.