If you have some background in database systems, you are already familiar with the concept of a schema. Simply put, a schema is a set of rules that determines what data can be stored in a database or directory service. Schemas are important because they help maintain the integrity and quality of the data stored in a directory service. Schemas also help reduce duplication of data and provide a well-documented, predictable way for directory-enabled applications to access and modify the collection of directory objects. In this chapter you will learn what role schemas play, why they are important, how to locate predefined schema elements, and how to design your own custom schema. First we discuss the purpose of a schema, and then we provide a detailed description of the elements that make up LDAP schemas. We continue by illustrating two formats commonly used to describe schemas, and we explain the process that servers go through to check directory entries against the schema rules. In the second part of the chapter, we describe a schema design process that you should follow for your directory service. We cover locating and selecting predefined schemas, designing and documenting your schema, and planning for schema maintenance and evolution. |