Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

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ść bazy MySQL Klucz obcy wielokolumnowy w SQL

Aby podczas tworzenia tabeli zdefiniować klucz obcy na wielu kolumnach, należy użyć zapisu:

Źle. Brak nazwy ograniczenia i kolumn po FOREIGN KEY - składnia niepoprawna.
Źle. Przestawione słowa kluczowe - powinno być FOREIGN KEY ... REFERENCES.
Dobrze. Poprawny zapis: nazwa, FOREIGN KEY(kolumny) i REFERENCES tabela(kolumny).
Źle. Po FOREIGN KEY nie stawia się ON - kolumny podaje się od razu w nawiasie.
Złożony (wielokolumnowy) klucz obcy definiuje się wzorem CONSTRAINT nazwa FOREIGN KEY(kol1, kol2) REFERENCES tabela(kol1, kol2). Po FOREIGN KEY w nawiasie wymienia się kolumny tabeli bieżącej, a po REFERENCES - tabelę nadrzędną i odpowiadające jej kolumny. Dlatego poprawny jest zapis z nazwą ograniczenia, FOREIGN KEY(...) i REFERENCES tabela(...).
Pozostałe zapisy łamią składnię definicji klucza obcego. W dwóch brakuje listy kolumn zaraz po FOREIGN KEY albo przestawiono słowa kluczowe (FOREIGN REFERENCES KEY zamiast FOREIGN KEY ... REFERENCES) - serwer odrzuci je jako błąd. W jeszcze innym po FOREIGN KEY dopisano zbędne ON, którego w tej konstrukcji nie ma. Prawidłowy wielokolumnowy klucz obcy to CONSTRAINT nazwa FOREIGN KEY(kolumny) REFERENCES tabela(kolumny), dlatego to ten zapis jest poprawny.

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. Wyślemy 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.