Modelagem Relacionamento entre Tabela Cliente e Endereço

Olá Pessoal! estou refatorando meu Banco de Dados, e estou com uma dúvida quanto ao relacionamento abaixo.
Para não ficar muito repetitivo os campos quero retirar os dados do endereço e especificar em uma tabela própria para o mesmo, e minha questão é a seguinte a tabela em si endereço não possui nenhum vinculo com as respectivas tabelas, cliente, fornecedor e vendedor. como fazer com o que o próprio banco exclua o endereço ao excluir um cliente por exemplo? usando uma chave estrangeira tipo DROP CASCADE. e na melhor visão esta correto este relacionamento?
Agradecido.

Por muito tempo achei que a melhor abordagem fosse essa, realmente.
Mas, pensa comigo, você vai reaproveitar os endereços?
Claro que CEP e o logradouro (avenida, alameda, rua, etc) você consegue. Mas, acha isso viável? Eu consideraria deixar tudo numa única coluna. Caso haja mais de um endereço, considero uma tabela à parte, relacionamento endereco N : 1 pessoa (fornecedor, cliente, etc).

Então você esta sugerindo este modelo?
image

Voce pensou na possibilidade de criar uma entidade pessoa?
E atribui todos esses atributos a ela, pelo que percebi são os mesmos nas duas tabelas endereço…