Relationships

A relationship is a data object that defines and establishes an association between entity sets.

A relationship may, in addition to expressing an association between entity sets, act as a repository for some portion of the data managed by the application. There are therefore two classes of relationships: those with fields (containing data) and those without.

Establishing a Relationship

Access the Zim IDE, select RELATIONSHIPS from the DataBases menu and use the Zim IDE Development tools to define the desired relationship.

Creation of Relationship step by step:

 

Zim IDE Features

General Features

✓ Local and remote application development;

✓ Multiuser application development;

✓ Design and edit forms and displays in both GUI and TUI applications;

✓ Design and edit graphical report templates (under development);

✓ Supports all Zim 7.12 and Zim 9.00 platforms (Windows, Linux, etc.);

✓ Connect to multiple databases simultaneously;

✓ Browse the entire data dictionary through the Tree View Tab Page.

Graphical User Interface Designer

✓ New user interface objects for Zim 9.00:

  ✓ Grid Control

  ✓ Tab Control and Tab Page, managed automatically by the client (does not require extra Zim code)

  ✓ Tool Strip

✓ New attributes for form fields:

  ✓ Anchoring

  ✓ Docking

✓ The Attributes Tab Page can be configured to be always visible;

✓ Create and edit multiple objects simultaneously;

✓ Modern tabbed development interface:

  ✓ Each Form, Display, Window, Menu, and Document stays open in its own tab page.

Document Editor

✓ Designed as an embedded specialized editor for Zim application programs and other documents;

✓ Syntax highlighting customized for the Zim language;

✓ Region expanding and contracting;

Database Viewer Tab Page

✓ Simultaneously browse every database currently connected to the development environment in a single tab page.

Audit Path

audit path path

where path is the disk directory path where temporary audit transaction files are placed. If this option is not set, this directory is created under the directory where the Zim product was installed.

The temporary transaction files keep track of ongoing transactions before being committed to the real Zim files. They are also used to automatically recover the databases being served by Zim Server in case of a previous crash.

Valid Settings

Any disk directory path.

Windows

audit

UNIX

audit

 

Creating New Objects

 

Creating User Interface Objects

User interface objects are created using the New Object dialog. There are two ways to open this dialogue:

✓ From the Main Menu

✓ From the Menu Toobar

✓ From the Database Tab Page

From the Main Menu

✓  Select File then click on New.

From the Menu Tool Bar

✓  Click on the New icon in the Menu Tool Bar:

From the Database Tab Page

✓ Right-click on the type of object to be created and click on New:

✓ The New Object dialog will pop up.

The New Object Dialog

✓ If you are connected to multiple databases, make sure you select the correct database to which you want to add this new Zim object.

✓ Select the type of object that you wish to create.

✓ On the right side panel name the object you are creating, and select/define the dimensions if applicable.

✓ Click on the “OK” button to create the object.

Creating Database Objects

✓ From the “Database” tab, navigate to the type  of object you wish to create, right click on the object, and select “New” from the right click menu.

✓ The default attributes of the newly-created database object will appear in the GUI Designer page tab ins, since such objects have no visual attributes.

✓ If necessary, Modify the default attributes of the Database object created

Zim IDE Release Notes

Status of Zim IDE Components:

Beta
Beta
Beta
Under development

Known Issues:

✓ The following user interface objects are functional in Zim IDE, but are still being fine-tuned for Zim Thin Client and Zim QT:

  ✓ Grid Control

  ✓ Tool Strip

✓ The following attributes are functional in Zim IDE, but are still not fully supported by Zim Thin Client and Zim QT:

  ✓ Anchoring

  ✓ Docking

✓ Note: Forms can be created and saved with these user interface objects and form fields can be configured with these attributes, but they will not be usable until Zim Thin Client, Zim QT and the Zim language itself become capable of supporting them;

✓ The Application Generator is not supported in Zim IDE.

Zim 7.12 Limitations with Zim IDE:

✓ The Zim 7.12 runtimes do not support the new user interface objects available in Zim IDE;

✓ Forms and Displays can be designed using the same objects and features that were available in Zim Painter;

✓ The new user interface objects and attributes available in Zim IDE are only supported by Zim Thin Client and Zim QT (both are only available with Zim 9.00).

Introduction to Zim IDE

What is Zim IDE ?

The Zim Integrated Development Environment (Zim IDE) is a full-featured development environment to build graphical user interfaces (GUIs) for Zim database applications.

Zim IDE combines and extends the functionality of three separate development components for Zim applications:

Zim Painter

Zim Development Center

Data Dictionary Browser

ZIM is committed to the continuous development and improvement of Zim IDE and the Zim language.

As such, there will always be new features and improvements in  Zim IDE as we continue to develop and enhance its functionality.

Contents of this ZimIDE guide

This guide contains the following sections:

A brief description of the key features and functionality of Zim IDE.
The requirements to install and run Zim IDE on different operating systems.
The initialization steps required to start the first Zim IDE session after installation.
A description of the different components of Zim IDE.
A detailed description of all database objects and user interface components available in Zim IDE for the development of GUI-based Zim database applications.
An introduction to the available operations to create and edit windows, menus, displays, forms and form fields.

Maximum File Locks

maximum file locks locks

The number locks indicates how many locks a Zim file can accept before scalating to a file lock. This saves time and memory to manage global locks for all users because all locks applied to that file will be released and a single for the entire file will be then applied.

The higher this number of locks, the bigger the level of concurrency between users, but it can consume more rapidly the global number of locks.

Valid Settings

A number from 0 to 10,000.

Windows

200

UNIX

200

Backup Path

backup path path

The path is a directory path where compacted transaction log files are stored in order to be used by Zim Backup Server. These files correspond to committed transactions from all databases being served by Zim Server and can be placed anywhere in the network so that they are saved in case of a disk crash.

If this configuration option is not present, Zim Server does not write compacted transaction log files for future or immediate use by Zim Backup Server.

Valid Settings

Any directory path.

Windows

None is set

UNIX

None is set

 

 

Datablock Timeout

This option is not used by Zim Server and might be removed in future releases.

datablock timeout milliseconds

The time milliseconds indicates how long a buffer is going to stay in memory before Zim Server can use it to make additional room for new buffers being read.

When a Zim session make a request to Zim Server to read a particular block of data, depending on the configuration option Blocks Per Read, more than one block can be read and stored in memory buffers, all in the same operation because a physical read operation brings more than one block at a time.

If, sometime later, these additional buffers are required for subsequent operations, these blocks will be found in memory thus saving physical read operations. However, because they can take space from useful blocks, they are marked to expire in the next milliseconds set by this configuration option.

This very same mechanism happens when a transaction is either committed or aborted. In these cases, if a particular buffer is no longer used after the commit or the abort, then the corresponding buffer is also marked to expire as above.

The smaller the number of milliseconds, the faster a buffer can be released from memory in case of need. This is particularly interesting for very active applications or for small number of Maximum Data Blocks.

Valid Settings

Range between 0 to 60.

Windows5
UNIX5

 

Files Per Transaction

files per transaction files

This configuration option manages the number of files that a single transaction can handle within its scope. The parameter files actually indicates how many entity sets and relationships with fields can be processed in the same Zim command for implicit transactions or for all commands within the boundaries of a TRANSACTION and ENDTRANSACTION/QUITTRANSACTION commands.

If using roles defined over either an entity set or a relationship with fields, the roles and their corresponding real objects are counted only once.

Valid Settings

Range between 5 to 100.

Windows

20

UNIX

20

pt_BRPortuguese