Согласно моему комментарию выше, я думаю, что, вероятно, стоит подумать, нужно ли вам что-то большее, чем система отображения даты/даты сортировки с двумя столбцами - я был бы склонен использовать этот простой вариант, пока он не добавит слишком много трения, и в этот момент вы может пересмотреть...
Что касается менее простой модели, то; если даты выпуска (и их относительный порядок) были достаточно важны, чтобы вы хотели убедиться, что начало 2013 г. появилось до 21 февраля 2013 г. (или наоборот), вы можете создать таблицу «даты выпуска».
DisplayText | Type | Start | End
01/01/2013 | 1 | 2013-01-01 | 2013-01-01
Q1-2013 | 2 | 2013-01-01 | 2013-03-31
Early-2013 | 3 | 2013-01-01 | 2013-06-30
Это будет предварительно загружено с каждой комбинацией на следующие 20 лет или что-то еще (что по-прежнему составляет всего несколько тысяч строк ...), и вы просто будете рассматривать его как FK и использовать обычный синтаксис соединения, чтобы использовать его. Заказ можно сделать через столбцы «Начало/Конец», и вы также можете ограничить поиск этими диапазонами (возможно, только для игр, которые, вероятно, будут выпущены в ближайшие 6 недель или что-то еще).
Как я уже сказал, я действительно не советовал бы сразу идти по этому пути, поскольку его основным преимуществом будет простота интеграции с дизайнером пользовательского интерфейса и согласованность (поскольку нет принятия решений человеком, кроме выбора варианта), поэтому, пока вы не закончите создание вашего сайта, я бы абсолютно не беспокоил :)
person
chrisb
schedule
21.02.2013