Возможно все, на невозможное просто требуется больше времени.

Дэн Браун

Область применения

Интегрированная среда разработки (IDE) My Visual Database (MVDB) предназначена для создания настольных переносимых приложений, работающих под управлением операционной системы Windows. Главное преимущество MVDB – оптимизация процесса создания приложений для работы с базами данных (БД). Наличие конструктора баз данных облегчает создания структуры базы. Дизайнер форм позволяет быстро создавать дружественный интерфейс, используя палитру компонент. Встроенная система построения отчётов FastReport обеспечивает возможность создания качественных отчетов с возможностью экспорта в популярные форматы. А возможность написания скриптов обеспечивает возможность расширения функционала за счёт добавления улучшенной логики и использования компонент Delphi XE3.

Областью применения MVDB является автоматизация бизнес-процессов, таких как

  • бухгалтерский и управленческий учёт;
  • складской учёт;
  • кадровый учет;
  • планирование и организация производства;
  • управление клиентами (CRM-системы). 

Также MVDB можно успешно применять для создания систем сбора и хранения данных: 

  • электронные библиотеки и каталоги;
  • справочно-информационные системы;
  • экспертные системы;
  • системы тестирования.

Это возможно благодаря наличию компонентов, оптимизированных для создания приложений перечисленных классов. 

Для создания приложений с расширенной функциональностью или нестандартным интерфейсом пользователя в MVDB имеется поддержка скриптов, с помощью которых можно создавать различные low-code приложения, в том числе работающие с мультимедийной информацией, графикой, файлами операционной системы и т.д. Но вы должны помнить об ограничениях: относительно небольшой набор процедур и функций, фиксированный состав компонентов. 

Используемые СУБД

СУБДОписание
SQLiteКомпактная встраиваемая СУБД. SQLite хранит всю базу данных в единственном файле, либо локальном, либо доступном по сети на уровне ОС. Возможно одновременное чтение данных несколькими приложениями. Запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается.
MySQLСистема управления базами данных MySQL является решением для малых и средних приложений. MySQL используется в качестве сервера, к которому обращаются клиенты по локальной сети или через интернет.

Однопользовательские и многопользовательские приложения

Для решения простых задач используются однопользовательские приложения, которые предполагают, что с программой работает один человек. Но, если необходимо организовать работу нескольких пользователей, в том числе их одновременную работу, то потребуется предпринять дополнительные меры для обеспечения многопользовательской работы.

MVDB поддерживает управление пользователями и правами, в том числе при создании non-code приложений.

Хранимые данные

В MVDB используется внутренний тип данных, которому соответствуют аналогичные типы данных в используемых СУБД, что позволяет довольно быстро переключать проект на другую СУБД,

Тип данных MVDBТип данных СУБДКомментарий
ТЕКСТTEXTСтрока без ограничения длины.
ЦЕЛОЕ ЧИСЛОINTEGERЦелое число в диапазоне от -263 .. 263-1 
ВЕЩЕСТВ. ЧИСЛОREALЧисло с плавающей точкой; 15-16 значащих цифр, диапазон порядка -324 .. 308
ДЕНЬГИREALВещественное число с дополнительной настройкой формата отображения
ДА/НЕТINTEGERЛогическое значение  Хранятся два числовых значения: 1 – да (истина)  0 – нет (ложь)
ДАТА/ВРЕМЯTEXTДата хранится в виде строки формата YYYY-MM-DD HH:MM:SS.SSS<год>-<месяц>-<день> <часы>:<минуты>:<секунды>.<миллисекунды>
ДАТАTEXTХранится как дата/время, отображается и редактируется только дата
ВРЕМЯTEXTХранится как дата/время, отображается и редактируется только время
ИЗОБРАЖЕНИЕBLOB+TEXTСоздаётся два поля. Можно хранить изображение двумя способами:  внутри базы или ссылку на файл на диске. 
ФАЙЛBLOB+TEXTСоздаётся два поля. Можно хранить файл в самой базе или сохранять ссылку на файл или папку на диске.
СчетчикINTEGERЦелое число, автоматически увеличивается при добавлении новой записи.
Вычисляемое полеНе хранится в базе. Используется механизмами MVDB для извлечения данных при построении запросов к БД.
СвязьINTEGERОбеспечивает реляционные отношения между таблицами.

☝ Имеется специальный тип данных – NULL, который обозначает, что данные в поле отсутствуют. Обратите внимание, что NULL – это не ноль или пустая строка, это – специальное значение, любые операции с котором дают в результате NULL. Это похоже на “чёрную дыру”, которая способна поглотить любые данные.

📝 Хотя SQLite может хранить целочисленные значения длиной до 8 байт, для хранения целых чисел в MVD используется 4 байтный тип целого, что уменьшает диапазон до -231 .. 231-1  

Структура хранения данных

База данных — набор связанных между собой таблиц c данными.

Таблица — это совокупность связанных данных, хранящихся в структурированном виде в базе данных. Таблица состоит из вертикальных столбцов (колонок), имеющих уникальное имя и горизонтальных строк (записей). Таблица имеет название. 

Столбец также называют полем таблицы. В каждом поле можно хранить данные определенного типа. Каждое поле имеет название.

Строка также называется записью. Каждая строка однозначно определяется одним или несколькими уникальными значениями, которые принимают её ячейки из определенного подмножества столбцов.

Подмножество столбцов, которое уникально идентифицирует строку, называется первичным ключом.

Ячейка — место, где строка и столбец пересекаются. В ячейке хранится значение поля для выбранной записи.

Таблица содержит определенное число столбцов, но может иметь любое количество строк.

📝 Все данные выше определения относятся к реляционным базам данных, которые используются в MVDB. В каждой таблице MVDB автоматически создаёт целочисленное поле c именем “ID” для хранения первичного ключа – уникального цифрового идентификатора, однозначно определяющего запись в таблице. 

Способы ввода и отображения данных

Данные в программу могут попадать из различных источников: вводиться пользователем с помощью клавиатуры, загружаться из файлов, загружаться с сайтов, поступать от различных устройств, подключённых к компьютеру.

Данные отображаются пользователю с помощью визуальных компонентов. Компоненты подключаются к базе данных. Логика работы компонент MVDB оптимизирована для решения стандартных задач обработки данных, требуется только правильная настройка свойств компонентов.

📝 Для изменения логики работы компонентов используют скрипты управления, которые позволяют создавать low-code приложения.

Обзор компонентов

Класс — это шаблон для создания объектов, обеспечивающий начальные значения состояний: инициализация полей-переменных и реализация поведения функций или методов. 

Согласно традиции, имена классов начинаются с заглавной буквы T.

Компонент — независимый модуль исходного кода программы, предназначенного для повторного использования. Компонент выполняет определенную задачу, например может служить для отображения или ввода данных.  Компоненты реализуются через классы.

Визуальный компонент является основой non-code технологии программирования, используется для создания приложения методом перетягивания компонентов из палитры на форму с дальнейшей настройкой свойств компонента.

КомпонентКлассОписание
ФормаTAFormОсновной элемент интерфейса ОС Windows; контейнер для других элементов
ТаблицаTdbStringGridExОтображение данных в виде таблицы. Основной компонент для отображения содержимого таблиц базы данных. Можно использовать для ввода данных.
ДеревоTdbTreeViewОтображение данных в виде иерархического списка.
Кнопка TdbButtonВыполнение различных действий: поиск данных, открытие окна, сохранение данных и т.д.
Метка TdbLabelОтображение статической текстовой информации
Поле вводаTdbEditВвод и отображение текстовой информации
Многострочное поле вводаTdbMemoВвод и отображение текстовой информации большого объёма.
Расширенный редактор текстаTdbRichEditВвод и отображение текстовой информации с применением форматирования: цвет, стиль, размер и тип шрифта и т.д.
Выпадающий списокTdbComboBoxВыбор одного значения из выпадающего списка. Используется для ввода данных из справочника.
Чекер TdbCheckBoxВыбор и отображение одного логического значения (Да/Нет)
Поле ввода даты/времениTdbDateTimePickerВыбор и отображение даты и/или времени
Календарь TdbMonthCalendarВыбор и отображение даты с помощью календаря.
Счётчик TdbEditCountОтображение данных счётчика. При создании новой записи значение счётчика автоматически увеличивается на единицу.
Панель TdbPanelКонтейнер для других элементов
Группа TdbGroupBoxКонтейнер для других элементов; отображается с рамкой и названием группы
Многостраничный контейнерTdbPageControlКонтейнер для других элементов; состоит из нескольких страниц с закладками, имеющими заголовок.
Картинка TdbImageСтатическое изображение. 
КартаTdbMapКомпонент для использования сервиса Google Map; отображение карты и отметок на ней
Сохраняемая картинкаTdbImageDatabaseВвод (загрузка из файла) и отображение графической информации (изображения)
Сохраняемый файлTdbFileToDatabaseВвод (загрузка) в базу файлов любых форматов
Визуальные компоненты

Свойства компонентов

Для обеспечения требуемого функционала необходимо настроить свойства используемых компонентов. Компоненты для отображения данных подключаются к БД, для этого необходимо заполнить всего два свойства: TableName и FieldName, выбрав из выпадающего списка имя таблицы и поле, где хранятся нужные данные.

Некоторые компоненты для настройки свойств используют Мастер настройки. Например, весь полезный функционал компонента «Кнопка» настраивается с помощью свойства Action в отдельном окне.

Часть настроек, которые редко используются, скрыты в разделе «Additional».

☝ Обычно изменения, вносимые в редакторе свойств компонента, вступают в силу сразу после их ввода. Исключение составляет свойство Name – для того, чтобы сменить название компонента, после ввода нового имени необходимо нажать клавишу Enter .

После краткого обзора возможностей среды разработки пора переходить к практике – к созданию первого приложения.

2 комментария к «Обзор возможностей My Visual Database»
    1. А как без этого? Из песни слов не выбросишь: сначала запев, потом припев. Эх, лет пять назад это был бы хит, а сейчас уже ретро )))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *