Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Practically any application developed on the SimpleOne Platform involves information exchange between users, third-party systems and the application itself, as well as data processing. This means that the information is received by the application from the outside, is processed and stored within it and then consumed by the user and third-party services (systems). Therefore it is important to approach the design and preparation of the data structure that will be used to store and process information based on the business task an application is designed to perform.
Despite the fact that data and information are similar in meaning, there is a significant difference between them. Information is precise and structured data. In other words, before the data becomes information, they must be structured. To build a data structure a data model is used.
Data model
A data model is an abstract description of a data structure, which determines interrelations between the data, methods of their processing as well as how one item of data relates to another.
There are various data models, which differ in their approach to description of data organization. For example an hierarchy model describes the data as a tree structure, consisting of objects of different levels. In the SimpleOne system the relation data model is used, based on relations and operations with these relations. The main notions of the relation data model are relation, attribute, tuple and primary key. In the SimpleOne data structure these correspond to table (dictionary), column (field), table row (record), which has a unique identifier within the table.
Tables
The SimpleOne platform stores all its data and business logic settings of the configuration as records in specific tables.
A table is a set of values, using the model of columns and rows. An intersection of a column and a row is called a cell. A table contains a definite number of columns but can contain any number of rows. Each row is unambiguously identified by one or several unique values, taken by its cells from a 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 of all tables.
Columns
A column, also called a field, corresponds to a specific attribute of the information object. Each column has its own strictly determined data type, which is in turn supported and controlled by the platform.
Records
A record (a row in a relation table) is a set of logically related fields corresponding to a specific instance of an information object. Each record in the system has a unique identifier.
A record is the same as a row in the relation database. A record is first of all a totality of values of its attributes, determined by the table the record belongs to. In essence it is a single information object.
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 and 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: it is used to create attribute collections. See the Many-to-many Relations article to learn more.
Extending the Data Model
In cases when creating a data structure from scratch is not practical, the SimpleOne system allows to adapt previously prepared out-of-the-box data structures to the requirements of the business solution. Several methods can be used to do this, each of which has its uses, strength and weaknesses.
Version Control of Data Structure Changes
All changes of the data model, irrespective of its methods, are collected into configuration packs and applications
Практически любое приложение, разрабатываемое на платформе SimpleOne, предполагает информационный обмен между пользователями, сторонними системами и самим приложением и оперирование данными, т.е. информация поступает в приложение извне, потом обрабатывается и хранится в нем, затем потребляется пользователями и сторонними сервисами (системами). Поэтому важно взвешенно подходить к проектированию и подготовке структуры данных, которая будет использоваться для хранения и обработки информации, исходя из бизнес-задачи, которую должно решить приложение.
Несмотря на то, что данные и информация являются похожими по смыслу понятиями, между ними есть значительное различие. Информация это точные и систематизированные данные. Другими словами, прежде чем данные станут информацией, они должны приобрести структурированный вид. Для построения структуры данных используется та или иная модель данных.
Модель данных
Модель данных представляет собой абстрактное описание структуры данных, определяющее взаимосвязи между данными, методы работы с ними, а также то, как одни данные соотносятся с другими.
Существуют различные модели данных, различающиеся подходом к описанию организации данных. Например, иерархическая модель описывает данные в виде древовидной структуры, состоящей из объектов разных уровней. В системе SimpleOne используется реляционная модель данных, в основе которой лежат отношения и операции над этими отношениями. Основными понятиями реляционной модели данных являются отношение, атрибут, кортеж и первичный ключ. В структуре данных SimpleOne этим понятиям соответствуют таблица (или справочник), колонка (или поле), строка таблицы (или запись), имеющая уникальный идентификатор в рамках таблицы.
Таблицы
Платформа SimpleOne устроена так, что хранит все данные и настройки бизнес-логики конфигурации в виде записей определенных таблиц.
Таблица – это набор значений, использующий модель вертикальных столбцов и горизонтальных строк. Пересечение строки и столбца называется ячейкой. Таблица содержит определенное число столбцов, но может иметь любое количество строк. Каждая строка однозначно определяется одним или несколькими уникальными значениями, которые принимают её ячейки из определенного подмножества столбцов. Подмножество столбцов, которое уникально идентифицирует строку, называется идентификатором.
Кроме того, таблица в SimpleOne тоже по сути является записью в таблице таблиц.
Колонки
Колонка, также называемая полем, соответствует конкретному атрибуту информационного объекта. Каждая колонка имеет свой строго определенный тип данных, что в свою очередь поддерживается и контролируется платформой.
Записи
Запись (строка реляционной таблицы) представляет собой совокупность логически связанных полей, соответствующую конкретному экземпляру информационного объекта. Каждая запись в системе имеет уникальный идентификатор.
Запись тождественна строке реляционной базы данных. Запись – это прежде всего совокупность значений ее атрибутов, определяемых таблицей, к которой эта запись относится. И здесь уже можно увязаться к тому что это по сути единичный информационный объект.
Отношение "многие-ко-многим"
При построении структуры данных может возникнуть необходимость описать сложные связи между записями любых двух таблиц, при котором одна из записей в одной таблице может быть соотнесена с несколькими записями в другой таблице, и наоброт. Например, таблицы Пользователь и Группа могут содержать множество записей пользователей и групп соответственно. Пользователь может состоять более чем в одной группе, а группа может включать множество пользователей. В таком случае, эти две таблицы должны быть связаны с использованием отношения "многие-ко-многим". В системе SimpleOne такие отношения представлены в виде специальных таблиц, описывающих, как записи в двух таблицах связаны друг с другом. Такие таблицы используются и в расширенной модели данных: на их основе создаются коллекции атрибутов. Процесс создания таких таблиц описан в статье Отношение "многие-ко-многим".
Расширение модели данных
В случаях, когда создание структуры данных с нуля нецелесообразно, система SimpleOne позволяет приспособить под нужды бизнес-решения заранее подготовленные структуры данных, поставляемые с коробочным решением. Для этого доступны несколько способов, каждый из которых имеет свою область применения, достоинства и недостатки.
Версионный контроль изменений структуры данных
Все изменения модели данных, вне зависимости от способа, собираются в конфигурационные пакеты и приложения.
Table of Contents |
---|