【问题标题】:How does an LDAP database differ from a SQL or MySql databaseLDAP 数据库与 SQL 或 MySql 数据库有何不同
【发布时间】:2020-05-14 01:54:54
【问题描述】:

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

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

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

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

我是否在正确的轨道上?

谢谢

【问题讨论】:

  • 我推荐 Softerra LDAP 浏览器 (www.ldapbrowser.com)。它对于浏览 LDAP 服务器是免费且非常有用的。我与 Softerra 无关 - 只是认为它有用。

标签: database ldap


【解决方案1】:

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

您在关系数据库中熟悉的许多概念并不真正适用于 LDAP。例如,没有“tables”,也没有“join”操作。

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

cn=Joe Smith,ou=Users,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*"

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

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

ps。就个人而言,我建议使用术语“LDAP 目录”而不是“LDAP 数据库”——“数据库”这个词往往会产生 LDAP 可以做一些事情(JOIN、聚合操作等)的期望,而这根本不是为它设计的。

【讨论】:

    猜你喜欢
    • 2019-01-30
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多