I have a table that stores information on Vendors called dbo.Vendor
. Its has fields like this:
1. VendorID
2. VendorName
3. VendorType
4. AddressLine1
5. EMail
6. Telephone
7. and so on....
This information is common to all vendors. But depending on the type of vendor (VendorType
field) I need to collect more specific information. For example a vendor that is a charity will have a Charity Number but a vendor that are Lawyers will have some kind of legal registration number instead. If a vendor is a cinema then I may need to know seating capacity which won't apply to other vendors of course.
Do I really have to create a unique table for each of these different vendors e.g. dbo.VendorLaw
, dbo.VendorCinema
. Or can I create all possible fields in the main dbo.Vendor
table and leave NULL
values where the field does not apply to that vendor? This is breaking normalization rules of course.