27 kwietnia 2021

Bazy danych a relacje między tabelami

Podczas kursu przygotowującego do matury z informatyki, jednym z najbardziej problematycznych typów zadań związanych z bazami danych są zadania, które wymagają od nas zmiany relacji między tabelami. Często wynika to z braku zrozumienia zamysłu relacji, przez co ich zmiana nie ma dla kursantów żadnego sensu. Niestety na maturze z informatyki, zadania wymagające zmiany relacji są rokrocznie coraz bardziej popularne. Dlatego właśnie postaram się tutaj wyjaśnić czym są relacje i na jakiej zasadzie działają. Omówię również najważniejsze pojęcia z zakresu baz danych, które warto zapamiętać na maturę.

relacja wiele do wielu
Zagadnieniem na maturze z informatyki, które sprawia sporo problemów, są relacje między tabelami.

Czym jest relacja?

Relacja jest to połączenie, które tworzymy między dwoma tabelami. Polega ono na logicznym złączeniu dwóch pól z dwóch różnych tabel. Najłatwiej to zrozumieć jako: „mówimy programowi”, że dla danej relacji między polem A i polem B w różnych tabelach, zawartość pola A oznacza logicznie to samo, co zawartość pola B. Od tej pory, kiedy program znajdzie w tych dwóch tablicach dwie takie same wartości, będzie wiedział, że oznaczają one to samo. Bez relacji program widzi te dane jako zwykłe liczby albo słowa, ale dzięki relacjom jesteśmy w stanie nadać im kontekst.

relacja jeden do wielu
Relacje są bardzo ważne - bez nich program widziałby dane jako zwykłe słowa, bądź liczby.

Typy relacji

Relacja „jeden do jednego” (one to one)

Jest to relacja, w której każdemu rekordowi z tabeli A może odpowiadać tylko jeden rekord z tabeli B.
Występuje ona, kiedy pola, między którymi powstaje relacja, są kluczami podstawowymi w swoich tabelach.
Przykładem takiej relacji może być połączenie między tabelą „Osoby” a „Pracownicy”, gdzie Pracownik jest „wyjątkową osobą”, której dodatkowe informacje są przechowywane w osobnej tabeli, ale korzystają z tego samego identyfikatora.

relacje w bazach danych
W relacji jeden do jednego, każdemu rekordowi z tabeli A odpowiada tylko jeden rekord z tabeli B.

Relacja „jeden do wielu” (one to many)

Jest to zdecydowanie najczęściej występująca relacja. Jak nazwa wskazuje oznacza ona, że jeden rekord z tabeli A może występować wiele razy w tabeli B. Taki rodzaj relacji występuje bardzo często przy różnego rodzaju kategoriach i specjalizacjach.
Poniższy przykład pokazuje relację między tabelą „Specjalizacje” a „Pracownicy”. Możemy z niej wywnioskować, że dla każdej jednej specjalizacji w tabeli „Specjalizacje” może występować wiele powtórzeń w tabeli „Pracownicy".

typy relacji
W relacji jeden do wielu, jeden rekord z tabeli A może występować wiele razy w tabeli B.

Relacja „wiele do wielu” (many to many)

Relacja ta pozwala nam na połączenie dwóch tabel w taki sposób, że rekordy z obu tabel mogą się wielokrotnie powtarzać. Konstrukcja tej relacji jest wyjątkowa, dlatego że nie jest bezpośrednia. Tworzymy dodatkową tabelę, która będzie służyła jako „łącznik” między dwoma tabelami.
W poniższym przykładzie używając relacji many-to-many jesteśmy w stanie stworzyć działający system zamówień w sklepie internetowym. Pozwala ona każdemu klientowi zamówić wiele przedmiotów tego samego rodzaju, jak i zamawiać wiele razy ten sam przedmiot - co byłoby niemożliwe w relacji one-to-many.

typy relacji bazy danych
Relacja wiele do wielu pozwala na wielokrotne powtarzanie się rekordów z tabel.
Najnowsze wpisy

Jak pomóc dziecku w nauce programowania? Poradnik dla rodziców

Przeczytaj >>

Dlaczego warto uczyć dzieci programowania? – jakie umiejętności rozwija programowanie?

Przeczytaj >>

Python a C++

Przeczytaj >>

Algorytm Euklidesa w języku Python

Przeczytaj >>

10 podstawowych funkcji Excela, które trzeba znać

Przeczytaj >>

JESTEŚ AMBITNY?

Dołącz do nas jeszcze dziś i rozwijaj się w swojej ulubionej dziedzinie we współpracy z nauczycielami, którzy są autorami artykułów na naszym blogu!
POZNAJ OFERTĘ KUSÓW
© Ambitni Szkoła Informatyki 011111100101(2) | jesteś niemal gotowy!
crossmenu