Сегодня утром мы провели встречу о том, как сохранить наш идентификатор для некоторых активов, которые мы имеем в нашей базе данных, которые мы создаем, и в результате создалось небольшое количество тепла, поэтому я решил обратиться к экспертам SO.
Структура таблицы, которая, как я считаю, должна иметь (короткая версия), выглядит следующим образом:
Пример 1)
- AssetId - int (32) - Основной ключ
- Тип - строка
поэтому некоторые примеры данных выглядят следующим образом:
==AssetId======Type===
12345 "Manhole"
155415 "Pit"
и др.
Другой член команды предложил что-то вроде этого:
Пример 2)
- AssetId - строка - первичный ключ
- Тип - строка
поэтому некоторые примеры данных выглядят следующим образом:
==AssetId======Type===
"MH12345" "Manhole"
"P155415" "Pit"
где мы делаем короткую версию типа и добавляем ее к передней части идентификатора и сохраняем ее в базе данных. Я видел несколько баз данных активов, которые делают это и никогда не применяют этот подход.
Мне никогда не нравилась идея использования строк в качестве идентификатора для сортировки. Я также чувствую, что он хранит бесполезную информацию только ради этого, когда у вас уже есть тип хранилища активов.
Какой подход вы бы взяли? И почему? Существуют ли какие-либо преимущества для использования подхода 1 более чем на 2?
EDIT: Да, я буду использовать AUTO_INCREMENT для подхода 1.