Mysql
 sql >> Database >  >> RDS >> Mysql

Chiavi esterne quando le cascate non sono necessarie

Le risposte a questa domanda potrebbe effettivamente applicarsi anche alla tua domanda.

Se hai colonne nelle tabelle che fanno riferimento a righe in altre tabelle, dovresti sempre usare chiavi esterne, poiché anche se pensi di "non aver bisogno" delle funzionalità offerte da quei controlli, ti aiuterà comunque a garantire l'integrità dei dati nel caso tu dimenticato un assegno nel tuo codice.

L'impatto sulle prestazioni dei controlli di chiave esterna è trascurabile nella maggior parte dei casi (vedi link sopra), poiché i database relazionali utilizzano algoritmi molto ottimizzati per eseguirli (dopotutto, sono una caratteristica chiave poiché sono ciò che definisce effettivamente le relazioni tra le entità).

Un altro grande vantaggio degli FK è che aiuteranno anche gli altri a comprendere il layout del tuo database.

Modifica: Poiché la domanda collegata sopra si riferisce a SQL-Server, eccone una con risposte di un tipo molto simile per MySQL:L'introduzione di chiavi esterne in MySQL riduce le prestazioni