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


Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/platne/serwer318421/public_html/zeszyt.jedlikowski.com/wp-content/plugins/latex/latex.php on line 49

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 e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

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