Boa noite a todos,
Eu sempre programei de forma estrutural e agora quero adotar o modelo de orientação a objetos, entretanto tenho algumas dúvidas.
Ex.:
Vamos supor que eu quero desenvolver um sistema em que eu necessite ter um cadastro de clientes por exemplo.
Na minha forma de pensar orientado a objetos (não sei se é certo) eu criaria as minhas tabelas no BD assim:

A minha dúvida é a seguinte: quando eu tiver que desenvolver algum relatório/consulta mais complexa eu usando a forma acima não terei muito trabalho com os meus SQL’s? Porque só para buscar os dados dos clientes, neste caso, teria que usar pelo menos 2 joins, um na tabela endereco outra na tabela pessoa.
A minha preocupação é com relação a complexidade futura.
Obrigado.