In this section, you will learn how the information in your application is structured.

When you use a database, you are not usually concerned with where each piece of data is stored, or what size it is. You just want to be sure that when you refer to a name, for example, the correct value is returned. This is why the C/SIDE database system provides a conceptual representation of data that does not include many details about how the data is stored. An abstract data model is used for this conceptual representation. This data model uses logical concepts (such as objects, their properties, and their relationships), which are much easier to understand.

This section distinguishes between the logical and the physical database. For this topic, the logical database is the structure of the data and the relationships between different pieces of information. There is no information about how these structures and relations are implemented. For the physical database, this topic describes how the structures in the logical database and the search paths between them are implemented. The term database means the logical database, unless indicated otherwise.

What the user sees as a coherent set of information in the C/SIDE database system can be stored in several physical disk files, but this is transparent to the user. The following illustration shows how one logical database can be physically stored on three hard disks but still comprise a single (logical) database.

The following illustration shows the logical database.

One logical database, many physical disk files

The Logical Structures in Your Database

Access to the data is made possible by a well-defined logical organization composed of the following.

Logical structure Description

Fields

Fields are the smallest logical structure in a C/SIDE database. A field holds a single piece of information, such as a name or an amount. A field can hold one specific type of information. (The C/SIDE database system distinguishes between 17 different types of information.) Fields are assembled into a structure called a record. On its own, a field is not very useful, as it can hold only a limited amount of information. Assembling these small bits of information into records produces a much more flexible "information-holder", which also groups fields that belong together.

Records

A record is a logical structure assembled from an arbitrary number of fields. A record stores a single entry in the database. The fields in a record store information about important properties of the entry. Records are organized in tables.

Tables

A table can be thought of as an N times M matrix. Each of the N rows describes a record and each of the M columns describes a field in the record. Tables are organized in companies.

Companies

A company is the largest logical structure in a C/SIDE database. A company is a sub-database; its primary use is to separate and group large portions of data together. A company can contain private tables as well as tables that are shared with other companies.

The following illustration shows logical structures.

database = largest; field = smallest structure