Olá, Renan, tudo bem?
Sua dúvida toca em um ponto fundamental da modelagem de dados: o equilíbrio entre a teoria e a aplicabilidade prática no design de sistemas.
Do ponto de vista técnico, o seu raciocínio está correto, pois uma tabela separada para endereços oferece uma flexibilidade muito maior, como em cenários onde um cliente pode possuir múltiplos endereços (como entrega e cobrança) ou quando o sistema exige um histórico completo de mudanças de localização. Mas, é importante observar que a estrutura apresentada na aula, ao separar o endereço em campos específicos como rua e bairro, já atende aos requisitos da Terceira Forma Normal (3FN). Isso acontece porque, nesse modelo, cada atributo do endereço depende diretamente da chave primária do cliente, não havendo uma dependência transitiva entre campos não-chave que justificasse obrigatoriamente a separação sob a ótica da 3FN.
A escolha de manter esses atributos na tabela de clientes, visa simplificar a manutenção e a manipulação dos dados, principalmente quando trabalhamos com volumes que não exigem uma complexidade estrutural tão elevada, como uma planilha de 10 mil linhas. Optar por manter apenas os IDs de relacionamento simplifica a estrutura para o usuário final e reduz o espaço necessário, mas exige um conhecimento maior sobre como essas tabelas se integrarão a outras ferramentas de BI ou bancos de dados profissionais no futuro.
Portanto, sim, a sua sugestão de criação de uma tabela à parte é uma prática de excelência em arquiteturas de grande escala, mas a abordagem da aula também é uma solução eficiente e normalizada para o escopo do projeto proposto.
Sua visão crítica é muito válida e demonstra que você já está pensando como um arquiteto de dados! ✨
Espero ter esclarecido.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Para saber mais:
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!