Jeśli zadeklaruję poniższą tabelę, domyślnie oznacza to, że oba klucze obce tworzą unikalny klucz podstawowy lub czy muszę zrobić coś więcej, aby oba atrybuty były kluczem podstawowym?Wielokrotne klucze obce SQL jako klucze główne
CREATE TABLE Report_has_Items
(
ReportID int REFERENCES Report(ReportID) NOT NULL,
ItemID int REFERENCES Item(ItemID) NOT NULL
)
Zasadniczo oba atrybuty, które są obcymi kluczami z innych tabel, tworzą razem unikatowy klucz.
Jakie są zalety nazywania ograniczenia? – Kairan
@Kairan - Jedną z głównych korzyści jest to, że jeśli zapytanie (wstawianie, aktualizacja, usuwanie) narusza ograniczenie, zostanie wygenerowany komunikat o błędzie z nazwą ograniczenia. Jeśli nazwa ograniczenia jest jasna i opisowa, komunikat o błędzie będzie łatwiejszy do zrozumienia; jeśli nazwa ograniczenia jest losowa, byłaby mniej jasna. – Gayu
Głównym powodem dla mnie jest spójność w różnych środowiskach. Jestem wsparciem DBA. Częścią tego zadania jest migracja zmian z DEV na QA na PROD. Używam do tego narzędzia do porównywania schematów. Dobrze, jeśli ograniczenia są nazywane tymi samymi, więc różnice w nazewnictwie nie są oznaczone jako różnice. –