Если вы храните веса (недискретное значение), я настоятельно рекомендую использовать числовые или десятичные для этих данных.У вас есть правильная идея с колонкой typeofweight
.Храните справочную таблицу где-нибудь, показывающую, какой коэффициент конвертации для каждого (к определенному стандарту).
Это довольно сложно, если вы хотите отобразить унции как TSP, потому что конверсия зависит от самого ингредиента, так что вынужна третья таблица - ингредиент: идентификатор, имя, отношение объема к весу.
Пример таблицы типов веса, где единица standard
- это граммы
type | conversion
gram | 1
ounce | 28.35
kg | 1000
tsp | 5 // assuming that 1 tsp = 5 grams of water
pound | 453.59
Пример объема ингредиента к весупреобразование
type | vol-to-weight
water | 1
sugar | 1.4 // i.e. 1 tsp holds 5g of water, but 7g of sugar
Таким образом, чтобы отобразить 500 унций сахара в tsp
, вы должны использовать формулу
units x ounce.conversion x sugar.vol-to-weight
= 500 x 28.35 x 1.4
Другой пример с двумя весами
Ingredient is specified as 3 ounces of starch. Show in grams
= 3 x 28.35 (straightforward isn't it)
или
Ingredient is specified as 3 ounces of starch. Show in pounds
= 3 * 28.35 / 453.59