Structure of Zim Data Dictionary
Zim’s Object Dictionary is a repository of object descriptions. It is an integral part of your database application and it is unique in that it stores descriptions of database objects and all the other objects that comprise your application (e.g., entity sets, relationships, forms, windows, documents, etc.).
Each object type is stored separately from other types (e.g., entity set descriptions are stored separately from window descriptions, which are in turn stored separately from form descriptions, and so on).
The Object Dictionary is, itself, an entity-relationship database, just like the application databases that you will develop. Unlike an application database, however, the Object Dictionary is automatically created when you use the New Database (ZIMINIT) utility to initialize a new application database. In addition, you are provided with a number of pre-defined documents and other useful objects.
THE OBJECT DICTIONARY AS AN ENTITY-RELATIONSHIP DATABASE
Because the Object Dictionary is an entity-relationship database, it can be represented by an E-R diagram shown in Figure 1.1.
The Object Dictionary comprises a number of pre-defined entity sets (the boxes in the E-R diagram). Entity sets can be related to other entity sets via a relationship (the diamonds in the diagram).
The entity sets hold object definitions. When you define objects, records are added to the entity sets, describing the objects that you defined.
Figure 1.1: The E-R diagram for Zim’s Object Dictionary (the boxes denote entity sets; the diamonds denote relationships; role names are shown in parentheses).
The table below shows the correspondence between the objects that you define for your application and the Object Dictionary entity sets that contain the records describing those objects.
Object Type Name |
Dictionary Entity Sets |
Dictionary Role |
Constant |
Constants |
Consts |
|
DDDescriptions |
|
Directory |
Directories |
Dirs |
Display |
Displays |
Disps |
|
DisplayForms |
DFs |
Document |
Documents |
Docs |
|
Fields (*) |
Flds |
Help Error Messages |
EhErrHelp |
|
Entity Set |
EntitySets |
Ents |
Form |
Forms |
|
|
FormFields |
FFs |
Menu |
Menus |
|
|
FormFields |
FFs |
Relationship |
Relationships |
Rels |
|
Fields (*) |
Flds |
Role |
Roles |
|
Set |
NamedSets |
Sets |
User |
Users |
|
Variable |
Variables |
Vars |
Window |
Windows |
Wins |
(*) Used only if the document or the relationship has fields.