Perché importa la case‑insensitivity
In un database, una ricerca “A” e “a” possono significare lo stesso valore o due entità distinte. Se non si gestisce correttamente la sensibilità al maiuscolo/minuscolo, i risultati di query, le chiavi uniche e persino le autorizzazioni possono fallire.
Come impostarla nei principali DBMS
- MySQL: COLLATE utf8_general_ci
- PostgreSQL: citext o lower()
- SQL Server: CI collation
Questi comandi trasformano le stringhe in una forma uniforme prima di confrontarle.
Effetti pratici sulla sicurezza
Se un utente inserisce “Admin” invece di “admin”, la query potrebbe bypassare i controlli di accesso. La case‑insensitivity riduce questo rischio, garantendo che le regole siano applicate in modo consistente.
Performance e tuning
L’utilizzo di collation ci è più veloce rispetto a funzioni come LOWER(), ma richiede un’analisi preliminare del dataset. In genere, una buona scelta è impostare la collation a livello di tabella.