Я добавляю несколько полей в таблицу, в которой хранится информация о судах (кораблях).
Значения относятся к расходу топлива.
Существует восемь значений, которые в любое время могут быть использованы четыре:
В порту ИФО 180
В порту ИФО 380
В порту МДО
В порту МГО
Парусный спорт ИФО 180
Парусный спорт ИФО 380
Парусный МДО
Парусный МГО
Теперь пользователь может ввести значение для порта IFO 180 ИЛИ IFO 380 и порта MDO ИЛИ MGO, но не для обоих. То же самое относится к значениям парусного спорта.
Я ходил взад-вперед по поводу лучшего способа хранения этих данных.
Два способа, которые я придумал, следующие:
Первый:
Поле для типа топлива в порту или на рейсе:
AtPortIFOType, nvarchar (3)
AtPortMFOType, nvarchar (3)
SailingIFOType, nvarchar (3)
Парусный спортMFOType, nvarchar (3)
Эти поля будут содержать соответствующие варианты выбора, сделанные пользователем (180 или 380, MDO или MGO)
Поле для значения потребления, в порту или под парусом:
AtPortIFOConsuation, int
AtPortMFOConsuation, int
Парусный спорт FOC потребления, int
Парусный спортMOС потребление, инт
Второй способ, которым я думал о сохранении этих значений, состоял в том, чтобы просто иметь поле для каждого и обнулять другое в зависимости от типа топлива, выбранного пользователем:
AtPortIFO180, int
AtPortIFO380, int
AtPortMDO, int
AtPortMGO, int
SailingIFO180, int
SailingIFO380, int
SailingMDO, int
SailingMGO, int
Я ходил взад и вперед по этому, казалось бы, десять раз, какой вариант самый эффективный? Или есть третий вариант, которого я не вижу?
Спасибо!