Что такое набор данных?
ProDataSet, далее «набор данных», представляет собой единый бизнес-объект в памяти, который состоит из временных таблиц. Набор данных также может определять отношения между этими таблицами. Изменения данных в наборе данных могут быть сохранены обратно в источник данных. Набор данных обеспечивает сопоставление между набором таблиц базы данных или другими источниками данных и их представлением в памяти.
Раздельное определение данных и доступ к данным
Наборы данных определяются независимо от структуры исходных данных. Поэтому наборы данных обеспечивают удобный, мощный и последовательный способ разделения доступа к данным от специфики базового определения данных или механизма доступа к данным.
Совместное использование наборов данных
Наборы данных могут быть использованы:
- для передачи данных от одной процедуры к другой или между сессиями как единый объект с использованием одного параметра;
- для обмена данными с другими приложениями через стандартные форматы, такие как JSON.
Маршалинг набора данных
Совместное использование наборов данных между процессами с помощью REST, .NET или других открытых технологий, называется «маршалинг набора данных». Маршалинг (от англ. marshal – упорядочивать) в информатике – это процесс преобразования информации (данных, двоичного представления объекта), хранящейся в оперативной памяти, в формат, пригодный для хранения или передачи. Обычно применяется тогда, когда информацию (данные, объекты) необходимо передавать между различными частями одной программы или от одной программы к другой.
Элементы набора данных
Набор данных состоит из ABL-элементов, включая временные таблицы, отношения данных, источники данных и события – такое уникальное сочетание элементов и обеспечивает мощность и гибкость набору данных.
Следующая таблица содержит названия элементов набора данных и их описание:
Элемент набора данных | Описание |
Временная таблица | Временные таблицы служат основой для набора данных. Набор данных представляет собой коллекцию или инкапсуляцию из одной или нескольких временных таблиц. |
Отношения данных | Отношения данных указывают, каким образом временные таблицы связаны между собой. Эта информация также инкапсулируется в наборе данных. |
Источники данных | Источники данных определяют местоположение данных, используемых для заполнения набора данных, и позволяют сопоставлять источник и набор данных. Источники данных также могут использоваться для указания, где сохраняются любые обновления данных. |
События | Жизненный цикл набора данных вызывает некоторые специфические события в заданных точках обработки. Эти события могут запускать поведение по умолчанию или могут быть обработаны вашим программным кодом внутри приложения. |
Преимущества набора данных
До появления наборов данных разработчики должны были вручную писать программный код множества автоматических функций, которые имеются в наборах данных. Сама структура набора данных автоматизирует и инкапсулирует большую часть «ручного» программирования в более ранних версиях. Кроме того, наборы данных позволяют использовать функции, которые трудно реализовать с использованием традиционных методов.
Дополнительно наборы данных обеспечивают:
- определение логических структур данных отдельно от исходных данных;
- определение взаимосвязей между множеством структур;
- настройку заполнения данных для клиента;
- захват изменений, выполненных на клиенте;
- обновление источников данных с использованием встроенной оптимистической блокировки;
- обновление данных на клиенте на основе автоматических изменений на сервере;
- упрощение управлением сложными транзакциями;
- исполнение кода приложения на основе событий набора данных;
- передачу в качестве одного параметра в другие процедуры на ABL;
- передачу в/из REST, .NET или другие открытые технологии с помощью JSON или XML.