Schema classes and attributes
Every directory object you create is an instance of an object class contained in the schema. Each object class contains a list of associated attributes that determine the information the object can contain. Classes and attributes are defined independently, so that a single attribute can be associated with multiple classes. All schema classes and attributes are defined by the classSchema and attributeSchema objects, respectively.
Classes
ClassSchema objects are used to define classes in the schema. A classSchema object provides the template for building directory objects of that class. Examples of classSchema include User and Server. A classSchema object contains, among other things, the following information:
Class type (structural, abstract, or auxiliary)
•
Common name and Lightweight Directory Access Protocol (LDAP) display name
•
Lists of the "must contain" and "may contain" attributes for instances of the object
•
Relative distinguished name attribute
•
A list of possible parent classes
Class types
Three different types of classes exist in the schema:Class type Purpose
Structural
Used to instantiate objects (users, servers and so on) in the directory.
Abstract
Provides templates for deriving structural classes
Auxiliary
Contains predefined lists of attributes that can be included in structural and abstract classes
Attributes
AttributeSchema objects are used to define attributes in the schema. An attributeSchema object determines the allowable contents and syntax for instances of that attribute in the directory. Examples of attributeSchema include User-Principal-Name and Telex-Number. An attributeSchema object contains, among other things, the following information:•
Common name and LDAP display name
•
Syntax rules
•
Data constraints (single versus multivalued, minimum, and maximum values)
•
Whether and how the attribute is indexed
×