Introduction to Tables

The class plays a central role within Data Access since it serves two fundamental purposes:

  • Modelling

Tables are used as a structuring tool for user interface intensive applications. Before tables, user interfaces were designed as a set of unrelated entry fields and the relationship between these fields and the application data was coded in a programming language. Now, the data model of the application can be graphically defined in terms of tables, with gadgets in the panels being connected to table columns.

  • Connectivity

Data can be seamlessly exchanged with external data stores using specialized subclasses of the IliTable class. For instance, the IliSQLTable class is dedicated to data exchange with a relational database system.

Note

In database terminology, the term “table” designates a data structure that is stored in and managed by a database system. From the graphical user interface point of view, the term “table” designates a graphic object (or gadget). In this document, the terms “database table” and “table gadget” are used to refer to these two different table types. The term “table” or “table object” will be used to designate an instance of a subclass of the IliTable class.

A table is implemented by the IliTable class in Data Access. This class is an abstract class that defines objects capable of managing a collection of rows. Each table has a schema that is defined by the IliSchema class, from which the IliTable class inherits. The rows that a table manages must conform to its schema.

As explained in Data Access Basics, the IliTable class defines an interface for managing rows in a table but it does not provide any useful implementation for this interface. Instead, Data Access provides a set of subclasses of the IliTable class that implement this interface with a specific storage policy.

The IliTable class defines a protocol for creating, editing, and inspecting a table object, and is designed to be subclassed. The subclasses of IliTable (that is, , , , and ) implement this protocol for the different types of data sources with which they are associated.

The IliSchema Hierarchy