Information Model Fundamentals
An information model is a set of meta data types that describe a tool, application, data structure, or information system. You can model a business process, for example, to describe the progression of an order as it moves from order entry to final invoicing. If you model a database application, your information model describes the tables and columns that are supported by the application. If your goal is to define an application for booksellers, your information model will include elements that describe books, authors, and publishers. Books, authors, and publishers are the kinds of data that a bookseller application would need to manipulate.
Notice that these examples depict types of data rather than instances of data. The first example describes an order process, not the specific orders placed by a customer. Similarly, an information model for a database application describes tables, keys, constraints, and stored procedures, but not the actual data that these elements store and manipulate. In the same way, the information model for the bookseller application describes the concept of a book, but not data about individual books. As you can see, information models articulate things that are always two steps removed from end user instance data.
Information Model Building Blocks
Information models are described by classes, relationships, and properties.
A class is a template that defines the characteristics of objects. A class represents entities in an information model. In previous examples, an order, a table, a key, a constraint, and a stored procedure represent different classes.
A relationship type defines a template to which stored relationships must conform. For example, you can define the type of relationship between a table and a column, a column and a data type, or a schema and a table. A relationship type defines a set of criteria that describe how two objects relate.
A property is a template to which stored property values must conform. For example, when you store an invoice total, you must store a currency value.
Standard Information Models
Microsoft® SQL Server™ 2000 Meta Data Services distributes an implementation of the Open Information Model (OIM) that provides standard meta data types that tools can use. The OIM is a generic set of information models that describe object modeling, database modeling, and component reuse.
You can extend the OIM by adding custom elements. For example, if you are creating an application that requires elements that are not included in the OIM, you can add those elements to complete your design. Although the OIM is not required, deploying an OIM-based strategy provides integration possibilities that are not otherwise achievable.
Importance of Information Models
In SQL Server 2000 and in other Microsoft products that integrate with Meta Data Services, OIM-based models are predefined, installed, and operational. No action is required on your part if all you want to do is use these services. However, if you want to build your own tools and applications that work with meta data types, or if you want to create or extend an information model, you will need to know all about information models.
Information models are the key to integrating Meta Data Services with other tools and technologies. For more information about how information models fit into Meta Data Services architecture, see Information Models.