Hi,
I am designing a few new database tables. I seem to just having a mental blank as I can't figure out if part of the design is normalised or not. I just can't get my head around figuring it out. The design is as follows (a little simplified for examples sake)
Already existing in the system is a Customer table:
Customers (
CustomerId:CustomerNumber:Name:etc....)
and a customer can have multiple contacts, although a contact can only belong to one customer:
CustomerContacts(
CustomerId:
ContactId:Name:etc....)
The new table is for PricingQuotes which will be for a customer. It can also be for a particular contact for the customer, or can have no contact specified.
I have the following table...
PricingQuotes(
QuoteId:CustomerId:ContactId:CreateDate

tatusCode:etc... .)
Where CustomerId is a foreign key to the customer table and CustomerId:ContactId is a foreign key to the CustomerContacts table. Finally ContactId can be NULL if no contact has been specified. Is this in 3NF? I think it's because the CustomerId and ContactID are a composite key which is the foreign key to the CustomerContacts table that is throwing me. I have some nagging suspicion that ContactId is somehow transiently dependent on CustomerId but for the life of me I can see how else it could be setup. Maybe the design is right and I'm just having a bit of a mental lapse so it would be great if someone could deny or confirm mu suspicions.
Cheers,
Steve