Алиас — термин компьютерной науки¶
Алиас (от англ. alias — «псевдоним», «прозвище») — второе или дополнительное имя объекта, используемое для обращения к нему в информатике, программировании и телекоммуникациях. Алиасы применяются, когда одно и то же существование имеет несколько имён, либо когда имя должно быть короче, удобнее или скрыто от конечного пользователя. Термин встречается в базах данных, сетевых технологиях, языках программирования, файловых системах и операционных системах.
¶Алиасы в базах данных
В реляционных СУБД алиасом называют краткое имя таблицы или представления (view), задаваемое в операторе SELECT через ключевое слово FROM. Например, запрос SELECT e.name FROM employees AS e позволяет обращаться к таблице employees по имени e. Алиасы обязательны при соединении таблиц с одинаковыми именами (self-join), а также при подсчёте агрегатных функций — они задают имя выходного столбца.
¶Алиасы в сетевых технологиях
¶DNS
В системе доменных имён (DNS) алиасом является запись CNAME (Canonical Name), указывающая, что доменное имя является псевдонимом другого доменного имени. Например, www.example.comexample.com`. При запросе DNS-сервер возвращает каноническое имя, после чего клиент запрашивает его адрес. CNAME-запись не может существовать одновремaneously с MX- или NS-записью для того же имени. часто является CNAME для канонического имени
¶Сетевые интерфейсы
В Linux и BSD сетевым алиасом называют дополнительный IP-адрес, назначенный тому же физическому интерфейсу. Классический способ — создание устройства вида eth0:0, eth0:1. Такой механизм позволяет одному компьютеру отвечать на несколько IP-адресов без установки дополнительных сетевых карт.
¶Алиасы в языках программирования
¶SQL
В SQL ключевое слово AS создаёт алиас для столбца, таблицы или подзапроса. Псевдонимы столбцов влияют на имена полей в результирующем наборе, что важно при формировании отчётов и работе ORM-библиотек.
¶Bash и другие оболочки
В Bash алиас — это команда-заместитель, задаваемая инструкцией alias. Например, alias ll='ls -l' создаёт команду ll, разворачивающуюся в полную команду при вводе. Алиасы задаются в файлах ~/.bashrc или ~/.bash_aliases. В отличие от функций, алиасы подставляются на этапе разбора командной строки и не принимают аргументов напрямую.
¶C и C++
В C++ ключевое слово using (и устаревшее typedef) создаёт алиас типа: using UInt = unsigned int;. В C — typedef unsigned int UInt;. Алиасы шаблонов (template<typename T> using Vec = std::vector<T, MyAlloc<T>>;) позволяют задавать параметризованные синонимы типов.
¶Rust
В Rust ключевое слово type объявляет алиас типа: type Kilometers = i32;. Алиас не создаёт нового типа — это лишь другое имя, упрощающее чтение кода.
¶Алиасы в Unix-файловых системах
В файловых системах семейства Unix алиасом может быть жёсткая ссылка (hard link) — второе имя файла, указывающее на тот же индексный дескриптор (inode). В отличие от символической ссылки, жёсткая ссылка не может пересекать границы файловой системы и не может ссылаться на каталог.
В macOS алиасом называется файл-заместитель, создаваемый Finder (формат ресурса alis). В отличие от симлинка, алиас macOS хранит не путь, а уникальный идентификатор тома и файла, поэтому продолжает работать после перемещения или переименования оригинала.
¶Алиасы в операционных системах
В Windows и Active Directory алиасом называют альтернативное имя объекта, доступное через механизм dNSHostName или через переменные окружения. В Windows PowerShell алиасы (Get-Alias) сопоставляют короткие имена (например, gci) полным командам (Get-ChildItem).
¶Алиасы в виртуализации и БД-движках
В MongoDB алиасы используются в геопространственных индексах: поле location может иметь алиасы loc, geo для совместимости с разными версиями драйверов. В Elasticsearch алиас — это ссылка на один или несколько индексов, позволяющая переключать индексы без изменения клиентского кода.
¶Алиасы в системах телефонии
В VoIP-системах алиас — это второе имя абонента, зарегистрированное на SIP-сервере (Asterisk, FreeSWITCH). Один SIP-номер может иметь несколько алиасов, принимающих входящие вызовы.
¶Применение
Основные причины использования алиасов:
- сокращение часто используемых конструкций;
- сокрытие внутренней структуры (рефакторинг без изменения интерфейса);
- поддержка обратной совместимости при переименовании;
- разрешение конфликтов имён;
- повышение читаемости кода и запросов.
¶См. также
- Псевдоним (программирование)
- Жёсткая ссылка
- Символическая ссылка
- CNAME-запись
- typedef
¶Источники
- Керниган Б., Ритчи Д. Язык программирования C. — СПб.: Питер, 2011.
- Страуструп Б. Язык программирования C++. — 4-е изд. — М.: Вильямс, 2011.
- Документация POSIX по утилитам sh и alias.
- RFC 1034. Domain Names — Concepts and Facilities.
- Документация PostgreSQL: PostgreSQL 15 Documentation, глава «Queries».
