why would you need an entity for year? surely thats an attribute of the car itself (presuambly date of manufacture
I'd guess you need soemthing like the following
a table for manufacturers
a table for brands (optional could be combined with Manufacturer, you'd only need these tow if say you wanted to associate all the brands from one manufacturer)
a table for models (eg Escort, Sierra, Explorer, Esplanade etc...)
a table for model build standard (eg GS, GLX, whatever.. so you would have a model and build eg Escort 1.8GLX)
a table for sepcific cars ie VIN XYZ1234567TY equates to a 2.4lSi Audi 4DR
you could include a table for colours with a FK to the manufacturer/brand (so you would record the different makers versions of colours)
you could have a table hanging off the specific cars table identifying all the addons/additional items the vehicle has. depoending on your predilection you could have a similar table hanging off the model table identfying what features the standard build has.
eg
A VW Passat Highline Estate has
AC
Cruise Control
allow wheels
Leather seats etc.....
then the car detail
coudl list other additional features not part of the satndard build
eg
updated CD/Radio type 700
dual zone AC
and so on.
then you come to the price
price is a moment in time, so the price although seemingly an attribute of the car its actually an attribute of its own. the price reflects the price asked,paid whatever in time for that specific model
when you want to do you comparisons you coudl request (say) all prices for for that specific make.
you could expand the db to carry say equivalence you coudl argue that say VW Audi group models using the same chassis could be the equivalent eg Audi A4, VW Golf, Seat??? & Skoda ????
you could expand the idea to include say BMW 5 Series is Equivalent to Mercedes ? series is equivalent to Jaguar???.