I am seeking advice, so that i move forward in the right direction.

I am implementing the Party relationship Model in MySQL.

Parties can be people or organisations and can have many contacts and many addresses.

There are different types of Parties: Customers, Suppliers, Agents, Users etc…

What is the most efficient way to represent this in a database. Im using MySQL and Postgres.

I have attached an example the entity relationship to illustrate my choices.