I don’t want to repeat what everyone else said, but I want to add that in your particular case of using the client and the provider, one thing that needs to be tracked depending on your domain is that the Client can be a supplier.
Suppose we are dealing with the sale of automotive parts. The dealership is a customer because it buys spare parts from other dealers (for example, if the parts do not take up space). Thus, the dealership can be both a client and a supplier.
I usually like to model relationships with suppliers, by defining a business or company, this determines who we are dealing with. Name, address, etc. Then I would define the Client who is the client, and the client is the client of the business, so you will have who the client is and who the client belongs to. Then you can decorate your client with additional relationship information.
You can do the same with the supplier. You can also abstract this out and have one relationship table, but it gets confusing and you lose some of the meaning without much benefit.
source share