W bazie danych samochodów pole kolor z tabeli samochody przyjmuje wartości kolorów jedynie ze słownika lakier. Aby połączyć tabele samochody i lakier relacją należy, zastosować kwerendę
Odpowiedzi
Informacja zwrotna
Aby połączyć tabele 'samochody' i 'lakier' za pomocą klucza obcego, należy zastosować kwerendę ALTER TABLE samochody ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);. W tym przypadku 'kolor' w tabeli 'samochody' odnosi się do identyfikatora 'lakierId' w tabeli 'lakier', co zapewnia integralność referencyjną między tymi dwoma tabelami. Klucz obcy jest mechanizmem, który pozwala na zapewnienie, że wartości w kolumnie 'kolor' w tabeli 'samochody' muszą odpowiadać wartościom w kolumnie 'lakierId' w tabeli 'lakier', co zapobiega wprowadzeniu danych, które nie mają odpowiednika w tabeli 'lakier'. Przykładowo, jeżeli próbujemy dodać samochód w kolorze, który nie istnieje w tabeli 'lakier', system nie pozwoli na to działanie. Taka struktura bazy danych jest zgodna z zasadami normalizacji, która ma na celu eliminację redundancji danych oraz zwiększenie ich spójności. Stosowanie kluczy obcych jest standardem w projektowaniu relacyjnych baz danych, ponieważ ułatwia zarządzanie danymi oraz ich integralność.
Pierwsza z niepoprawnych odpowiedzi próbuje dodać klucz obcy do kolumny 'kolor', ale brakuje w niej określenia, którego atrybutu z tabeli 'lakier' używamy. Wartości 'kolor' muszą odnosić się do konkretnego identyfikatora z tabeli 'lakier', a tym identyfikatorem jest 'lakierId'. Bez tego precyzyjnego odniesienia, kwerenda nie będzie mogła zostać wykonana. Druga odpowiedź, mimo że poprawnie odnosi się do właściwego pola, używa błędnej składni. W kontekście SQL klucz obcy musi być zdefiniowany poprzez wskazanie kolumny, do której odnosi się klucz główny w innej tabeli, co w przypadku tej odpowiedzi jest pominięte przy użyciu zewnętrznej referencji do kolumny 'lakierId'. Trzecia odpowiedź jest błędna, ponieważ odnosi się do kolumny 'barwa', która nie istnieje w tabeli 'samochody', co sprawia, że kwerenda jest niepoprawna. Ostatecznie, czwarta odpowiedź, która próbuje użyć kolumny 'barwa' i odnosić się do kolumny 'kolor', jest niepoprawna, ponieważ również nie wskazuje na prawidłową kolumnę w tabeli 'lakier'. W związku z tym, wszystkie te odpowiedzi nie spełniają wymagań do prawidłowego zdefiniowania klucza obcego w bazie danych.