Чем база данных LDAP отличается от базы данных SQL или MySql - PullRequest
1 голос
/ 14 февраля 2012

Я понимаю основы реляционных баз данных, основные различия между SQL и MySql и как подключаться к базам данных SQL и MySql, таблицам настройки, схемам, выполнению запросов и т. Д.

Я начал работать сНа новом устройстве, которое, как я понимаю, есть база данных LDAP (точнее, сервер вызовов Splicecom Maximiser).У меня есть учетные данные LDAP, но я абсолютно ничего не знаю о LDAP.

Существует ли эквивалент MySql Workbench или Microsoft SQL Server Management Studio для LDAP?Является ли база данных LDAP реляционной или какой-либо другой моделью базы данных?Могу ли я подключиться к базе данных LDAP таким же образом, как я могу подключиться к базе данных SQL или MySql и выполнить запросы, или это что-то совершенно другое?

Я слышу слово «база данных» и думаю, что работал сбазы данных раньше, базы данных имеют таблицы, схемы и язык, который вы можете использовать для запроса.Если я изучу структуру базы данных (какие данные в каких таблицах, какие у меня первичные ключи, к чему мне нужно присоединиться, что индексируется и что мне нужно индексировать и т. Д.), То выучу язык запросов, который я могу взять.Я знаю о SQL и MySql и применяю это к LDAP.

Я на правильном пути или нет?

Спасибо

1 Ответ

4 голосов
/ 14 февраля 2012

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 может что-то делать (соединения, агрегирующие операции и т. д.), для которого он просто не предназначен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...