Идентификатор в информатике и системах¶
Идентификатор (от лат. identificare — отождествлять) — это признак, набор символов или числовое значение, однозначно различающее объект среди множества других объектов того же класса. В информатике, программировании и системах управления данными идентификатор служит средством адресации, учёта и однозначной ссылки на сущность: запись в базе данных, процесс, файл, пользователя, устройство или сетевой узел. Ключевое свойство идентификатора — уникальность в пределах той области, где он применяется.
¶Общие принципы
Идентификатор выполняет функцию различителя: он позволяет системе отличить один объект от другого и обратиться к нужному объекту без двусмысленности. В зависимости от задачи идентификаторы бывают:
- Уникальные — не повторяются в пределах множества (номер паспорта, серийный номер изделия).
- Составные — формируются из нескольких полей (например, код подразделения плюс порядковый номер).
- Искусственные — присваиваются произвольно (UUID, автоинкрементный номер).
- Естественные — основаны на свойствах самого объекта (ИНН, ISBN, координаты).
Идентификатор не обязан нести смысловую нагрузку: его главная задача — обеспечивать однозначную ссылку. При этом на практике часто совмещают обе функции, кодируя в идентификаторе категорию, регион или дату.
¶Идентификаторы в программировании
В языках программирования идентификатор — это имя, присваиваемое переменной, функции, классу, типу или иному элементу кода. Правила формирования имён задаются синтаксисом языка: обычно допускаются латинские буквы, цифры и знак подчёркивания, причём первый символ не может быть цифрой. Многие языки различают регистр символов, то есть Value и value считаются разными именами.
Отдельно выделяют:
- Ключевые слова — зарезервированные идентификаторы, имеющие специальное значение (
if,while,class); их нельзя использовать как обычные имена. - Пространства имён — механизм группировки, позволяющий повторять одинаковые имена в разных контекстах без конфликта.
- Квалифицированные имена — составные идентификаторы вида
модуль.функция.
Соглашения о стиле (например, camelCase или snake_case) не влияют на работу программы, но обеспечивают читаемость кода.
¶Идентификаторы в базах данных
В реляционных базах данных идентификатор чаще всего реализуется как первичный ключ — поле или набор полей, однозначно определяющих каждую строку таблицы. Первичный ключ не может повторяться и, как правило, не может быть пустым. В качестве него используют:
- автоинкрементные целые числа;
- глобально уникальные идентификаторы (GUID/UUID);
- естественные ключи (номер документа, код товара).
Внешний ключ ссылается на первичный ключ другой таблицы и обеспечивает связность данных. В распределённых системах, где несколько узлов генерируют записи независимо, применяют UUID — 128-битные значения, вероятность совпадения которых практически ничтожна. В РФ для учёта организаций используется ИНН, для граждан — СНИЛС; эти номера выполняют роль государственных идентификаторов.
¶Сетевые и системные идентификаторы
В вычислительных сетях и операционных системах идентификаторы обеспечивают адресацию и учёт ресурсов:
| Идентификатор | Назначение |
|---|---|
| IP-адрес | Адресация узла в сети |
| MAC-адрес | Уникальный адрес сетевого адаптера |
| PID | Идентификатор процесса в ОС |
| UID/GID | Идентификаторы пользователя и группы |
| URL | Адрес ресурса в интернете |
| Серийный номер | Учёт устройства или изделия |
MAC-адрес присваивается производителем сетевого оборудования и теоретически уникален для каждого адаптера. PID существует только в течение жизни процесса. UID в операционных семейства Unix определяет права доступа пользователя к файлам и ресурсам.
¶Государственные и коммерческие идентификаторы
Помимо технических, существуют идентификаторы, закреплённые нормативно или отраслевыми стандартами:
- ИНН — идентификационный номер налогоплательщика в России.
- ОГРН — основной государственный регистрационный номер организации.
- СНИЛС — страховой номер индивидуального лицевого счёта.
- ISBN — международный стандартный книжный номер.
- VIN — идентификационный номер транспортного средства.
- Штрихкод и QR-код — машиночитаемые формы записи идентификатора.
Такие номера позволяют государственным и коммерческим системам однозначно сопоставлять сведения об объекте из разных источников.
¶Проблемы и риски
Обращение с идентификаторами порождает ряд практических проблем. Утечка персональных идентификаторов (СНИЛС, номера документов) создаёт риск мошенничества, поэтому такие данные относят к категории персональных и защищают законодательно. Ошибки в генерации идентификаторов приводят к коллизиям — совпадению значений у разных объектов, что нарушает целостность данных. Кроме того, «умные» идентификаторы, кодирующие сведения об объекте, со временем устаревают: если заложенный в номер признак меняется, идентификатор перестаёт соответствовать действительности.
¶Значение
Идентификаторы лежат в основе учёта, поиска, связывания и защиты информации. Без них невозможно представить работу баз данных, сетей, операционных систем, государственных реестров и электронной коммерции. Выбор схемы идентификации — уникальность, формат, способ генерации — относится к базовым проектным решениям при создании любой информационной системы.
Источники: стандарты ISO/IEC, документация по языкам программирования, руководства по проектированию баз данных, нормативные акты РФ о персональных данных и налоговом учёте.