On Fri, Nov 14, 2008 at 8:49 AM, metastable <[EMAIL PROTECTED] > wrote:
> > This is where it gets nasty. A customer may be a human being or a > company. I see different approaches here: > 1) keep customer tables separate, based on which type of customer it is > 2) create the customer table with a column specifying if we're dealing > with a human being or a company > 3) create the customer table with a FK for people and a FK for > companies, and decide on the customer type in the application based on > the presence of that key > You're making it more complicated than it needs to be. A customer may be either a person or a company. Your customers table may contain columns that are the union of what is required for a person and what is requried for a company, plus of course an enumerated value that indicates which the customer is and indirectly which columns are populated for a given row. Problem solved. Over time, several square millimeters on a disk wasted.