Скажите, у нас есть ряд записей, которые должны быть заказаны с нетривиальным методом упорядочивания, например, естественным видом или только в некоторой определенной последовательности, определенной пользователем. Мы должны представить специальный столбец, предназначенный только для упорядочивания.
Существует ли более или менее общая конвенция для именования таких столбцов? Какие имена Вы используете?
Я бы использовал SortOrder
вместо последовательности
, чтобы последовательности были предоставлены некоторыми поставщиками (Oracle, PostgreSQL) для обеспечения автоматического увеличения / идентификации функциональность. SortOrder более очевиден / точен в отношении того, для чего используется столбец.
Хотя мы стараемся избегать подобных конструкций, иногда вы обнаруживаете, что это самое короткое и лучшее решение.
Обычно мы называем это SortSequence или UserSortOrder, но я не встречал каких-либо конкретных соглашений по номенклатуре (обычно потому, что порядок обычно определяется другими данными, а не явным явлением ...) Пока имя имеет смысл и (если вы сделайте это в другом месте), это то, к чему я бы стремился.
Я видел Последовательность
, используемую так же, как SortOrder
. Лично мне больше нравится Последовательность
, поскольку она подразумевает уникальность.
Как указывали другие, не существует реального стандарта для именования таких столбцов.
Я предпочитаю «Порядковый номер» (или ранг), но я думаю, что если кто-то может взглянуть на определение таблицы и выяснить, какие данные представляет столбец, я думаю, что вы хороши.
Я лично использую любое логическое имя для полей. Я нигде не видел, каким должно быть имя для конкретного поля, однако я стараюсь убедиться, что это имя не входит в число зарезервированных ключевых слов mysql , чтобы не использовать обратную кавычку персонажи `
все вокруг.
Кроме того, MySQL обычно не чувствителен к регистру. Итак, mytable и MyTaBlE для MySQL - одно и то же. Я считаю, что на некоторых платформах вы можете настроить MySQL с учетом регистра, но это создает потенциальную проблему переносимости, если вы когда-нибудь захотите перенести свою базу данных на другие платформы.
Ресурс для соглашения об именах:
Я использую SortOrder
для столбцов, которые представляют собой относительное, но произвольное средство упорядочивания, и Sequence
для значений, которые должны быть последовательными и не иметь пробелов. Таким образом, я могу иметь значения 10, 20, 99 для SortOrder
, но никогда для Sequence
. Я могу иметь SortOrder
, скажем, для списка валют, чтобы определенные валюты отображались вверху, но столбец под названием Sequence
для элементов заказа или счета.