Se dichiaro la tabella seguente implica implicitamente che entrambe le chiavi esterne facciano una chiave primaria univoca o devo fare qualcosa in più per rendere entrambi gli attributi come una chiave primaria?SQL Chiavi esterne multiple come chiavi primarie
CREATE TABLE Report_has_Items
(
ReportID int REFERENCES Report(ReportID) NOT NULL,
ItemID int REFERENCES Item(ItemID) NOT NULL
)
Essenzialmente entrambi gli attributi che sono chiavi esterne da altre tabelle, insieme formerebbero una chiave univoca.
Qual è il vantaggio della denominazione di un vincolo? – Kairan
@Kairan - Un vantaggio principale è che se una query (inserire, aggiornare, eliminare) viola un vincolo, verrà generato un messaggio di errore con il nome del vincolo. Se il nome del vincolo è chiaro e descrittivo, il messaggio di errore sarà più facile da capire; se il nome del vincolo è casuale, sarebbe meno chiaro. – Gayu
Il motivo principale per me è la coerenza tra gli ambienti. Sono un DBA di supporto. Parte di quel lavoro è la migrazione delle modifiche da DEV a QA a PROD. Io uso uno strumento di confronto dello schema per questo. È bello se i vincoli vengono denominati allo stesso modo in modo che le differenze nella denominazione non vengano contrassegnate come differenze. –