Я унаследовал большую (SQLServer) базу данных с сотнями столбцов, которые представляют суммы той или иной вещи. Единицы для этих значений (например, «галлоны», «дюймы» и т. Д.) Хранятся в поле MS_Description расширенных свойств. Мне интересно, есть ли лучший способ хранить эту информацию. Я предполагаю, что это хорошо для целей документирования, но было бы трудно сделать надежные вычисления преобразования единиц на основе этих данных. На данный момент я не готов внести инвазивные изменения, но если у меня появится возможность сделать это, какова рекомендуемая наилучшая практика в этом отношении? Варианты, в верхней части моей головы, могут включать в себя:
- Измените имя столбца на включенные единицы (например, «TotalVolumeInGallons». Это сделает информацию немного более доступной, но она все еще кажется мне слабой.)
- Добавьте отдельный столбец «Units», чтобы соответствовать каждому столбцу «Amount» (этот столбец может быть nvarchar ИЛИ это может быть внешний ключ к отдельной таблице Units, что может упростить вычисление конверсий единиц. С другой стороны, добавление так многие столбцы могут удвоить размер моей базы данных - с ужасно избыточными данными.)
- Создайте новое поле в Extended Properties, предназначенное специально для юнитов. (К сожалению, я не думаю, что это может быть внешним ключом таблицы Units.)
- Есть другая идея, которую я пропускаю?
ОБНОВЛЕНИЕ: после прочтения ответа @Todd Everett мне пришло в голову возможное решение, так что я собираюсь продолжить и ответить на мой собственный вопрос. (Увидеть ниже)