MySQL Forums
Forum List  »  Newbie

Newbie Normalization Question
Posted by: Total Newb
Date: November 29, 2011 11:48AM

Im sorry guys, Ive been reading books and articles for weeks and though I didn't think normalization would be a big deal, when it comes to my own project I am now helplessly wrapped around the axle and Im hoping you can point me in the right direction.

What I have is a project where vendors can submit products to businesses for evaluation. The vendors will fill out a form and answer questions about their product in whatever format each business wants so no two submission forms will ask the same questions, meaning that my columns will be growing for each product depending on the questions every new business wants to ask the vendors. The question is how do I get to 3NF and yet make it easy to expand the columns of information needed for each product. What I have so far is:

table Business
business_id INT PK
business_name VARCHAR
business_address VARCHAR

table Vendors
vendor_id INT PK
Manufacturer VARCHAR
vendor_name VARCHAR
vendor_address VARCHAR

table Products
product_id INT PK
vendor_id FK
business_id FK
Manufactuer VARCHAR
product_name VARCHAR
approved_product TINYINT
pending_product TINYINT
denied_product TINYINT
random_question1 VARCHAR
random_question2 VARCHAR
random_question3 VARCHAR

Do I just continue to add columns as businesses request new questions be added to their forms? Since some questions will apply to some businesses and not others I'm confused on how to break those out to their own tables. Any help bringing this together would help. Thanks!
catalog_number INT



Edited 2 time(s). Last edit at 11/29/2011 04:55PM by Total Newb.

Options: ReplyQuote


Subject
Written By
Posted
Newbie Normalization Question
November 29, 2011 11:48AM
November 29, 2011 04:52PM
November 29, 2011 11:20PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.