Соглашение об именах для столбца, предназначенного исключительно для заказа - PullRequest
4 голосов
/ 21 июня 2010

Скажем, у нас есть набор записей, которые должны быть упорядочены с помощью нетривиального метода упорядочения, например, естественной сортировки или просто в некоторой определенной последовательности, определенной пользователем.Мы должны ввести специальный столбец, предназначенный только для заказа.

Существует ли более или менее распространенное соглашение для именования таких столбцов?Какие имена вы используете?

Ответы [ 6 ]

4 голосов
/ 21 июня 2010

Я бы использовал SortOrder над sequence, чтобы некоторые поставщики (Oracle, PostgreSQL) использовали последовательности для обеспечения функции автоматического увеличения / идентификации. SortOrder более явно / явно говорит о том, для чего используется столбец.

1 голос
/ 21 июня 2010

Я использую SortOrder для столбцов, которые представляют относительные, но произвольные, средства для упорядочения и Sequence для значений, которые должны быть последовательными и не иметь пробелов. Таким образом, я могу иметь значения 10, 20, 99 для SortOrder, но никогда не для Sequence. Возможно, у меня есть SortOrder, например, для списка валют, так что некоторые валюты отображаются вверху, но столбец с именем Sequence для позиций заказов или счетов-фактур.

1 голос
/ 21 июня 2010

Я видел Sequence используется так же, как SortOrder.Лично мне нравится Sequence лучше, поскольку это подразумевает уникальность.

0 голосов
/ 21 июня 2010

Как указали другие, не существует реального стандарта для именования таких столбцов.

Мои предпочтения имеют тенденцию быть «Порядковым» (или рангом), но я думаю, что пока кто-то может посмотреть на определение таблицы и выяснить, какие данные представляет столбец, тогда я думаю, что вы хороши.

0 голосов
/ 21 июня 2010

Я лично использую любое логическое имя для полей. Я нигде не видел, каким должно быть имя для определенного поля, однако я стараюсь убедиться, что имя не является одним из mysql зарезервированных ключевых слов , чтобы не использовать backtick символы ` все вокруг.

Кроме того, MySQL обычно не чувствителен к регистру. Таким образом, «mytable» и «MyTaBlE» одинаковы для MySQL. Я полагаю, что на некоторых платформах MySQL можно настроить с учетом регистра, но это создает потенциальную проблему переносимости, если вы когда-нибудь захотите перенести свою базу данных на другие платформы.

Ресурс для соглашения об именах:

http://www.interaktonline.com/Support/Articles/Details/Design+Your+Database-Database+Naming+Convention.html?id_art=24&id_asc=221

0 голосов
/ 21 июня 2010

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

Обычно мы называем это SortSequence или UserSortOrder, но я не видел каких-либо конкретных соглашений по номенклатуре (обычно потому, что упорядочение, как правило, происходит от других данных, а не от явных вещей ...), если имя имеет смысл и (если вы делай это в другом месте) это то, к чему я бы стремился.

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