Hello guys:

I have the following Entities:

- Customer
- Provider
- Service

1- Each customer may have multiple providers and each provider may serve to multiple customers
2- Each Provider may supply multiple services and one service may be supplied by multiple providers
3- Each Customer consumes not all the services from its providers (jut some of them)

So have created these tables:

- Customer (customer_id, description) (PK: customer_id)
- Provider (provider_id, description (PK: Provider_id)
- Service (service_id, description) (PK: Service_id)

- Customer_Providers (customer_id, provider_id) (PK: customer_id+provider_id) (FK: customer_id, provider_id)
- Provider_Services (provider_id, service_id) (PK: provider_id+service_id) (FK: service_id, provider_id)
- Customer_Provider_Services(customer_id, provider_id, service_id) (PK: customer_id+provider_id+service_id) (FK: customer_id+provider_id, provider_id+service_id)

Is this the right approach?