LDAP не является реляционной базой данных. На самом деле это вообще не «база данных» общего назначения, это древовидная структура.
Многие концепции, с которыми вы знакомы по реляционным базам данных, на самом деле не применимы к LDAP. Например, нет «таблиц» и нет операции «соединения».
Запись LDAP представляет собой набор атрибутов. Записи расположены в древовидной структуре и однозначно идентифицируются «отличительным именем», которое является путем к этому объекту в дереве. Например:
cn = Джо Смит, ou = Пользователи, dc = пример, dc = com
Будет записью с общим именем (cn) "Joe Smith" в организационной единице (ou) Users в каталоге "example.com" (dc = example, dc = com).
Самая базовая операция в LDAP - это поиск, который использует «базу поиска» и строку фильтра. Например, используя инструмент командной строки LDAP, вы можете сказать:
ldapsearch -b"dc=example,dc=com" "cn=Joe S*"
чтобы найти запись выше и вернуть все атрибуты. (Обратите внимание на использование подстановочного знака "*" в поисковом фильтре). Вы также можете запрашивать другие атрибуты, создавать более сложные запросы с помощью «и» и «или», указывать, какие атрибуты вы хотите вернуть и т. Д.
Один хороший способ почувствовать конкретный каталог LDAP - это просмотреть его с помощью такого инструмента, как ldapsearch (командная строка) или Apache Directory Studio (GUI).
пс. лично я бы порекомендовал использовать терминологию «каталог LDAP» вместо «база данных LDAP» - слово «база данных» имеет тенденцию создавать ожидание того, что LDAP может что-то делать (соединения, агрегирующие операции и т. д.), для которого он просто не предназначен.