Skip to content

Concepts

Alexis ROLLAND edited this page May 5, 2019 · 16 revisions

Data Model

Concepts

Lists

Lists are entities for which you want to manage values. When creating a list, a new table is automatically created in the database under the public schema.

Table: sys_list

Attribute Type Description
id Integer Unique identifier of the list, used as a primary key.
name Text Name of the list, must be unique.
description Text Description of the list.
table_name Text Name used to create the actual table which contains values for this list. It is generated based on the name column but spaces are replaced by underscore (_) and text is lower cased.
created_date Timestamp Record created date.
updated_date Timestamp Record last updated date.
created_by_id Integer Foreign key of the user table, to indicate which user created the record.
updated_by_id Integer Foreign key of the user table, to indicate which user updated the record.
user_group_id Integer Foreign key of the user_group table, to indicate to which user group the record belongs to.

Attributes

Attributes describe the values of a list. When creating an attribute, a new column is automatically created in the corresponding list table.

Table: sys_attribute

Attribute Type Description
id Integer Unique identifier of the attribute, used as a primary key.
name Text Name of the attribute, must be unique.
description Text Description of the attribute.
column_name Text Name used to create the actual table column which contains values for this attribute. It is generated based on the name column but spaces are replaced by underscore (_) and text is lower cased.
flag_unique Boolean Flag to indicate if values stored in this attribute should be unique in the list.
flag_mandatory Boolean Flag to indicate if attribute is mandatory when creating a new value in the list.
default_value Text Default value to use for this attribute when creating a new value in the list.
created_date Timestamp Record created date.
updated_date Timestamp Record last updated date.
created_by_id Integer Foreign key of the user table, to indicate which user created the record.
updated_by_id Integer Foreign key of the user table, to indicate which user updated the record.
user_group_id Integer Foreign key of the user_group table, to indicate to which user group the record belongs to.
list_id Integer Foreign key of the sys_list table, to indicate to which list the attribute belongs to.
data_type_id Integer Foreign key of the sys_data_type table, to indicate which data type should be the column created in the list table.
linked_attribute_id Integer Foreign key of the sys_attribute table, when attribute is a link to another list of values, this column is used to indicate which attribute of the linked list should be used to select the value.

Data Types

Data types are used to specify which type should be the attribute of a list, such as text, integer, boolean, etc... Data types values are the ones supported by PostgreSQL database.

Table: sys_data_type

Attribute Type Description
id Integer Unique identifier of the data type, used as a primary key.
name Text Name of the data type according to the data types supported in PostgreSQL.
created_date Timestamp Record created date.
updated_date Timestamp Record last updated date.
created_by_id Integer Foreign key of the user table, to indicate which user created the record.
updated_by_id Integer Foreign key of the user table, to indicate which user updated the record.
user_group_id Integer Foreign key of the user_group table, to indicate to which user group the record belongs to.

List of Data Types

id name
1 bigint
2 boolean
3 char
4 date
5 decimal
6 integer
7 real
8 smallint
9 text
10 timestamp
11 varchar