I have a database thats full of ingredients that are placed in various
categories. and then there are mixtures that are allowed to
be labelled with a certain grade based on the quality and
composition of the ingredients it is comprised from.
But the formulas are not always the same, as long as the profile matches
For example, in order to be label grade Premium,
it must have between 70% and 95% ingredients from group A
between 0 and 15 % from group B
between 5 and 15% from group C
between 0 and 15% from group D
What you actually put in the mix is determined by price
and availability and other factors.
So I implement these profiles with a mySQL table
grade_id points to main grade record
category_id points to category
and the individual ingrediants
category_id among others...
The question is
Is there some way mysql can assure the integrity of these profiles, so
that there is no way to use a set of records for a grade that can't add
upto 100%. Or is this pretty much application logic?