Claro que a pessoa que está entrando o dado pode errar a cidade e marcar, por exemplo, Campinas para uma pessoa que é de São Paulo. Este tipo de erro o sistema de banco de dados relacional não consegue perceber. Mas fica impossível uma pessoa escrever o nome da cidade de São Paulo de formas diferentes, por exemplo, porque normalmente o acesso à tabela de cidades é dado apenas para funcionários capacitados, como já citado.