Você está no caminho certo.
Atente-se para:
Na sua tabela PessoaFisica você adicionou vários atributos que serão utilizados também na tabela PessoaJuridica, certo?
Ambas, herdam de cliente. Estes campos, você utiliza na tabela Cliente.
Nas tabelas PessoaFisica e PessoaJuridica deixe apenas os campos exclusivos daquela tabela.
Padronize os nomes. Ou tudo maísculo ou mínusculo (Vide tabela cliente e PessoaFIsica).
Padroniza as nomenclaturas e reserve-as. Por exemplo na sua tabela Contatos, que fornece uma lista de contatos, você possui um campo ‘nome’ o qual faz distinção ao nome do contato e na sua tabela TipoContatos você também utilizada o campo ‘nome’. Use por exemplo descricao ao invés de nome nesta tabela TipoContatos.
Talvez alguém do fórum perceba algumas coisas a mais pra te ajudar.
Lembre-se de manter padrões.