I have a question on how best to accomplish the following design
requirements:
I have the following tables:
tblPeople (identifies a person)
PersonID as PK
all the other usual fields
tblItem (identifies an item owned by a person. One person can own more
than one item, but an item can only be owned by one person. Items are
substantially the same and differentiated only by a serial number)ItemID as pk
ItemManufacturer
etc
tblRepair (identifies a repair action on a given item. Can be multiple
repair calls per item)RepairID as pk
etc
So here is the problem. When a person calls in to request a repair,
the maintenance person accepting the call may not know which of several
item owned by the person needs repair. It is only after a tech has
been dispatched to the site that we will know which item is being
repaired. So, how do I design the database so the person accepting the
telephone call can enter the repair work order information associated
with an item, when he doesn't know which item it belongs to (but
obviously does know which person the item belongs to, thus narrowing
down the universe of possiblities to a few).
My thought is to make tblrepair a child of tblPerson and include a
field for identifying the item number to be completed after hearing
back from the tech. That at least gets a tblRepair record associated
with a person so tracking down repair records will be a little easier.
The other option is to not have any relationships in tblRepair so a
"blind" record can be entered when the call is received, and later
associated with the correct Item.
Thoughts or recommendations?
Thanks