This Chapter explains the objects that you create to represent information of interest to you. The purpose of EXPRESS, and the information modeling process in general, centers on these declarations. The main object you declare is a schema. Within a schema you might declare constants, types, entities, functions, procedures and rules. Within those things are sub-objects such as attributes, local variables and parameters. The structure of EXPRESS source defines the scope of declarations. The statements Schema.. .End_Schema mark the boundaries for a group of declarations. In a like manner an entity or function declaration bounds the declarations made within them and so forth. This process of declaring things inside other things indicates the way one declaration ‘owns’ other things. In the case of an entity declaration, the attributes and local rules represent the properties that define it. So, an attribute is owned by a particular entity and also is a property of it. The rule is an exception to the way the structure of the source shows ownership and property definition. Rules are structurally subordinate to a schema, but they are logically subordinate to the entities to which they apply. Unlike an attribute that is owned by exactly one entity, a rule can be owned by more than one of them and conversely, a rule can be a property of several entities. This exception to an otherwise orderly correlation between the source structure and the way ownership and property definition is shown is a potential cause of confusion. Keep this special situation in mind as you build information models with EXPRESS. Exercise 11.1 Why do you think the authors of EXPRESS treated the rule differently? A schema declaration surrounds every other thing you declare. Therefore, SCHEMA YourSchemaName; END_SCHEMA; is the smallest possible EXPRESS legal source. Normally, however, a schema declaration contains declarations of constants, entities, functions, procedures, rules and types. A schema defines a collection of objects that have a related meaning and purpose. For example, geometry might be the name of a schema that collects declarations of points, curves, surfaces and other related objects. The order in which objects are declared is never relevant to the meaning of a schema as a whole or to the individual things declared in it.