Database Overview

Microsoft CRM is a metadata-driven product. This means that the vast majority of its work is focused on abstracting itself away from the implementation details that so often cause problems with upgrades and extensibility. The metadata layer in essence abstracts the underlying data storage details, such as schema and data access, from the higher level constructs of domain-logic implementation and user interface. The word metadata literally means "descriptive information about the elements of a set of data." The metadata can be thought of as a description of the underlying data structures that controls how the application (platform and user interface) operates and displays itself.

The platform uses the metadata to buffer itself from changes to the underlying database structures. If a table definition changes (for example, when columns are added or removed), the platform code continues to operate without any performance or degradation. This means that Microsoft CRM can be altered significantly to meet a particular business or vertical definition and still operate without interruption.

The Microsoft CRM platform isn't the only consumer of the metadata. The application layer uses the rules inherent in the metadata to present the exact user experience offered by vertical solutions and customizations. These rules include attribute type definitions, entity definitions, and attribute context rules. Attribute metadata describes the underlying type structure of a given attribute, including the fundamental data type (such as string, integer, or date) and the information that effectively limits the attribute's type definition (such as its size and range values). Attribute context rules describe when and how a given attribute can be used. For example, some attributes are write-once, such as order numbers. These attributes shouldn't be changed after they have been created because changing them causes ripple effects throughout the business data. Other attributes are always read-only and are supplied by the platform itself. The metadata captures all of these rules about context, but it also captures business-defined rules, such as business-recommended and business-required attributes.

© 2003 Microsoft Corporation. All rights reserved.