Эффективная разработка приложений баз данных для непрофессионалов, без знания языков программирования. За несколько дней можно освоить программирование в SDP и создавать собственные приложения. Это так же легко как освоить работу в Excel.
Система диалогового программирования SDP это система управления древовидными базами данных, на основе которой можно создавать любые приложения баз данных. Отличительной особенностью SDP есть самоорганизующиеся данные.
Самоорганизующиеся данные самостоятельно поддерживают свою целостную структуру, когда изменение одного данного приводит к изменению связанных с ним данных, а те в свою очередь связанных с ними, и так до того момента, когда структура данных будет снова корректна.
Сразу у многих возникает аналогия с электронными таблицами типа Excel, там тоже, изменение одних данных, вызывает изменение других. Да, некоторая аналогия с таблицами есть, но есть и много отличий. В таблице ячейка может использовать данные из других ячеек, но не может заполнять данные из этой ячейки в другую. В таблице есть путь использования предыдущих данных, но нет пути создания других данных, на основе имеющихся. Скажем проще, SDP работает наоборот таблицам, одни данные создают новые.
Приведем пример из бухгалтерии, появление оборотов по некоторому счету, автоматически создаст или отредактирует сальдо на конец этого месяца по этому счету. А изменение сальдо на конец месяца изменит сальдо на начало следующего месяца и так до того момента пока опять не будет достигнут баланс по всем счетам.
Для обеспечения этой возможности, пришлось отказаться от реляционной структуры баз данных, и перейти к древовидным базам данных.
В древовидной базе данных, адрес ячейки, имеет не два элемента адреса, как в реляционной, а переменное количество (далее уровней адреса). Как аналогию, можно привести международный телефонный номер. Он может содержать разное количество цифр в номере, в зависимости от страны и населенного пункта, но тем не менее, однозначно определять необходимого абонента.
Древовидная база данных это как дерево, у которого листья это данные, а путь от корня к листу — адрес этого данного. Переход от одной ветки к следующей — это уровень этого адреса.
В древовидной базе данных, данные, относящиеся к одному элементу, структурированы в одну веточку и расположены недалеко друг от друга. Например, документ, имеющий многоуровневую структуру, будет занимать отдельную веточку в общей базе данных. И для работы с конкретным документом, достаточно знать адрес его веточки. Адрес всех данных этого документа начинается с адреса его веточки. Поэтому для работы окна с конкретным документом, ему нужно передать в параметрах адрес веточки необходимого документа. Для добавления нового документа нужно просто получить адрес новой веточки и работать, как и с другими документами такой же структуры.
Древовидные базы данных кроме обеспечения работы самоорганизующихся данных, также облегчают работу окон создаваемых приложений. Все данные уже подготовлены и отсортированы как надо и окна просто отображают их. Поэтому все программирование окон сводится к выбору необходимых органов управления окна и указания адресов отображаемых данных и создания небольших программ в несколько операций для реакций на действия пользователя. Все остальное берет на себя SDP.
Самоорганизующиеся данные
В системе SDP есть два основных вида данных:
Обычные данные, при изменении которых ничего больше не происходит. Эти данные так же используются в SDP, но как вспомогательные. При помощи них заполнены параметры окон, пакетные программы, меню и др.
Самоорганизующиеся данные, при изменении которых происходит изменение взаимосвязанных с ним данных.
Это и есть данные, которые заполняются во время работы приложений.
Каждое данное SDP, которое используется в самоорганизующихся данных, имеет номер описания данного. И должно изменяться только специальной командой «Записать данное по номеру описания данного»
Иначе просто произойдет запись данного по указанному адресу, без дальнейщей разноски.
Для каждого номера описания данное есть ряд свойств, определяющих необходимые действия при изменении этого данного.
Основные два свойства:
список номеров описаний данных, в которые необходимо разнести изменения, произошедшие с этим данным;
принадлежность данного к точкам разноски (определенной структуре данных).
Таким образом, при изменении самоорганизующегося данного, система получает по номеру описания данного, дополнительную информацию об использовании этого данного в общей структуре данных и начинает выполнять дальнейшие изменения.
Кроме использования данного в разноске в другие номера описаний данных, данное может принадлежать к точке разноски.
Точка разноски — это некоторая структура данных, со своим номером, и так же имеющая ряд свойств. Одним из свойств точки разноски есть номер программы, которая запускается при изменении данного принадлежащего точке разноски. Так осуществляется автоматическое вычисление вычисляемых данных. Из приведенного выше примера, изменение оборотов по счету, вызывает запуск программы пересчета точки разноски. А эта программа по текущему счету берет сальдо на начало месяца и обороты за месяц и на основе их вычисляет сальдо на конец. Таким образом, любое изменение сальдо на начало или оборотов будет вызывать изменение сальдо на конец и т. д.
В SDP реализован принцип описательного программирования, при помощи заполнения параметров описаний данных и точек разноски описывается общая структура данных. После чего можно специальными командами менять или добавлять необходимые данные. Поддержание целостности структуры при этом происходит автоматически и не требует никакого программирования. Причем это относится как к добавлению новых данных, так и к корректировке ранее введенных и к их удалению.
Итак, самоорганизующиеся данные древовидных баз данных выполняют основную работу по созданию приложений баз данных в SDP. Но тем не менее, небольшие программки все же приходится создавать. Хотя бы для вычисления вычисляемых данных. Как упоминалось выше для создания данных программ не нужно знание языков программирования или других знаний в программировании. Для этого используются специальное окно редактирования программы, в котором программа создается путем выбора необходимых команд из списка. К каждой команде отображаются комментарии каждого параметра и можно посмотреть справку по использованию команды. Обычно такие программки содержат не более 10–20 команд. Нажали кнопку сохранить и уже программа может быть использована в работе окна или меню. Так что, и этот этап не очень сложен в освоении.
Небольшую сложность может вызывать создание структуры древовидных баз данных, но это уже нарабатывается с опытом. Кроме того, структуры баз можно менять во время работы приложения, в пределах добавления новых данных в веточки.
В последнюю версию SDP добавлена еще реализация работы узлового алгоритма, для создания более сложных программ.
Узловой алгоритм (УА) — это вариант создания программ, в которые легко вносить изменения и которые потом легко будут сочетаться с ИБЗ, это и будет исполнительный механизм при создании ИИ узловой модели. О создании ИИ узловой модели читай мою статью «Узловая модель искусственного интеллекта и ее сравнение с нейронными сетями» размещенную тут же.
Основой УА является «исполнительный узел». Исполнительный узел — выполняет роль отдельной команды.
Упрощенно, работу исполнительных узлов данной модели, можно представить как процессор, работающий по следующей схеме.
Подготовить входные параметры узла
Выполнить действие текущего узла
Записать выходные параметры узла
Получить код результата
По коду результата определить следующий текущий узел
Перейти к выполнению 1 пункта
Разберем каждый из этих пунктов подробнее.
Каждый исполняемый узел содержит в своей структуре указание на действие, которое необходимо выполнить, если данный узел стал текущим. Под действием узла может пониматься и небольшая функция, выполняющая элементарное вычисление, например сложение данных, а так же действием узла может являться дочерний анализ, который в своей работе использует несколько узлов и даже несколько уровней дочерних анализов.
Каждый исполняемый узел может содержать адрес, откуда нужно получить код результата выполнения действия. Если этот адрес не указан, то используется адрес по умолчанию, где находится код результата.
Так же каждый исполняемый узел имеет таблицу, в которой находится информация о том, к какому узлу перейти при разных кодах результата выполнения действия узла. Если для данного кода результата нет номера узла, куда необходимо перейти, то происходит переход к первому в таблице, как переход по умолчанию.
Если вообще нет в таблице переходов ни одного кода результата, то происходит переход к текущему узлу на более высоком уровне вложенности, т. е. своеобразный возврат из подпрограммы.
SDP распространяется с демонстрационным примером и заполненными данными для данного примера. При изучении которого можно детально освоить SDP.
В качестве демонстрационного примера является полностью работоспособная бухгалтерская программа.
Ссылку для скачивания SDP можно получить на странице Facebook посвященной данной программе «Система диалогового программирования SDP».
Бобров Александр