Questo è uno schema molto strano. Ho lavorato con molti dati personali per oltre 20 anni e non l'ho mai visto fare in questo modo.
L'unica ragione per cui posso pensare di fare questo tipo di questo è il supporto per l'accesso SSN parziale. Considera un caso d'uso comune, un utente che verifica la propria identità inserendo gli ultimi quattro del SSN. Per supportare questo caso d'uso, è necessario fornire alla propria applicazione un utente DB con autorizzazioni di accesso a lgls3, ma potrebbe negare esplicitamente l'accesso a lgls1 e lgls2. In questo modo, se le credenziali vengono mai compromesse, l'hacker non è in grado di recuperare il numero completo di sicurezza sociale. D'altra parte, ci sono altri modi migliori per gestire questo caso d'uso (ad esempio prendendo un hash unidirezionale degli ultimi quattro e memorizzandolo in una colonna diversa, quindi usando una vista per applicare la sicurezza a livello di colonna).
Un altro possibile motivo, girato al buio qui .... se lgls1, lgls2 e lgls3 si trovano su partizioni di dati diverse, potrebbero finire in backup diversi, che potrebbero aiutarti a proteggerti se qualcuno dovesse mai irrompere nel tuo archiviazione di backup del sito e ha rubato un paio di nastri. Supponendo che ti sei preso la briga di inviare i tuoi backup a siti diversi.
Oltre a questo, non vedo molti benefici oltre alla sicurezza per oscurità.