Na sua tabela moradores poderia ter uma coluna chamada subordinante.
Escolhi esta palavra porque subordinante seria aquele que possui subordinados, mas o ideal é encontrar uma palavra melhor pra descrever o relacionamento em o titular e seus dependentes.
O fato é que se o valor da coluna subordinante for null, quer dizer que ele não é subordinado (ou dependente) de ninguem, logo ele é o titular (o responsavel por aquela unidade).
Se uma pessoa é dependente de alguem, nesta coluna deverá estar o id do titular da unidade.
Dessa forma vc poderia pegar todos os moradores de uma certa unidade ou pegar apenas o titular acrescentando um “where moradores.subordinantes = null” ou algo equivalente.
Outra ideia é acrescentar a coluna tipo à tabela moradores. O tipo poderia ser “titular” ou “dependente”.
Aí teria uma outra tabela chamada titular_depedente que faria a relação entre titulares e seus dependentes.
Esta ideia permitiria que uma unidade tivesse mais de um titular, mas ficaria mais chato pra gerenciar os dependentes, já que poderia ter uma situação em que o marido e a mulher são titulares, mas os filhos só estão relacionados como dependentes do marido.