Bonjour,
Je n'habite pas en France mais, comme dans mon pays, il existe surement une API externe que tu peux consommer afin de mettre les données de ta DB à jour.
Pour ce qui est du stockage des infos utilsateurs. J'aurais mapper une entité "Address" en OneToMany sur l'entité User.. Un utilisateur pourra ainsi avoir plusiseurs adresses.
Dans l'entité Address, j'aurais les propriétés Id, Street, Number, PostalCode, Locality, Region et Department.
Pour les propriétés PostalCode, Department, Region et Locality. Je ferais une relation OneToMany vers tes tables "dictionnary" du même nom, afin de respecter la forme 3NF.
Tes tables dictionnaires, tu pourra toujours les alimenter avec un script qui tournerai toutes les nuits par exemple (un cron).