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 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.
Jest to relacja, w której każdemu rekordowi z tabeli A może odpowiadać tylko jeden rekord z tabeli B.
Występuje ona najczęściej, 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.
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".
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.