Database design for car part site. (relational database)

database-design

I am working on a directory website for the car's part, in this site the shop owner can register themself and then the user can search for the part based on the year, model submodel and type of the engine of the car after he/she searched. the user chooses the specific part for example Door ..

in this case, the user should see the door only for the car which he/she already searched for (specific car search) .. now for the tables I have created are:

1- shop owner table like:

 user_Id, Name, Info, location

a car's part table which is 6 tables is like this:

 Door table :
 user_Id (reference from shop owner id),side, front/rear, color, price, car 
 model, car submodel, car year.
 Fender table:
 user_Id (reference from shop owner id), side, front/rear, color, price, car 
 model, car submodel, car year.

my question is: a
car model, car submodel, car year attribute for all the tables, is there any way to get rid of this redundancy (repeating attribute)? I must use relational database

Best Answer

you should have a table for the brands, another one for the models related to their respective brand, another one for the submodels related to the submodels and in the last table use compound keys with the keys of the tables and the year and create views for queries.