Дизайн базы данных о столбце даты / времени - PullRequest
2 голосов
/ 30 сентября 2011

Краткое описание:

У меня есть таблица, в которой хранятся статьи.Статьи перечислены в таблице и отсортированы - DESC - по дате создания.

Столбец dateCreated представляет дату и время, когда пользователь опубликовал / создал статью.Это исправлено и не должно быть изменено.

Проблема:

Временами старые статьи обычно оказываются на дальних страницах.Тем не менее, пользователь имеет возможность поднять свою статью обратно в верхнюю часть таблицы на первой странице.Так как я упорядочиваю статьи по dateCreated, который не должен быть изменен, как я могу поднять статью, не меняя dateCreated?

Мое решение - я не уверен, что оно хорошее илинет (мне нужны предложения):

Создайте еще один столбец с именем bumpDate.Когда пользователь публикует статью, дата / время будут вставлены в dateCreated и bumpDate.Статьи в gridview будут отсортированы по bumpDate.Когда пользователь поднимает свою статью, я только обновляю bumpDate.Поэтому статья пользователя, независимо от даты dateCreated, будет сверху.Постепенно статья будет сокращаться по дням в зависимости от того, сколько новых статей размещено другими пользователями.

Видите ли вы глюки в этом дизайне / решении?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2011

Я не вижу каких-либо реальных проблем с тем, что вы предлагаете, единственно возможная вещь - это попытаться использовать значение INT вместо DateTime (4 байта против 8 байтов), если у вас будет много данных иначе я бы сделал то же самое, что вы предлагаете.

0 голосов
/ 30 сентября 2011

То, что вы обрисовали в общих чертах, - то, как эти вещи обычно делаются. Хотя BumpDate может и не быть лучшим именем (действительно ли оно представляет собой действие «столкновения», или они что-то сделали, например, его изменение?), Это то, что вы должны использовать.

...