Любое приложение, разрабатываемое на платформе SimpleOne, предполагает информационный обмен и оперирование данными, т.е. информация поступает в приложение извне, потом обрабатывается и хранится в нем, затем потребляется пользователями. Поэтому важно взвешенно подходить к подготовке структуры данных, по которой будет распределяться информация, исходя из бизнес-задачи, которую должно решить приложение.
Несмотря на то, что данные и информация являются похожими по смыслу понятиями, между ними есть значительное различие. Информация это точные и систематизированные данные. Другими словами, прежде чем данные станут информацией, они должны приобрести структурированный вид. Для построения структуры данных используется та или иная модель данных.
Модель данных
Модель данных представляет собой абстрактное описание структуры данных, определяющее взаимосвязи между данными, методы работы с ними, а также то, как одни данные соотносятся с другими.
Существуют различные модели данных, различающиеся подходом к описанию организации данных. Например, иерархическая модель описывает данные в виде древовидной структуры, состоящей из объектов разных уровней. В системе SimpleOne используется реляционная модель данных, в основе которой лежат отношения и операции над этими отношениями. Основными понятиями реляционной модели данных являются отношение, атрибут, кортеж и первичный ключ. В структуре данных SimpleOne этим понятиям соответствуют таблица (или справочник), колонка (или поле), строка таблицы (или запись) и уникальный идентификатор.
Таблицы
На низшем уровне, SimpleOne хранит данные и настройки бизнес-логики в таблицах.
Основными структурными элементами таблицы являются колонка и запись.
Колонки
Колонка, также называемая полем, соответствует конкретному атрибуту информационного объекта. Все элементы в одной колонке относятся к одному типу.
Записи
Запись (строка реляционной таблицы) представляет собой совокупность логически связанных полей, соответствующую конкретному экземпляру информационного объекта. Каждая запись в системе имеет уникальный идентификатор.
Отношение "многие-ко-многим"
При построении структуры данных может возникнуть необходимость описать сложные связи между записями любых двух таблиц, при котором одна из записей в одной таблице может быть соотнесена с несколькими записями в другой таблице, и наоброт. Например, таблицы Пользователь и Группа могут содержать множество записей пользователей и групп соответственно. Пользователь может состоять более чем в одной группе, а группа может включать множество пользователей. В таком случае, эти две таблицы должны быть связаны с использованием отношения "многие-ко-многим". В системе SimpleOne такие отношения представлены в виде специальных таблиц, описывающих, как записи в двух таблицах связаны друг с другом. Такие таблицы используются и в расширенной модели данных: на их основе создаются коллекции атрибутов. Процесс создания таких таблиц описан в статье Отношение "многие-ко-многим".
Расширение модели данных
В случаях, когда создание структуры данных с нуля нецелесообразно, система SimpleOne позволяет приспособить под нужды бизнес-решения заранее подготовленные структуры данных, поставляемые с коробочным решением. Для этого доступны несколько способов, каждый из которых имеет свою область применения, достоинства и недостатки.
Конфигурационные пакеты
Все изменения модели данных, вне зависимости от способа, собираются в конфигурационные пакеты.