Hola Arturo!!
Te paso una imagen de como trabajo las tablas es parecido a la de Miguel Ángel, con la diferencia que uso un catalogo para diferenciar cada entidad, es decir si es Cliente, Proveedor, Transportista, etc,
El catalogo llamado TIPOS_PERSONAS que esta en Rojo, es el que me permite sacar los listados de Clientes, proveedores etc., igual una misma persona puede ser proveedor, transporte, etc, puede tener varios domicilios, varios contactos, varias cuentas bancarias, etc, etc.
ejemplo con datos:
Contribuyentes
id Contribuyente clave
1 Persona Física F
2 Persona Moral M
Personas
id idContribuyente Nombre Apellido_paterno Apellido_Materno
1 1 Antonio Meza
2 2 Cliente Patito sa de cv
3 2 Transportes sa de cv
Tipos_Personas
id Tipo_Persona Clave
1 Cliente CLT
2 Proveedor PRV
3 Transportista TRN
4 Trabajador TRB
Personas_Tipos
id idPersona idTipoPersona
25 1 4
37 2 1
89 3 3
90 2 2
Clientes
id idPersona_Tipo Clave
50 37 000011
Facturas
id idCliente Factura
1 50 000001
Trabajadores
id idPersona_Tipo Clave
100 25 000-1111-4104-11010
Nominas
id idTrabahador Fecha
88 100 09/02/2016
Como puedes ver en la tabla PERSONAS el ID = 2 corresponde a un cliente que a su vez también es proveedor, ya que así fue registrado en la tabla PERSONAS_TIPOS identificado por el campo IdPersona.
Saludos
Antonio Meza