Relationships

Defines a unique name for a conditional association between EntitySets.

RelName

The name of the relationship.

RelCondition

A conditional expression that defines the relationship. For example

Employees.DeptNum = Departments.DeptNum

defines a relationship between employees (in EntitySet Employees) and their departments (in EntitySet Departments) using a common department number (DeptNum).

RelType

Defines the location of the relationship. If RelType is "ZIM" or blank then the relationship is under Zim's control. If the RelType is the name of a Server Access Module (SAM) and the relationship contains fields, then the relationship is under control of a database server.

AvgSize

The estimated number of records in the relationship. If you enter 0 or leave this field blank, Zim uses its internal default value.

DirName

The name of the Zim directory in which the relationship is created. If DirName is left blank, the relationship can be created in any Zim directory.

RemoteName

The name of the database table on the database server, if different than the relationship name. RemoteName is normally used when there is a naming incompatibility between Zim and the database server.

RemoteOwnerName

The name of the owner of the database table on the database server if the table is not owned by the user or included in his or her schema.

Notes:

To establish a relationship, use this procedure:

  1. For each relationship that you require, add to the Relationships EntitySet an entry containing appropriate information in each of the above fields.
  2. For each relationship with fields, add one or more entries containing information about the fields in the relationship to the Fields EntitySet. Ensure that the DirName in the Fields entries is the same as the DirName in the Relationships entry.
  3. When you are satisfied with the entry in Relationships and the entries in Fields, use the CREATE command to create the relationship:

>create relationship relname [in dirname]

The attributes EntType, RemoteName, and RemoteOwnerName of an existing relationship can be modified with a "set" command instead of an "erase" command followed by a "create". For more information, refer to the Zim Commands topics.

Note: A relationship can, in addition to expressing an association between other Zim objects, possess fields of its own. There are therefore two classes of relationships: those with fields and those without.