Инструментальные средства системы Miracle,
рабочее место разработчика. (часть II)
  Конструктор Базы Данных

Конструктор Базы Данных
Назначение данной программы

  Конструктор базы данных предназначен для создания и модификации структуры хранения информации. Конструктор позволяет строить как реляционные отношения между объектами, так и организовывать древовоидные отношения. Объект базы данных является самостоятельной единицей ИС, он не содержит в себе управляющей логики, но отдельные характеристики объекта могут использовать алгоритмы, как правило обработки данных перед записью значений в характеристику объекта. Как только объект создан, он предоставлен как ресурс ИС.
  Конструктор БД отображает список существующих объектов в окне - База данных. Вся работа по созданию, модификации, удалению объектов ведется через это окно. Закрытие окна “База данных” приводит к прекращению работы конструктора БД.
  Окно (База данных) отображает структуру базы и является центральным в программе. В процессе модификации структуры БД, могут появляться дополнительные окна, в рамках которых возможна модификация структуры объектов и т.д.

Запуск конструктора баз данных

  Запуск Конструктора Баз Данных осуществляется под управлением Менеджера компонентов, через список доступных “инструментов разработки приложений Miracle”. Если вам эта программа не доступна, обратитесь к администратору информационной системы.

Методика

  Объекты базы данных являются компонентами информационной системы и могут быть созданы в следующих вариантах:

  1. Общедоступные.
  2. Структурные.
  3. Узловые
  4. Пользовательские

  Компоненты базы данных служат для хранения информации. Тип информации задается структурой объекта, но у объекта может быть еще одно дополнительное свойство, это возможность определения объема предоставляемой пользователю информации. Объекты БД, обладающие этим свойством, называются - распределенными. Используя это свойство объектов баз данных, вы можете проектировать приложения без программирования средств защиты доступа к информации и т.д.

Рисунок 16 Демонстрация работы механизма "разграничения доступа к данным"

  Т.е. эти объекты будут предоставлять только тот набор данных из единой базы, который доступен конкретному пользователю. Схема распределенного доступа пользователей, (иерархия подчиненности), задается администратором информационной системы. Поэтому, создав приложение по доступу к информации в базе данных, в распределенном объекте, нет необходимости в программировании ограничения распределенного доступа по пользователям. Используя для этих целей иерархию подчиненности на уровне Сервера управления, возможно не только задавать модель распределенного доступа, но и видоизменять ее при необходимости. При этом не придется изменять логику приложений, так как само приложение, так и будет работать согласно описанных правил. Однако доступ, следовательно, и объем информации, будет изменен. Распределенные объекты БД позволяют администратору оперативно управлять доступом к данным до уровня записи. Система автоматически контролирует объем предоставленной информации, приложение вне этого механизма.
  Однако в рамках приложения, возможно, использовать и общедоступные объекты базы данных. Объекты такого типа не позволяют организовывать на их базе систем с распределенным уровнем доступа. Информация из таких объектов будет доступна в полном объеме вне зависимости от иерархии пользователей, т.е. всем.

Зачем нужны средства распределенного доступа к данным

  Рассмотрим небольшую информационную систему. Предположим, что существует группа пользователей - отдел №1, отдел №2, отдел №3. Необходимо создать приложение, которое решает повседневную задачу, а результаты хранит в корпоративной БД. При этом необходимо, чтобы каждая группа могла работать только со “своими” данными.
  Решение №1. Приложение проектируется с учетом количества отделов, либо с механизмом описания необходимого количества отделов. Пользователь вводит № отдела и система обеспечивает доступ к необходимому объему данных.
  Итог. Необходимо на уровне приложения проектировать методы разграничения доступа. Организация целостности информационной системы лежит полностью на программистах, которые должны “поддерживать” правила разграниченного доступа в каждом решении. При изменении правил необходимо внести изменение в каждое приложение...
  Решение №2. Приложение проектируется с использованием объектов БД имеющих статус распределенные. На уровне “Сервера управления” создается необходимая иерархия отделов.
  Итог. Приложение не содержит правил разграниченного доступа, с точки “зрения” приложения, все доступные данные - это все то, что имеется в БД. Организация целостности информационной системы лежит на объекте БД. Правила доступа легко изменяются и не затрагивают приложений.
  Создание базы данных основано на подготовке необходимого количества объектов БД, зависимое от типа решаемых задач.

Важные действия в программе

ДействиеАналог в меню Горячие клавиши На панели
инструментов
Контекстное менюПравая клавиша манипулятора мышь F12, Alt+F10 
Выход из конструктора БДБаза данных|Выход Alt+F4

Работа в конструкторе баз данных
Команды для изменения структуры базы данных

  Конструктор базы данных позволяет создавать, модифицировать, удалять как объекты, так и их характеристики в них. При этом следует помнить, что сама база данных создается администратором ИС, средствами SQL сервера.


В рамках конструктора баз данных вы можете проектировать только структуру БД.

Рисунок 17 Пример структуры БД (информационное пространство)

  Структура БД строится из потребностей решаемых задач, которые и определяют количество необходимых объектов их структуру и отношения. В приведенном примере (см. рисунок 17 пример структуры БД), отражено информационное пространство состоящее четырех объектов БД, состоящих в определенных отношениях.
  Объект от которого идет стрелка (имеющим для этой цели ссылочное поле) - является проектно-подчиненной таблицей. Т.е. отношения между объектами только проектные. Их активизация возможна только на уровне проектирования управляющей логикой приложения.
  Поэтому, организовав необходимую структуру БД, вы можете использовать объекты и их отношения в каждом приложении по разному. Например, приложение №1, назовем его “Учет кадров”, позволяет создавать, удалять, модифицировать записи в объекте “Кадры”. Это приложение использует для своей работы только одну таблицу. Приложение №2, назовем его “Учет выплат”, позволяет вводить, изменять записи в объекте “Выплаты”, набор записей в которой принадлежит выбранной записи в объекте БД “Учет кадров”. Для этого необходимо активизировать отношения между объектом БД “Выплаты” и “Кадры”, в рамках проектирования управляющей логики приложения. В этом случае набор записей в объекте “Выплаты” будет принадлежать одной записи в объекте “Кадры”. Т.е. организован механизм, позволяющий разграничивать информацию о выплатах по людям.

Проектное подчинение таблиц

  Конструктор Баз Данных системы Miracle позволяет проектировать необходимые отношения между имеющимися объектами по схеме 1-n. При этом, заданные отношения не являются активными. Активизация необходимых отношений, осуществляется на уровне проектирования управляющей логики решения, в рамках Конструктора приложений. Система Miracle позволяет активизировать имеющиеся отношения по схеме:

  • 1-n

  объект БД имеющего ссылочное поле становится “подчиненным” по отношению к другой таблице;

  • n-1

  объект БД имеющего ссылочное поле становится “мастером” по отношению к другой таблице, в этом случае отношение записей можно выразить как 1-1;
Конструктор БД позволяет создавать и модифицировать уже имеющуюся структуру. При программировании приложений структура предоставлена как набор объектов, активизация связей между которыми позволяет строить необходимые решения.

Добавление нового объекта базы данных

  Для создания нового объекта БД вам необходимо активизировать команду добавить объект. В дополнительном диалоговом окне введите название нового объекта. Название может содержать любые символы. По окончании ввода имени и определения статуса нового объекта (общедоступный, структура, узел, пользователь), вы можете приступить к проектированию структуры объекта, т.е. задать необходимое число характеристик (полей), установить необходимые им свойства и т.д. Окончание процедуры подготовки нового объекта базы данных осуществляется выполнением команды сохранить.

Удаление объекта из базы данных

  При необходимости вы можете удалить объект из БД. Для этого выберите нужный объект в списке структуры базы данных и активизируйте команду - удаление объекта.

Модификация структуры объекта

  При необходимости возможно производить модификацию структуры объекта базы данных. Для этого выберите нужный объект в списке структуры базы данных и активизируйте команду - изменить/редактировать объект. Выполнение данной команды создает окно со структурой редактируемого объекта, в рамках которого возможно создать новую характеристику объекта, удалить или модифицировать имеющийся. Окончание процедуры модификации структуры объекта осуществляется командой сохранить.

Сохранение структуры объекта

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

Команды для проектирования структуры объекта

  Если производится модификация структуры, то будет невозможно задавать/изменять ряд свойств в характеристиках объекта БД. Организацию “полного” редактирования структуры объекта базы данных возможно производить только в режиме обновления структуры объекта БД. Что в свою очередь приводит к “потере” информации, хранимой в модифицируемой структуре. (таблице)

Добавление новой характеристики (поля) в объект БД

  Активизация команды - добавить характеристику вызывает диалог проектирования свойств характеристики. В рамках данного диалога возможно задать следующие свойства:

  • Название - название характеристики (поля) является системным именем - имя необходимое для идентификации компонентов в режиме программирования управляющей логики.
  • Тип характеристики - тип характеристики объекта описывает тип данных, предполагаемых для хранения, возможный тип данных:
    • Число целое небольшое - характеристика, указывающая на хранение чисел в пределах от -32767 до 32767. Целое число.
    • Число целое большое - характеристика, указывающая на хранение чисел в пределах от -2147483648 до 2147786648. Целое число.
    • Строка - характеристика, указывающая на хранение строковых данных, в пределах заданных в области - длина. Длина обычно должна быть в диапазоне от 1 до 255, но определяется БД.
    • Число - характеристика, указывающая на хранение числа в пределах от 2.225074Е-308 до 1.797693Е+308. При необходимости возможно задать количество знаков после запятой, в области - точность. Точность должна быть в диапазоне от 1 до 25.

      Не все СУБД поддерживают задание точности числа. В этих случаях точность определяется как - 0, т.е. число хранится с максимальной точностью предоставляемую используемым SQL-сервером.

    • Дата - характеристика, указывающая на хранение даты (календарной). Данный тип характеристики позволяет хранить не только дату, но и дату/время в специальном формате.
    • Большой объект - характеристика, указывающая на хранение неструктурированных данных. Например, таких как - рисунки, форматируемые тексты, звуки, анимацию и т.д.
    • Связь с другим объектом - характеристика, указывающая на установку отношений между объектами (таблицами). Данное поле является связующим и характеризует направление отношений. Объект, имеющий такую характеристику, может быть подчиненным. Активизация связей осуществляется только на уровне проектирования управляющей логики. В рамках Конструктора базы данных проектируется необходимое информационное пространство системы с учетом всех необходимых связей между объектами, т.е. характеристика “связь с другим объектом” является средством для поддержки соотношений между указанными объектами.

Дополнительные методы контроля целостности информации

  Данные методы доступны только в режиме подготовки нового объекта или в режиме “обновить”. Помните, что установка определенных опций может привести к потери части данных уже содержащихся в объекте.

  • Должна быть заполнена - опция, указывающая на обязательное заполнение данной характеристики, т.е. это указывает на то, что при создании новой записи в объекте БД необходимо “заполнить” значениями имеющейся характеристики. При этом, некоторые характеристики могут быть и не заполнены информацией. При сохранении записи в базе данных такая запись будет создана. Но, если среди “незаполненных” характеристик были такие, которым установлен режим должна быть заполнена, то при попытке сохранения записи в БД запись не будет сохранена, а система выдаст соответствующую ошибку.

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

Рисунок 18 Схема: пример структуры объекта БД, режим обязательного заполнения

  Например, создать новую запись в объекте БД, отраженной в схеме рисунок 18 схема: пример структуры объекта бд, режим обязательного заполнения будет нельзя. Для поля №2 установлен режим обязательного заполнения. Новая запись не содержит значений в поле №2. При попытке сохранения значений (физическая запись данных в БД), запись не будет сохранена, так как нарушена заданная целостность.

  • Уникальна в группе - опция, указывающая на организацию проверки уникальности данных, при сохранении значений записей в БД. Число групп в одном объекте может быть в пределах от 1 до 99.

Рисунок 19 Схема: пример структуры БД, режим уникального заполнения

  Например, создание новой записи в объекте БД, отображено в схеме рисунок 19 схема: пример структуры бд, режим уникального заполнения будет невозможен. Поле №1 и поле №3 входят в одну уникальную группу. Новая запись, содержащая одинаковые значения в поле №1 и поле №3, этот набор уже не является уникальным. При попытке сохранения значений (физическая запись данных в БД), запись не будет сохранена, так как она нарушает заданную целостность.
  В уникальную группу могут входить от одного до нескольких полей. Поле может входить только в одну группу. Полю входящему в уникальную группу автоматически устанавливается режим - должно быть заполнено.

  • Уровень уникальности - режим, указывающий на “глубину” захвата уникальности. Т.е. данный режим устанавливает границы уникальности поля. Что в свою очередь отражает какой уровень целостности по уникальности вы хотите придать выбранному полю. Возможный уровень уникальности определяется типом таблицы и может иметь уровень:
    1. Общедоступная
    2. Структура
    3. Узел
    4. Пользователь

  Тип таблицы определяет и возможный уровень уникальности. Чем выше уровень доступа, тем ниже уровень уникальности.

Тип таблицыУровень уникальности
 ОбщедоступнаяСтруктура УзелПользователь
ОбщедоступнаяX   
СтруктураXX  
УзелXXX 
ПользовательXXXX

  Данные созданные под управлением разных участников (пользователей), могут быть не противоречивы на момент создания, но нарушающие целостность системы при попытке их объединения, в момент передачи информации с одного узла на другой. Т.к. имеющаяся информация будет неоднозначна.
  Однозначная целостность системы соответствует при использовании “общедоступного” уровня уникальности, где вся информация уникальна в рамках всей базы данных, без разграничения на структуру, узел или пользователя.

Дополнительно о ...

  Применение разных форматов характеристик обусловлено несколькими причинами. Первая из них это то, что тип характеристики строго определяет тип хранимой информации. Вторая, разный тип данных занимает при хранении разный объем дискового пространства. Третья, для разных типов данных существуют свои методы их обработки. Так, например, только над числовыми характеристиками возможно выполнение математических операций.

Механизм дополнительных “правил” в характеристиках объекта

  Дополнительные “правила” это “привязка” математического алгоритма. Алгоритм должен быть создан и зарегистрирован на Сервере управления, как компонент ИС. Установив алгоритм, запись значений в характеристику будет осуществляться через него, т.е. в качестве хранимых значений в характеристику объекта БД запишется результат работы алгоритма. Структура алгоритма задает и количество информационных каналов для его работы.
  По умолчанию, в каждое поле, может быть записано только одно значение, однако структура алгоритма может требовать больше одного значения. Не смотря на это, в характеристику объекта, запишется только одно значение, результат работы алгоритма.

Рисунок 20 Схема организации связей элементов интерфейса и характеристики объекта БД

  Рассмотрим это на примере. См. рисунок 20 схема организации связей элементов интерфейса и характеристики объекта БД. Приложение позволяет вводить данные для новой записи. Характеристики объекта базы данных имеют связь с элементами приложения. При этом к характеристике поля №4 установлен алгоритм. Сам алгоритм для своей работы требует два значения. Поэтому, устанавливая связь между характеристикой (поля №4) и элементами приложения, будет необходимо объяснить данным все информационные каналы. При этом в БД сохраниться только результат вычислений алгоритма.
  Установка алгоритма как “правило расчета значений” перед их записью в базу данных, позволяет проектировать информационную систему с едиными правилами обработки значений на уровне структуры БД.

Дополнительные возможности
Частичная модификация

  При необходимости возможна модификация структуры уже имеющихся объектов БД. Однако изменение установок опций “должна быть заполнена” и “уникальна в группе” будут не доступны. Это вызвано тем, что изменение состояния этих опций может привести к нарушению целостности уже имеющейся информации хранимой в модифицированном объекте. Также ограничена модификация типов характеристик. Так возможно менять тип с числа на число целое большое, либо задать новые размеры для типа строка. При этом следует особо помнить, что при изменении типа характеристик, возможна потеря хранимых данных. Например, вы решили уменьшить размер характеристик с типом строки - 40, на строку - 20. Такая модификация приведет к потере хранимых данных в этой характеристике.

Полная модификация

  При необходимости вы можете осуществить полную модификацию структуры объекта базы данных. Под полной модификацией понимается возможность по изменению состояний опций в существующих характеристиках, смене типов полей. Например, с типа - строки, на тип - число. Такая модификация позволяет коренным образом перестроить структуру объекта. Доступ к полной модификации возможен в режиме редактирования структуры объекта, через активизацию команды Объекты|Обновить.

Следует помнить, что вся хранимая информация будет уничтожена в момент сохранения изменений.

Замечания

  Следует помнить, что объекты базы данных служат для долговременного хранения информации в рамках БД обслуживаемой установленным у вас Сервером базы данных. Объект БД один из центральных компонентов информационной системы. Разные приложения могут использовать одни и те же объекты БД, что необходимо помнить при создании и модификации структуры объектов БД.
  Особенно внимательно следует отнестись к удалению как характеристик, так и самих объектов. Все приложения в ИС их использующие станут неработоспособными. На уровне средств разработки приложений существуют механизмы, позволяющие отслеживать “связи” с уже не существующими характеристиками или объектами БД, однако этот механизм не позволяет автоматически корректировать логику приложения. Поэтому следует особенно тщательно подходить к проектированию структуры баз данных.

Список возможных действий

Действия "Горячие" клавиши Пояснение
База данных
База данных Список объектов базы данных
Сохранить вид Сохранить вид представления открытых окон объектов базы данных
Загрузить вид Восстановить вид последнего представления открытых окон объектов базы данных
Сортировать включает/выключает сортировку объектов базы данных в списке. При выключенном состояние список объектов БД отражает элементы в последовательности их создания. При включенном состоянии – список отражает элементы отсортированными по имени
Получить список Генерация отчета - список объектов базы данных
Получить список HTML генерация отчета о структуре БД в виде набора HTML страниц. Генерация производиться по указанному пути, что позволяет использовать единый путь хранения отчета о структуре БД, если этим отчетом может пользоваться несколько разработчиков одновременно. Начальной страничкой отчета является файл - DBSTRUCT.HTM, где располагается список ссылок на описание структуры каждой таблицы в базе данных. Поддерживаются ссылки по полям типа «связь с другой таблицей».
Ревизия базы данных данная функция является расширением для будущих версий системы. На данный момент не работает.
Выход Alt+F4 Окончание работы с конструктором базы данных
Объекты
Объекты Компонент базы данных, в рамках которого организована структура хранения информации (таблица)
Добавить Добавить объект к базе данных
Удалить Удаление объекта из базы данных
Редактировать Модификация свойств объекта базы данных
Сохранить Сохранение изменений в объекте базы данных
Обновить Активизация режима “полное редактирование объекта базы данных”
Характеристики
Характеристики Элементы составляющие объект базы данных (поля), характеристики объекта
Добавить Добавить характеристику в объект
Удалить Удаление характеристики из объекта
Редактировать Модификация свойств характеристики
Алгоритм Установка алгоритма для характеристики
Окна
Каскадом Расположение окон - каскадом
Черепицей Расположение окон - черепицей
Выровнять пиктограммы Выравнивание пиктограмм "минимизируемых" окон

Предыдущий раздел На начал документауции На оглавление Следующий раздел

©1995,1997,2000 НПФ ”И.В.А.”. Все права сохранены.
Название фирм и торговых марок используются только в качестве пояснения.