2010-09-07 2 views
1

Что лучший способ хранения продолжительность деятельности в таблице MySQL, если есть 3 возможности:Магазин Продолжительность в MySQL

активность длится весь день активность длится всего полдня Пользователь указывает длину в Часы: минуты

Пользовательский интерфейс имеет выпадающий список с (полный день/полдня/ручной -> здесь час: появляется селектор минут).

Я собираюсь сохранить продолжительность в минутах в базе данных. И замените полный день на 480 минут, полдня на 240 минут.

Но мне не очень нравится решение, потому что во внешнем интерфейсе мне нужно проверить продолжительность и, например, если это 480, установите combobox на Full Day.

насчет дополнительного поля типа: 0 - Полный день 1 - Half Day 2 - Руководство

интересно, что лучше/уборщик решение было бы, или, если есть 3-я, лучшее решение.

Спасибо, мартин

ответ

1

Использование протокола является лучшим решением, даже если вы должны выстраиваться их на переднем конце.

Это чище с точки зрения хранилища (один столбец вместо того, чтобы перенаправляться во второй столбец для ручных настроек) и обеспечивает большую гибкость, если требования меняются позже (например, 1/4 дня, 2 дня).

0

Я бы использовал один столбец, хранящий минуты (или даже секунды) периода времени.

Альтернативный способ отображения, который вы можете рассмотреть, это разрешить пользователю указывать любой период времени, который они хотят, используя суффиксы d, h и m. например.

'1d 4h 2m' 
Смежные вопросы