You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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:

  • Name – a system name of a table used in the business logic. Table names follow specific rules.
  • Is extendable – determines whether a child table can be created from the table.
  • Parent – the property of child tables that determines from which table it inherits its columns and business logic.
  • Is VCS enabled – determines whether the table is processed by the version control system.

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.

  • No labels