Select attributes for entities

To select attributes, determine which ones have the following qualities:
  • They are significant.

    Include only attributes that are useful to the database users.

  • They are direct, not derived.

    An attribute that can be derived from existing attributes (for instance, through an expression in a SELECT statement) should not be part of the model. Derived data complicates the maintenance of a database.

    At a later stage of the design, you can consider adding derived attributes to improve performance, but at this stage exclude them. For information about how to improve the performance of your database server, see your IBM® Informix® Performance Guide.

  • They are nondecomposable.

    An attribute can contain only single values, never lists or repeating groups. Composite values must be separated into individual attributes.

  • They contain data of the same type.

    For example, you would want to enter only date values in a birthday attribute, not names or telephone numbers.

The rules for how to define attributes are the same as those for how to define columns. For information about how to define columns, see Place constraints on columns.

The following attributes are added to the telephone directory example to produce the diagram that Figure 1 shows:
  • Street, city, state, and zip code are added to the address entity.
  • Birthdate, e-mail address, anniversary date, and children's first names are added to the name entity.
  • Type is added to the voice entity to distinguish car phones, home phones, and office phones. A voice number can be associated with only one voice type.
  • The hours that a fax machine is attended are added to the fax entity.
  • Whether a modem supports 9,600-, 14,400-, or 28,800-baud rates is added to the modem entity.