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

Интегрированная среда разработки (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 .
После краткого обзора возможностей среды разработки пора переходить к практике – к созданию первого приложения.
Повторение мать ученья!!
А как без этого? Из песни слов не выбросишь: сначала запев, потом припев. Эх, лет пять назад это был бы хит, а сейчас уже ретро )))