Ok, on our company website we've recently asked the developers to add a more effective search engine to cover our range of keys. The site is written in PHP and uses MySQL to store the data
Each key has several different attributes that a customer might want to use to search on, split into two different searchs, such as what type it is, what it's made from, overall size and so on. The solution we've been given for this looks to be ok, as it stores a table with catagories and then in another table there's a list of what each catagory can contain.
So far so good I thought?
The second part of the search is the one I think is generating the problem. For car keys, we need to store the Make, Model and Year range that each particular key works and each key can have more than one vehicle or year range it works on (personally I wanted a start date and an end date but aparently that's too hard for them)
Now, the way they've stored this information is three tables, one storing Make, one storing model (which references the Make) and one storing the Year (which references the Make table) and then the search looks up entries in the Year table. Now to me, this seems completely arse about face, but I can't seem to get the website developers to understand this. More importantly, the search page simply fails to work if you don't have at least one complete entry in the Vehicle listing (e.g. a Make with a Model Underneath it and a Year underneath the model).
What I'm looking for is some basic advice on how you'd solve this problem, because I really don't have any faith in the design company to solve this and I'd like to offer a more proactive solution than simply going "It's broke, I've checked and double checked the data going in and that's ok"