A table is a method of data organizing that uses the model of vertical columns and horizontal rows. An intersection of a row and a column is called a cell. A table contains a definite number of columns but can have any number of records. Each row is unambiguously identified by one or several unique values, taken by its cells from a specific subset of columns. A subset of columns which uniquely identifies a row is called an identifier.

Furthermore, a table in the SimpleOne system is also, in essence, a record in the Table (sys_db_table) table.

Table properties

Table properties are used to configure tables and determine their relations with other tables. In terms of data structure, the following properties are important:

Relations between tables

The SimpleOne system supports the "one-to-many" and "many-to-many" relations between tables. 

"One-to-many" relation


This relation type is used when it is required to describe relations between two tables where a record in the first table can be related to multiple records in the second table but any record in the second table can be related to only one record in the first table. For example, a record in the User (user) table can be related to multiple records in the Incident (itsm_incident) table via the Assigned user field, but each Incident can be assigned to a single user only. The "one-to-many" relation is implemented in the system with the use of Reference type columns.

"Many-to-many" relation


When building the data structure it is sometimes required to describe complex relations between the records of any two tables, where a record in one table may be related to a number of records in the other, an vice versa. For example, the User (user) and Group (sys_group) tables can contain multiple records of users and groups respectively. A user can be in more than one group and a group can contain multiple users. In this case these two tables must be related using the many-to-many relation. In the SimpleOne system these relations are represented as separate tables describing the way the records in two tables are related to each other. These tables are used in the extended data model as well: they are used to create attribute collections.

Table Classification

This article how the tables are classified by their purpose and the type of stored data.