「ディレクトリエントリ」は、一連の「属性」とその「値」からなります。各エントリは「オブジェクトクラス」という属性を持ち、これがそのエントリに記述されているオブジェクトの種類を指定し、そこに含まれる属性のセットを定義します。オブジェクトクラスの属性には、必須のものと任意のものがあります。たとえば、オブジェクトクラス country は、必須属性 countryName と任意属性 description および searchGuide で記述します。
スキーマは、オブジェクトクラスエントリの必須属性と任意属性を定義します。スキーマは継承階層も定義します。すべてのオブジェクトクラスは、自分より上のオブジェクトクラスの特性を継承します。たとえば、オブジェクトクラス organizationalPerson はオブジェクトクラス Person のサブクラスなので、必須属性と任意属性をオブジェクトクラス Person から継承します。
すべてのオブジェクトクラスは、オブジェクトクラス top から属性を継承します。オブジェクトクラス top には必須属性 objectClass があるため、すべてのエントリには少なくとも 1 つのオブジェクトクラス属性があります。
オブジェクトクラスの種類として「構造」と「補助」があります。構造オブジェクトクラスは、エントリの種類を定義します。1 つのエントリには、1 つの構造オブジェクトクラスしか指定できません。補助オブジェクトクラスは、それだけではエントリの種類を定義できませんが、構造オブジェクトクラスを指定すれば定義できます。たとえば、補助オブジェクトクラス uidObject を使えば、ディレクトリの任意のエントリに uid を割り当てることができます。