Supponiamo di avere una tabella utenti così strutturata
utenti
ID|Nome|Cognome|Abilitato
dove la colonna "Abilitato" contiene un valore 0 o 1 a seconda se l'utente è attivo(1) o è stato bannato(0)
Poi utilizzo una tabella separata per memorizzare tutte le informazioni relative al ban degli utenti
utenti_bannati
ID|Motivazione|Data del ban
Da un punto di vista logico nel momento in cui vado a bannare un utente (utenti.Abilitato passa a 0), questo deve essere necessariamente memorizzato nella tabella utenti_bannati.
Allo stesso modo, quando elimino un utente da utenti_bannati, la colonna utenti.Abilitato deve passare a 1
Sono accorgimenti che devo necessariamente ricordarmi di prendere nel momento in cui creo lo script di query oppure posso creare una "relazione obbligatoria" tra la il campo e la tabella che se non viene rispettata lancia un errore?