View Full Version : Yes/No Answer Needed -- Dealing with Two Contract Types


BrentG
07-17-2006, 08:12 AM
Hi Guys,

For the company I'm working with, I'm required to allow for two contract types. One for a single on-going service, and one for installation (many one-time services).

Right now I've got the single on-going service listed in a products table with a "ContractType" lookup field (Ongoing/OneTime) as a descriptor. For each LineItems set to default to the one Ongoing Service (MaintenanceContract), where I simply record the price.

I was wondering if I should restructure into two seperate types of contracts. One for the one OnGoing (one-to-one with Orders) service, and another for OneTime services (Many-to-one with orders).

The real change here would be that the OnGoing contracts would not require LineItems as it is only one contract per order and it is always THAT order, where as the OneTime contracts would...

Does this pose a data integrity issue to do it this way? I think it might.

Please let me know.

THanks a mill guys.

Banana
07-17-2006, 08:22 AM
I'm not sure why you think it's necessary to have two separate tables.

Contracts are contracts. If the difference between One time contract and ongoing contracts is one field, I say live with it.

Besides the present configuration gives you the flexibility to convert a OneTime to Ongoing if needs arises; the proposed system would make it problematic to do so.

One-one relationship only makes sense if you have a group of data that only apply in certain situation and would mostly be empty if left in the main table. This isn't the scenario you have.

BrentG
07-17-2006, 09:24 AM
Thanks Banana,

I was wondering the same thing myself... just thought that i might be easier, and reflect more as to how the business functions. Not worth the chaos it would create.

Cheers.

BrentG
07-17-2006, 09:36 AM
Thanks Banana,

I was wondering the same thing myself... just thought that i might be easier, and reflect more as to how the business functions. Not worth the chaos it would create.

Cheers.