Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: Integralność referencyjna JOIN w SQL Klucz główny w SQL Klucz obcy w SQL Relacja w bazie danych

Relacja w bazach danych jest

A. logicznym połączeniem tabel.
B. połączeniem dwóch pól jednej tabeli.
C. algebraicznym połączeniem tabel.
D. kluczem głównym w relacji tabel.

Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).

W tym pytaniu chodzi o relację rozumianą praktycznie jako logiczne połączenie tabel w bazie danych. Najczęściej taka relacja powstaje przez powiązanie klucza głównego z jednej tabeli z kluczem obcym w drugiej tabeli. Przykład: tabela Klienci ma pole id_klienta jako klucz główny, a tabela Zamowienia ma pole id_klienta jako klucz obcy. Dzięki temu baza „wie”, które zamówienie należy do którego klienta, bez przepisywania danych klienta do każdego zamówienia. To jest bardzo ważne w dobrym projektowaniu baz, bo ogranicza redundancję danych i pomaga utrzymać spójność referencyjną. Moim zdaniem to jedna z tych rzeczy, które warto dobrze zrozumieć, bo później SQL, formularze i raporty stają się dużo bardziej logiczne. W praktyce relacje mogą być typu jeden do jednego, jeden do wielu albo wiele do wielu, przy czym ten ostatni przypadek zwykle realizuje się przez tabelę pośrednią. Dobra praktyka branżowa mówi też, żeby jasno nazywać klucze, ustawiać odpowiednie typy danych po obu stronach relacji i stosować ograniczenia FOREIGN KEY, jeśli system bazodanowy na to pozwala.
Relacja w kontekście projektowania baz danych nie jest po prostu kluczem głównym. Klucz główny to pole albo zestaw pól, które jednoznacznie identyfikują rekord w tabeli, na przykład id_produktu w tabeli Produkty. Jest on bardzo ważny, ale sam w sobie nie opisuje jeszcze powiązania między tabelami. Dopiero gdy inne pole, zwykle klucz obcy, odwołuje się do tego klucza głównego, można mówić o logicznym związku danych. Częsty błąd polega na myleniu narzędzia do budowania relacji z samą relacją. To trochę tak, jakby nazwać śrubę całym mostem, no niby jest potrzebna, ale to nie to samo. Relacji nie należy też utożsamiać z algebraicznym połączeniem tabel. W algebrze relacji i w SQL istnieją operacje takie jak JOIN, które pozwalają zestawić dane z wielu tabel w wyniku zapytania. JOIN korzysta z istniejących powiązań lub warunków łączenia, ale jest operacją wykonywaną podczas zapytania, a nie definicją struktury bazy. Również połączenie dwóch pól jednej tabeli nie jest typowym rozumieniem relacji między tabelami. Owszem, istnieją bardziej zaawansowane przypadki, jak relacja rekurencyjna, na przykład pracownik ma przełożonego z tej samej tabeli Pracownicy, ale nadal chodzi o logiczne odwołanie rekordów, zwykle przez klucz, a nie zwykłe zestawienie dwóch kolumn obok siebie. Z mojego doświadczenia uczniowie często wpadają w te pułapki, gdy uczą się definicji na pamięć, a nie patrzą na realny model danych: klienci, zamówienia, produkty, faktury. Właśnie tam najlepiej widać, że relacja służy do sensownego łączenia informacji rozbitych na tabele.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.