Что вы делаете с одноразовым фрагментом данных, который необходимо сохранить? - PullRequest
0 голосов
/ 03 апреля 2009

Недавно меня попросили добавить что-то для администратора сайта, где он может что-то «добавить».

Для этого обсуждения допустим, что это «рекомендуемая статья».

Так что, естественно, у нас уже есть модель базы данных «статей», и она имеет ~ 20 столбцов, так что я действительно не чувствую вздутие ее больше, чем она есть.

Мои варианты:

  1. Прикоснитесь к «избранному» bool (или int) и поймите, что в любой момент времени будет показана только одна вещь

  2. Создайте новую модель для удержания этого и любых других объектов, которые могут выпадать.

  3. Я принимаю ваши предложения! ;)

Что вы делаете в этом случае? Я сталкиваюсь с этим время от времени, и я просто ненавижу привязывать еще одну колонку к чему-то. Эту информацию НЕОБХОДИМО сохранить.

Ответы [ 5 ]

3 голосов
/ 03 апреля 2009

Я бы, вероятно, просто добавил простую таблицу из двух столбцов, которая в основном представляет собой хранилище значений ключей. Затем добавьте новый столбец со значениями, такими как (featured_article_id, 45) или любым другим идентификатором.

Редактировать: как указано в комментариях rmeador, следует отметить, что это только хорошее решение, пока все остается относительно простым. Если вам нужно хранить более сложные данные, попробуйте найти более гибкое решение.

2 голосов
/ 03 апреля 2009

Если за один раз может быть показана только одна статья, добавлять колонку bool - пустая трата времени. Вы должны подняться на уровень и добавить столбец для FeaturedArticleID. У вас есть таблица Site_Settings?

0 голосов
/ 03 апреля 2009

Для подобных вещей я бы хотел добавить таблицу настроек:

CREATE TABLE Settings (
    SettingName NVARCHAR(250) NOT NULL,
    SettingValue NVARCHAR(250)
)

Если вам нужны настройки для отдельных пользователей или клиентов вместо глобальных, вы можете добавить столбец, чтобы идентифицировать его для конкретного пользователя / клиента. Затем вы можете просто добавить строку для «FeaturedArticle» и проанализировать идентификатор из строки. Он не супероптимизирован, но открытый текст очень гибкий, и звучит именно так, как вам нужно.

0 голосов
/ 03 апреля 2009

Иметь какую-то таблицу global_settings со столбцами имя_параметра и параметр_значение. Поместите идентификатор избранной статьи здесь.

0 голосов
/ 03 апреля 2009

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

...