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.
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”
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