Hello all. I am in the process of piecing together a software project that I plan to use in the day-to-day operation of my service business.

I'm sure this will be a simple question for someone here.

I will be tracking employees, service tickets, clients, & client IT Assets. I will also be keeping records of all problems/solutions to facilitate solving any future, similar issues.

My question is this,.... some clients are residential, some clients are businesses, and they are billed differently.

Some business clients have multiple contacts (or people) that I want to keep track of as well, especially in cases where we have multiple assets within a single business but each with different contacts.

Should I create a clients table that just holds a client ID, and a boolean value of weather they are a business or not, and then create separate tables for residential contacts, businesses and business contacts,.....

should I create a contacts table and a businesses table and just tie some contacts to a clientID and some to a businessID?

Any help/suggestions would be appreciated.

Edited by TannerT: n/a

6 Years
Discussion Span
Last Post by Ezzaral

I would imagine a Client and ClientContact table arrangement would work just fine.

The difference between the residential or business clients can be address by a ClientTypeId or BillingCode identifier or similar mechanism, depending on what other info may need to be associated with that disctinction.


This is a bit lazy - go and have a go at what you think it should be.

How are these different types of customer billed differently? What data is different?

No, I would not use a boolean to indicate business / not business, unless that is the only data you need to store for these different types, which I very much doubt is the case.

I would say that your basic relationships would stem from a customer, that is dine, but you would probably have the business / personal customer specific information as relationship(s) to other tables as appropriate there. If the two types differ in billing by a rate, then I would expect that there may be a relationship from customer to rate, and that rate table holds information as to whether the customer is getting business or personal rate (as an example)

Without how things differ it is difficult to advise on any sort of design.


> Without how things differ it is difficult to advise on any sort of design.

Exactly. So it's odd that you declare anything "lazy". There aren't enough specifics to answer in detail and the OP never bothered to discuss it any further beyond the initial post.

Edited by Ezzaral: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.