Category: Publish an Application

The Original Internet Language

Defining Tables in Zim

When an EntitySet or data relationship is created, it is declared to be a table managed either by Zim or by an SQL server. This declaration is done by the field EntType in the data dictionary EntitySet EntitySets or, for data relationships only, in the field RelType in the data dictionary EntitySet Relationships. This flag…
Read more

Configuring the Date Mapping for SAMs

The date mapping when using two heterogeneous database management systems (for instance Zim and Oracle or Zim and DB2) is a feature that enables date values referenced in Zim to be mapped into date values referenced by the server and vice-versa. This date mapping enables non-standard Zim date values to be represented on the server,…
Read more

Migrating Applications to Client-Server

To migrate a Zim host based application into a client/server application using a SQL-based server, you must prepare the data properly to ensure that the migration is successful. Basically programs can stay as they are, but some fine-tuning is necessary for performance adjustments. The basic steps are outlined below. Model revision and adaptation The first…
Read more

Uniquely Identifying the Compiled Application

If there is to be more than one Zim application compiled against a given SQL server database, it is best to uniquely identify each application. Conflicts can occur between programs with the same name. An application can be flagged with an ID by including the following entry in the database configuration file (zimconfig.zim): SQL DATABASE…
Read more

Flagging Objects for the SQL Server

If the Zim application already exists, then some modifications to the data dictionary definitions for EntitySets and data relationships must be performed. Specifically, the field “EntType” in the data dictionary EntitySet “EntitySets” and/or the field “RelType” in the data dictionary entity set “Relationships” must be flagged as residing on the SQL server. These fields should…
Read more

SQL Views

EntitySets and data relationships in Zim can also be defined to map to SQL “views”. Again, the Zim field list need not include all columns of the view, nor need the field sequence correspond to that of the columns of the view. However, if the corresponding EntitySet or data relationship must be updated, then the…
Read more

SQL Table Subsets

The mapping between an SQL table and a Zim EntitySet or data relationship need not be complete with respect to the set of columns owned by the table. Zim retrieves only the columns required from an SQL table; it generates the minimal “select-column-list” to satisfy the requirements of the corresponding Zim command. The Zim Definition…
Read more

Naming Differences between Zim and SQL

Database systems, including Zim, have rules as to how objects such as database tables and columns (EntitySets and fields and Zim) are named. In Zim, object names must be 1 to 18 characters in length and start with an alphabetic character, an underscore (“_”), or dollar sign (“$”). If the name of a SQL table…
Read more

SQL Table “Owners”

Most SQL servers support the concept that each table is “owned” by a “user” or a “creator”. This enables multiple tables with the same name, but different owners, to be created. These servers also enable users to access tables owned by other users. When a user has some private information stored in database space owned…
Read more

Indexing Virtual Fields

In general, SQL servers support limited indexing capabilities. Indexes can be maintained on individual columns (multi-valued or unique) and also on the concatenation of two or more columns (multi-valued or unique). In Zim terms, an indexed virtual field that corresponds to an SQL concatenated index can be represented only by an expression of the form:…
Read more

en_CAEnglish