Olá, Alexander! Tudo bem?
Excelente percepção!
Em um cenário real e rigoroso de modelagem de dados, o endereço composto (Rua, Bairro, Cidade, Estado, CEP) guardado em um único campo violaria a Primeira Forma Normal (1FN), que exige que os atributos sejam atômicos (indivisíveis).
Ao separar o endereço em campos distintos, você garante a 1FN. E se fôssemos ainda mais a fundo na normalização, a sua ideia de criar uma TabelaEnderecoCliente (ou vincular Cidade/Estado pelo CEP) é ótima para evitar redundâncias, o que nos aproxima da Segunda (2FN) e Terceira Forma Normal (3FN), eliminando as dependências transitivas.
A sua estrutura final mapeou muito bem as entidades principais do problema:
Você vai longe em arquitetura de bancos de dados. Parabéns pelo questionamento e pela qualidade da modelagem!
Conteúdo para complementar seus estudos
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!