LDAP数据库与SQL或MySql数据库有何不同

时间:2012-02-14 17:46:42

标签: database ldap

我理解关系数据库的基础知识,SQL和MySql之间的基本区别以及如何连接SQL和MySql数据库,设置表,模式,运行查询等。

我已经开始使用新设备,我知道它上面有一个LDAP数据库(准确地说是Splicecom Maximiser Call Server)。我有LDAP凭据,但对LDAP一无所知。

是否有相当于MySql工作台或Microsoft SQL Server Management Studio for LDAP?是LDAP数据库关系还是其他一些数据库模型?我可以像连接到SQL或MySql数据库并运行查询一样连接到LDAP数据库,还是完全不同?

我听到数据库这个词并认为我之前曾使用过数据库,数据库有表,模式和可用于查询的语言。如果我学习数据库的布局(什么数据在哪些表中,我的主键是什么,我需要加入什么,索引什么以及我需要索引的内容等),然后学习我可以采用的查询语言我了解SQL和MySql并将其应用于LDAP。

我是否在正确的轨道上?

由于

1 个答案:

答案 0 :(得分:4)

LDAP不是关系数据库。事实上,它根本不是一个通用的“数据库”,它是一个树形结构的目录。

您从关系数据库熟悉的许多概念并不真正适用于LDAP。例如,没有“表格”,也没有“加入”操作。

LDAP条目是属性的集合。条目以树结构排列,并由“专有名称”唯一标识,“专有名称”是树中该对象的路径。例如:

cn = Joe Smith,ou =用户,dc = example,dc = com

将是“example.com”(dc = example,dc = com)目录中“用户”组织单位(ou)中具有公共名称(cn)“Joe Smith”的条目。

LDAP中最基本的操作是搜索,它采用“搜索库”和过滤字符串。例如,使用命令行LDAP工具,您可能会说:

ldapsearch -b"dc=example,dc=com" "cn=Joe S*"

找到上面的条目并返回所有属性。 (注意在搜索过滤器中使用“*”通配符)。您还可以查询其他属性,使用“和”和“或”构建更复杂的查询,指定要返回的属性等。

了解特定LDAP目录的一个好方法是使用ldapsearch(命令行)或Apache Directory Studio(GUI)等工具浏览它。

PS。就个人而言,我建议使用术语“LDAP目录”而不是“LDAP数据库” - 单词“数据库”倾向于创建期望LDAP可以做的事情(JOIN,聚合操作等),它根本就不是为此而设计的。