Упорядочение строк таблицы базы данных - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть таблица каналов , которая содержит набор строк описания кода.например,

Key | Value      | Url                    
fb  | facebook   | http://www.facebook.com
tw  | twitter    | http://twitter.com     
ff  | friendfeed | http://friendfeed.com  

Конечная точка REST возвращает содержимое этой таблицы в виде массива JSON, и оно отображается в раскрывающемся списке веб-страницы.

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

Дизайн 1

Я добавляю отдельный столбец в каналы , называемый rank, чтобы обозначить порядокэлемента.

Key | Value      | Url                     | Rank
fb  | facebook   | http://www.facebook.com | 3
tw  | twitter    | http://twitter.com      | 1
ff  | friendfeed | http://friendfeed.com   | 2

Дизайн 2

Я создаю отдельную таблицу FeedRank , в которой хранится ранг.

Key | Rank
fb  | 3
tw  | 1
ff  | 2

Анализ

Я склоняюсь к дизайну № 1, потому что я могу обойтись без JOIN.Каковы плюсы и минусы каждого дизайна и какой из них вы бы использовали?

Ответы [ 3 ]

3 голосов
/ 18 февраля 2010

единственная причина для размещения ранжирования в отдельной таблице состоит в том, что если а) отношение между описаниями кода и ранжированием не было 1: 1, или если б) столбец был малонаселенным (большинство строк имели Значение NULL)

даже в последнем случае большинство людей отменят нормализацию и поместят столбец ранжирования в таблицу описаний кодов.

1 голос
/ 18 февраля 2010

Если это отношения один-к-одному, нет реальной причины помещать их в отдельную таблицу. Перейти с # 1, IMO.

0 голосов
/ 18 февраля 2010

Дизайн 1 просто отлично. Дизайн 2 по сути такой же, как дизайн 1, но с ненужной сложностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...