Аскон Вертикаль-Технология (V1). Руководство пользователя - часть 22

 

  Главная      Учебники - Разные     Аскон Вертикаль-Технология (V1). Руководство пользователя

 

поиск по сайту            правообладателям  

 

 

 

 

 

 

 

 

содержание      ..     20      21      22      23     ..

 

 

Аскон Вертикаль-Технология (V1). Руководство пользователя - часть 22

 

 

Глава

 3. 

Проектирование

 

реляционной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

191

вертации

Если

 

требуется

 

выделить

 

все

 

файлы

ус

-

тановите

 

маркер

 

напро

-

тив

 

опции

 

Выбрать

 

все

3. 

Нажмите

 

кнопку

 

Старт

 

для

 

запуска

 

процесса

 

конвертации

Выбранные

 

таблицы

 

копируются

 

в

 

файл

 

*.gdb

на

 

который

 

ссылается

 

алиас

 

«VrtServer». 

Если

 

вместе

 

с

 

файлом

 

*.db

 

находи

-

лись

 

соответствующие

 

ему

 

файлы

 

*.str 

и

 *.ogl

то

 

данные

 

из

 

них

 

будут

 

пе

-

ренесены

 

в

 

таблицы

 

ALL_STR

 

и

 

ALL_OGL

 

со

-

ответственно

 

Каждая

 

таблица

 

в

  SQL-

серверной

 

БД

 

должна

 

иметь

 

поле

 

ID

содержащее

 

уникальные

 

значения

 

для

 

каждой

 

записи

 

таблицы

  (

первичный

 

ключ

). 

Про

-

грамма

 ConvertPX.exe 

создает

 

генератор

 

и

 

триггер

 

для

 

автоматического

 

наращивания

 

значения

 

поля

 

ID

 

Рис

. 3.90. 

Окно

 

программы

 

ConvertPX.exe

 

 

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

4.1. 

Принципы

 

объектности

 

в

 

структуре

 

базы

 

данных

 

системы

 

Объектная

 

модель

 

данных

в

 

отличие

 

от

 

реляционной

 (

табличной

), 

представляет

 

собой

 

более

 

совершенную

 

форму

 

организации

 

данных

Она

 

содержит

 

в

 

себе

 

инфор

-

мацию

 

не

 

только

 

о

 

физической

 

структуре

 

данных

но

 

и

 

логику

 

взаимосвязей

 

своих

 

компонентов

Применение

 

объектной

 

модели

 

значительно

 

расширяет

 

возможности

 

обработки

 

данных

 

внешними

 

приложениями

Такой

 

подход

 

позволяет

 

решать

 

ком

-

плексные

 

задачи

 

пользователей

 

стандартными

 

инструментами

 

САПР

опираясь

 

на

 

совокупность

 

данных

единую

 

для

 

всей

 

рабочей

 

группы

 (

отдела

бизнес

-

направления

предприятия

 

в

 

целом

). 

В

 

ВЕРТИКАЛЬ

-

Справочники

 

реализованы

 

лишь

 

некоторые

 

элементы

 

объектной

 

модели

 

данных

основным

 

из

 

которых

 

является

 

механизм

 

наследования

 

данных

Реализация

 «

усеченной

» 

объектной

 

модели

 

позволила

 

наряду

 

со

 

значительным

 

рас

-

ширением

 

возможностей

 

управления

 

данными

 

сохранить

 

простоту

 

модели

оптималь

-

ную

 

для

 

хранения

 

средних

 

объемов

 

информации

Кроме

 

того

,  

элементы

 

объектной

 

модели

 

существенно

 

облегчают

 

проектирование

 

индивидуальных

 

пользовательских

 

приложений

 (auto sourcing tools), 

реализующих

 

обработку

 

данных

 

из

 

единого

 

инфор

-

мационного

 

массива

 (

например

инженерные

 

расчеты

нормирование

проектирование

 

документации

 

и

 

др

.). 

Рассмотрим

 

основные

 

термины

используемые

 

в

 

объектной

 

модели

 

данных

Ба

-

зовым

 

элементом

 

модели

 

является

 

объект

  — 

понятие

обозначающее

 

любой

 

мо

-

делируемый

 

предмет

 

или

 

процесс

Каждый

 

объект

 

обязательно

 

имеет

 

название

 

и

 

класс

который

 

указывает

 

его

 

принадлежность

 

к

 

определенной

 

категории

 

объектов

описываемых

 

единым

 

набором

 

атрибутов

 — 

именованных

 

характеристик

 

объекта

определяющих

 

его

 

значимые

 (

для

 

пользователя

свойства

Один

 

из

 

атрибутов

 

объек

-

та

 

обязательно

 

является

 

ключевым

 

атрибутом

по

 

которому

 

идентифицируются

 

все

 

объекты

 

конкретного

 

типа

 

Не

 

следует

 

путать

 

атрибуты

 

объекта

 

базы

 

данных

 

с

 

атрибутами

 

объ

-

екта

 

навигационной

 

схемы

определяемыми

 

в

 

Редакторе

 

навигационных

 

схем

 (

см

раздел

 3.3). 

Полное

 

название

 

атрибута

 

объекта

 

формируется

 

по

 

шаблону

1

                                                        

1

 

Здесь

 

можно

 

провести

 

аналогию

 

с

 

формированием

 

полного

 

имени

 

поля

 

реляционной

 

таблицы

{

имя

 

таблицы

}.{

имя

 

поля

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

193

{

тип

 

объекта

}.{

атрибут

 

объекта

например

STANOK.MODEL

 — 

атрибут

 «

модель

 

станка

» 

объекта

 

класса

 «

стан

-

ки

»; 

RI.TABLE

  — 

атрибут

  «

имя

 

таблицы

 

типоразмера

» 

объекта

 

класса

 «

режущий

 

инструмент

». 

Так

 

как

 

в

 

ВЕРТИКАЛЬ

-

Справочники

 

используется

 

реляционная

 

база

 

данных

то

 

объектная

 

модель

 

является

 

своеобразной

 «

надстройкой

» 

над

 

реляционной

 

моделью

 

хранения

 

данных

Связь

 

реляционной

 

и

 

объектной

 

структуры

 

данных

 

построена

 

в

 

со

-

ответствии

 

со

 

следующими

 

положениями

 

класс

 

объектов

 

объединяет

 

таблицы

в

 

которых

 

хранятся

 

данные

 

об

 

объектах

 

этого

 

типа

 

атрибутом

 

объекта

 

является

 

одно

 

поле

 

одной

 

из

 

таблиц

объединенных

 

классом

 

объектов

 

ключевым

 

атрибутом

 

объекта

 

является

 

одно

 

поле

 

одной

 

из

 

таблиц

объединен

-

ных

 

классом

 

объектов

с

 

учетом

 

дополнительного

 

условия

  — 

данные

разме

-

щенные

 

в

 

этом

 

поле

являются

 

уникальными

 

в

 

пределах

 

таблицы

Обычно

 

в

 

ка

-

честве

 

ключевого

 

атрибута

 

принимают

 

поле

 

первичного

 

ключа

 (

ID

или

 

поле

 

гло

-

бального

 

идентификатора

 (

GUID

). 

 

Ключевым

 

атрибутом

 

объекта

 

следует

 

назначать

 

поле

по

 

данным

 

кото

-

рого

 

можно

 

определить

 

значения

 

всех

 

других

 

атрибутов

 

объекта

Графически

 

связь

 

объектной

 

и

 

реляционной

 

моделей

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

представлена

 

на

 

рис

. 4.1. 

Таким

 

образом

на

 

классы

 

объектов

 

и

 

атрибуты

 

объектов

 

накладывается

 

ряд

 

ог

-

раничений

1. 

Имя

 

класса

 

объектов

 

должно

 

быть

 

уникальным

 

в

 

пределах

 

базы

 

данных

2. 

Имя

 

атрибута

 

объектов

 

должно

 

быть

 

уникальным

 

в

 

пределах

 

класса

 

объектов

3. 

Одному

 

атрибуту

 

объектов

 

должно

 

соответствовать

 

одно

 

поле

 

реляционной

 

таблицы

4. 

Ключевому

 

атрибуту

 

объектов

 

должно

 

соответствовать

 

поле

в

 

котором

 

хранятся

 

уникальные

 

значения

 

для

 

каждой

 

записи

 

таблицы

Рассмотрим

 

реализацию

 

некоторых

 

принципов

 

объектности

 

на

 

примере

 

респира

-

тора

 «

Лепесток

», 

информация

 

о

 

котором

 

хранится

 

в

 

БД

 «

Средства

 

защиты

»: 

 

с

 

позиций

 

объектной

 

модели

 

респиратор

  «

Лепесток

» 

является

 

объектом

кото

-

рый

 

имеет

 

название

  («

Лепесток

») 

и

 

принадлежит

 

классу

  «

средства

 

защиты

» 

(

класс

 

объектов

 

SIZ

); 

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

194

 

класс

 

SIZ

 

объединяет

 

таблицы

в

 

которых

 

размещена

 

основная

 

информация

 

о

 

средствах

 

защиты

SIZ1

SIZ2

SIZ3

Регистрация

 

таблиц

объединяемых

 

классом

 

объекта

производится

 

в

 

специальной

 

БД

 «

Базовые

 

объекты

» (

см

раздел

 4.2); 

 

Рис

. 4.1. 

Связь

 

объектной

 

и

 

реляционной

 

моделей

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

все

 

средства

 

индивидуальной

 

защиты

 (

СИЗ

характеризуются

 

одинаковым

 

набо

-

ром

 

атрибутов

 — 

видом

назначением

 

СИЗ

обозначением

номером

 

стандарта

 

и

 

т

.

д

Все

 

эти

 

данные

 (

значимые

 

для

 

пользователя

размещены

 

в

 

таблицах

объе

-

диненных

 

классом

 

SIZ

причем

 

каждой

 

характеристике

 

соответствует

 

опреде

-

ленное

 

поле

 

одной

 

из

 

таблиц

Таким

 

образом

атрибутам

 

объекта

 

можно

 

сопос

-

тавить

 

физические

 

имена

 

полей

 

из

 

таблиц

объединяемых

 

классом

 

объекта

 

с

 

учетом

 

изложенного

объект

 «

Лепесток

» 

имеет

 

набор

 

атрибутов

 

класса

 

SIZ

В

 

частности

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

195

SIZ.VID

 = «

Средства

 

защиты

 

органов

 

дыхания

» — 

назначение

 

средства

 

за

-

щиты

;

 

SIZ.NAME

 = «

Респиратор

» — 

наименование

 

средства

 

защиты

SIZ.OBOZN

 = «

ШБ

-1 

Лепесток

» — 

обозначение

 

средства

 

защиты

SIZ.GOST

 = «

ГОСТ

 12.4.028-76» — 

номер

 

стандарта

 

на

 

средство

 

защиты

SIZ.PICTURE

 = «Sp_dy1.jpg» — 

имя

 

файла

в

 

котором

 

хранится

 

изображение

 

средства

 

защиты

 

ключевым

 

атрибутом

 

объектов

 

класса

 

SIZ

 

является

 

атрибут

 

SIZ.ID

 — 

уни

-

кальный

 

идентификатор

 

объекта

значения

 

которого

 

хранятся

 

в

 

поле

 

GUID

  — 

первичном

 

ключе

 

таблицы

 

SIZ3

Для

 

респиратора

 «

Лепесток

»: 

SIZ.ID = «5SAjTqveB.rv5dVW4YO0lb». 

По

 

значению

 

ключевого

 

атрибута

 

можно

 

однозначно

 

определить

 

значения

 

всех

 

остальных

 

атрибутов

 

объекта

 

указанные

 

атрибуты

 

объекта

 

поставлены

 

в

 

соответствие

 

полям

 

реляционных

 

таблиц

 

следующим

 

образом

Атрибут

 

объекта

 

Поле

 

таблицы

 

SIZ.ID

 

SIZ3

.

GUID

 

SIZ.VID

 

SIZ1

.

VID

 

SIZ.NAME

 

SIZ3

.

NAMESIZ

 

SIZ.OBOZN

 

SIZ3

.

OBOZN

 

SIZ.GOST 

SIZ3

.

GOST

 

SIZ.PICTURE 

SIZ1

.

SLAID

 

Настройка

 

связей

 

между

 

атрибутами

 

объектов

 

и

 

полями

 

таблиц

 

рассмотрена

 

в

 

разделе

 4.2. 

Атрибуты

 

объектов

 

применяются

 

при

 

работе

 

с

 

данными

 

как

 

в

 

ВЕРТИКАЛЬ

-

Справочники

так

 

и

 

во

 

внешних

 

приложениях

В

 

последнем

 

случае

 

наиболее

 

часто

 

встречаются

 

три

 

вида

 

задач

1) 

копировать

 

данные

 

из

 

БД

 

ВЕРТИКАЛЬ

-

Справочники

 

во

 

внешнее

 

приложение

2) 

по

 

заданному

 

значению

 

ключевого

 

атрибута

 

объекта

 

найти

 

в

 

БД

 

значения

 

ос

-

тальных

 

атрибутов

 

и

 

передать

 

их

 

внешнему

 

приложению

Стандартным

 

приме

-

ром

 

такой

 

задачи

 

является

 

поиск

 

атрибутов

 

объекта

 

типа

 «

режущий

 

инструмент

» 

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

196

с

 

последующей

 

передачей

 

данных

 

в

 

ВЕРТИКАЛЬ

-

Технология

Решение

 

этой

 

за

-

дачи

 

иллюстрируется

 

рис

. 3.51 

в

 

подразделе

 3.12.2

1

3) 

по

 

заданному

 

значению

 

ключевого

 

атрибута

 

объекта

 

выбрать

 

из

 

таблицы

 

БД

 

только

 

те

 

записи

которые

 

принадлежат

 

этому

 

объекту

  (

либо

 

связаны

 

с

 

этим

 

объектом

). 

Стандартная

 

задача

 

подобного

 

типа

 

и

 

алгоритм

 

ее

 

решения

 

приве

-

ден

 

в

 

подразделе

 3.15.2. 

В

 SQL-

запросах

 

и

 VB-

функциях

 

ВЕРТИКАЛЬ

-

Справочники

 

атрибуты

 

объектов

 

мо

-

гут

 

использоваться

 

в

 

качестве

 

переменных

Такие

 

переменные

 

маркируются

 

симво

-

лом

 «:» 

перед

 

именем

 

атрибута

например

If

 (<link> = 1) 

and

 (":SIZ.ID"

<>

"null") 

Перед

 

выполнением

  VB-

функции

 

интерпретатор

 

ВЕРТИКАЛЬ

-

Справочники

 

под

-

ставит

 

в

 

текст

 

функции

 

текущее

 

значение

 

указанного

 

атрибута

Например

если

 

теку

-

щее

 

значение

 

атрибута

 

равно

 

STANOK.ID

 = «5SAjTqveB.rv5dVW4YO0lb», 

то

 

после

 

интерпретации

 

строка

 VB-

функции

 

примет

 

следующий

 

вид

If

 (<link> = 1) 

and

 "5SAjTqveB.rv5dVW4YO0lb"

<>

"null"). 

Подробная

 

информация

 

о

 

правилах

 

составления

  VB-

функций

 

и

  SQL-

запросах

 

приведена

 

в

 

разделе

 3.14. 

Здесь

 

лишь

 

отметим

 

общий

 

механизм

 

получения

 

ВЕРТИ

-

КАЛЬ

-

Справочники

 

значений

 

атрибутов

 

объектов

Если

 

в

 

процессе

 

интерпретации

 VB-

функции

 

встречается

 

переменная

в

 

которую

 

необходимо

 

подставить

 

текущее

 

значе

-

ние

 

атрибута

 

объекта

 (

см

пример

 

выше

), 

то

 

поиск

 

значения

 

выполняется

 

в

 

следую

-

щем

 

порядке

1) 

производится

 

обращение

 

к

 

внешним

 

приложениям

работающим

 

по

 

базовому

 

протоколу

 

обмена

 

данными

 

КОМПАС

2) 

если

 

внешние

 

приложения

 

не

 

возвращают

 

значение

 

атрибута

 

объекта

то

 

проводится

 

поиск

 

текущего

 

значения

 

атрибута

 

объекта

 

в

 

DataCopy

 

ВЕРТИ

-

КАЛЬ

-

Справочники

3) 

если

 

в

 

результате

 

предыдущих

 

операций

 

текущее

 

значение

 

атрибута

 

полу

-

чить

 

не

 

удалось

в

 

текст

 VB-

функции

 

подставляется

 

значение

 «null». 

4.2. 

Регистрация

 

классов

 

и

 

атрибутов

 

объектов

 

4.2.1. 

Общие

 

сведения

 

Регистрация

 

классов

 

и

 

атрибутов

 

объектов

 

проводится

 

в

 

специальной

 

БД

 «

Базо

-

вые

 

объекты

». 

Для

 

загрузки

 

БД

 

в

 

ВЕРТИКАЛЬ

-

Справочники

 

выполните

 

команду

 

Сер

-

                                                        

1

 

При

 

проектировании

 

внешних

 

приложений

 

эта

 

задача

 

решается

 

двумя

 

способами

с

 

помощью

  API-

функций

 

ВЕРТИКАЛЬ

-

Справочники

 (

пример

 

реализации

см

файл

 

GetNotions.exe

 

в

 

подкаталоге

 ApiTools 

корневого

 

каталога

 

ВЕРТИКАЛЬ

-

Справочники

или

 

через

 

базовый

 

протокол

 

КОМПАС

 (

пример

 

реализа

-

ции

см

там

 

же

 

файл

 

GetNotBOSimple.exe

). 

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

197

вис

 

 

Базовые

 

объекты

Содержимое

 

уровня

 

Группа

 

объекта

 (

таблица

 

BASE_OBJECT0

является

 

свое

-

образным

 «

оглавлением

» 

БД

 

и

 

служит

 

только

 

для

 

сортировки

 

объектов

 

по

 

их

 

назна

-

чению

 (

или

 

каким

-

либо

 

другим

 

признакам

). 

Чтобы

 

создать

 

новую

 

группу

 

объектов

 (

но

-

вый

 

раздел

 

оглавления

 

БД

), 

сформируйте

 

новую

 

запись

 

и

 

в

 

поле

 

Группа

 

объекта

 

введите

 

имя

 

нового

 

раздела

На

 

уровне

 

Объекты

  (

таблица

 

BASE_OBJECT1

размещены

 

данные

 

о

 

классах

 

объектов

Так

на

 

рис

. 4.2 

показан

 

список

 

классов

 

из

 

раздела

 «

Общие

 

БД

». 

О

 

каждом

 

классе

 

объекта

 

в

 

таблице

 

должна

 

быть

 

представлена

 

следующая

 

информация

Поле

 

Данные

 

Объект

 

Имя

 

класса

 

объектов

К

 

именам

 

классов

 

предъявляются

 

те

 

же

 

требования

что

 

и

 

к

 

именам

 

таблиц

 SQL-

серверной

 

БД

Псевдоним

 

списка

 

Псевдоним

 

базы

 

данных

 (

списка

), 

в

 

которой

 

содержится

 

основ

-

ная

 

информация

 

об

 

объектах

 

регистрируемого

 

класса

Комментарий

 

Пояснения

 

к

 

классу

 

объекта

Заполнение

 

поля

 

не

 

обязательно

Код

 

сортировки

 

Порядковый

 

номер

 

записи

по

 

которым

 

производится

 

сортиров

-

ка

 

записей

 

в

 

таблице

Заполнение

 

поля

 

не

 

обязательно

 

Рис

. 4.2. 

БД

 «

Базовые

 

объекты

». 

Уровень

 

Объекты

 (

таблица

 

BASE_OBJECT1

Таблица

 

BASE_OBJECT2

 (

уровень

 

Таблицы

содержит

 

данные

 

обо

 

всех

 

табли

-

цах

в

 

которых

 

размещены

 

атрибуты

 

объектов

 

регистрируемого

 

класса

Например

атрибуты

 

объектов

 

класса

 

SIZ

 

размещены

 

в

 

трех

 

таблицах

  (

рис

. 4.3): 

SIZ1

SIZ2

 

и

 

SIZ3

О

 

каждой

 

таблице

 

указываются

 

следующие

 

данные

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

198

Поле

 

Данные

 

Имя

 

таблицы

 

Имя

 

таблицы

 

из

  SQL-

серверной

 

БД

 

ВЕРТИКАЛЬ

-

Справочники

которая

 

содержит

 

атрибуты

 

объектов

 

регист

-

рируемого

 

класса

Уровень

 

Порядковый

 

номер

 

таблицы

 

в

 

иерархии

 

БД

Так

в

 

БД

 

«

Средства

 

защиты

» 

иерархия

 

указанных

 

таблиц

 

следующая

SIZ1

 

 

SIZ2

 

 

SIZ3

На

 

рис

. 4.3 

таблицам

 

присвоены

 

уров

-

ни

 

в

 

соответствии

 

с

 

этой

 

иерархией

Поле

 

первичного

 

ключа

 

Физическое

 

имя

 

поля

содержащего

 

первичный

 

ключ

 

табли

-

цы

Поле

 

внешнего

 

ключа

 

Физическое

 

имя

 

поля

содержащего

 

внешний

 

ключ

 

таблицы

Поле

 

регистр

таблиц

 

типоразм

Физическое

 

имя

 

поля

в

 

котором

 

в

 

котором

 

хранятся

 

имена

 

таблиц

 

типоразмеров

  (

например

режущего

 

инструмента

). 

Если

 

таких

 

полей

 

в

 

таблице

 

нет

то

 

данное

 

поле

 

не

 

запол

-

няется

Подробнее

 

о

 

подключении

 

таблиц

 

типоразмеров

 

см

подраздел

 3.12.2 

и

 

рис

. 3.51). 

 

Рис

. 4.3. 

БД

 «

Базовые

 

объекты

». 

Уровень

 

Таблицы

 (

таблица

 

BASE_OBJECT2

Соответствие

 

атрибутов

 

объекта

 

и

 

полей

 

таблицы

 

указывается

 

на

 

уровне

 

Атри

-

буты

 (

таблица

 

BASE_OBJECT4

). 

Так

в

 

таблице

 

SIZ3

 

хранится

 7 

атрибутов

 

объектов

 

класса

 

SIZ

 (

рис

. 4.4). 

Для

 

каждого

 

атрибута

 

в

 

таблице

 

указываются

 

следующие

 

дан

-

ные

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

199

Поле

 

Данные

 

Атрибут

 

Имя

 

атрибута

К

 

именам

 

атрибутов

 

предъявляются

 

те

 

же

 

требования

что

 

и

 

к

 

физическим

 

именам

 

полей

 

таблиц

 SQL-

серверной

 

БД

Признак

 ID 

объекта

 

Идентификатор

 

ключевого

 

атрибута

Присутствие

 

какого

-

либо

 

символа

 

в

 

этом

 

поле

 

означает

что

 

данный

 

атрибут

 

яв

-

ляется

 

ключевым

Например

из

 

рис

. 4.4 

видно

что

 

для

 

объ

-

ектов

 

класса

 

SIZ

 

в

 

качестве

 

ключевого

 

атрибута

 

ис

-

пользуется

 

атрибут

 

ID

 (

полное

 

имя

 

атрибута

 

 

SIZ.ID

). 

Физическое

 

имя

 

поля

 

Физическое

 

имя

 

поля

которому

 

поставлен

 

в

 

соответствие

 

атрибут

Так

атрибуту

 

ID

 

соответствует

 

поле

 

GUID

 

таблицы

 

SIZ3

Комментарий

 

Пояснения

 

к

 

атрибуту

 

объекта

Заполнение

 

поля

 

не

 

обяза

-

тельно

 

Рис

. 4.4. 

БД

 «

Базовые

 

объекты

». 

Уровень

 

Атрибуты

 (

таблица

 

BASE_OBJECT4

Уровень

 

Данные

 

предназначен

 

для

 

быстрого

 

доступа

 

к

 

таблице

указанной

 

на

 

уровне

 

Таблицы

Доступ

 

к

 

таблице

 

через

 

уровень

 

Данные

 

облегчает

 

поиск

 

нужной

 

регистрационной

 

информации

 (

например

физических

 

и

 

экранных

 

имен

 

полей

), 

а

 

так

-

же

 

доступ

 

к

 

структуре

 

данных

 

таблицы

Назначение

 

и

 

правила

 

заполнения

 

уровня

 

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

 

атрибуты

 (

таблица

 

BASE_OBJECT_FREENOT

подробно

 

рассмотрены

 

в

 

подразделе

 4.2.3. 

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

200

4.2.2. 

Порядок

 

регистрации

 

нового

 

класса

 

объектов

 

Стандартный

 

алгоритм

 

регистрации

 

нового

 

класса

 

объектов

 

включает

 

операции

 

по

 

заполнению

 

БД

 «

Базовые

 

объекты

» 

и

 

настройку

 

ссылок

 

на

 

атрибуты

 

в

 

Редакторе

 

структуры

 

данных

1. 

Определите

какие

 

таблицы

 

будет

 

объединять

 

новый

 

класс

 

объектов

Выпишите

 

имена

 

таблиц

 

и

 

номер

 (

или

 

псевдоним

базы

 

данных

в

 

которой

 

зарегистрирова

-

ны

 

эти

 

таблицы

2. 

В

 

каждой

 

таблице

 

определите

 

поля

в

 

которых

 

размещены

 

значимые

 

атрибуты

 

(

свойства

объектов

 

регистрируемого

 

класса

Выпишите

 

физические

 

имена

 

этих

 

полей

3. 

Среди

 

выбранных

 

полей

 

выделите

 

поле

содержащее

 

значение

 

ключевого

 

атри

-

бута

 

объектов

Напомним

что

 

ключевой

 

атрибут

 

должен

 

быть

 

выбран

 

таким

 

об

-

разом

чтобы

 

по

 

его

 

значению

 

можно

 

однозначно

 

определить

 

значения

 

всех

 

ос

-

тальных

 

атрибутов

 

объекта

Выбор

 

ключевого

 

атрибута

 

зависит

 

как

 

от

 «

природы

» 

данных

так

 

и

 

от

 

структуры

 

реляционных

 

связей

 

между

 

табли

-

цами

В

 

ряде

 

случаев

 

правильный

 

выбор

 

ключевого

 

атрибута

 

не

 

пред

-

ставляет

 

никаких

 

трудностей

На

-

пример

в

 

базе

 

данных

состоящей

 

из

 

трех

 

таблиц

  (

структура

 

на

 

рис

4.5), 

каждая

 

из

 

которых

 

содержит

 

поля

 

с

 

атрибутами

 

объектов

для

 

ключевого

 

атрибута

 

следует

 

использовать

 

поле

 

первичного

 

ключа

 

последней

 

таблицы

 (

Таблица

3

 

по

 

рис

. 4.5). 

Поясним

 

сделанный

 

выбор

значения

 

первичного

 

ключа

 

уникальны

 

для

 

каждой

 

записи

то

 

есть

 

однозначно

 

определяют

 

все

 

значения

 

других

 

атрибутов

содер

-

жащиеся

 

в

 

таблице

 

Таблица

3

Кроме

 

того

реляционная

 

связь

 «

один

-

ко

-

многим

» 

позволяет

 

однозначно

 

определить

с

 

какой

 

записью

 (

всегда

 

одной

!) 

из

 

таблицы

 

Таблица

2

 

связана

 

запись

выбранная

 

в

 

Таблица

3

Аналогичным

 

способом

 

мож

-

но

 

установить

 

и

 

связанную

 

запись

 

из

 

Таблица

1

Таким

 

образом

значение

 

пер

-

вичного

 

ключа

 

из

 

Таблица

3

 

однозначно

 

определяет

 

по

 

одной

 

записи

 

из

 

всех

 

трех

 

таблиц

 

и

соответственно

все

 

значения

 

атрибутов

 

объекта

4. 

Каждому

 

выбранному

 

полю

 

поставьте

 

в

 

соответствие

 

имя

 

атрибута

 

объекта

5. 

Загрузите

 

БД

 «

Базовые

 

объекты

». 

6. 

На

 

уровне

 

Группа

 

объекта

 

выберите

 

раздел

в

 

который

 

целесообразно

 

помес

-

тить

 

регистрационную

 

информацию

 

о

 

новом

 

классе

 

объектов

При

 

необходимо

-

сти

 

сформируйте

 

в

 

таблице

 

новую

 

запись

 (

новый

 

раздел

). 

7. 

Перейдите

 

на

 

уровень

 

Объекты

Сформируйте

 

новую

 

запись

 

и

 

введите

 

пара

-

метры

 

нового

 

класса

имя

 

класса

псевдоним

 

используемой

 

БД

 

и

 

т

.

д

Если

 

за

-

Рис

. 4.5. 

Пример

 

структуры

 

БД

 

 

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

201

данное

 

пользователем

 

имя

 

нового

 

класса

 

окажется

 

не

 

уникальным

то

 

система

 

выведет

 

сообщение

 

об

 

ошибке

 (

рис

. 4.6). 

В

 

этом

 

случае

 

следует

 

изменить

 

имя

 

и

 

повторить

 

ввод

 

остальных

 

параметров

 

класса

 

Рис

. 4.6. 

Сообщение

 

об

 

ошибке

 

8. 

Перейдите

 

на

 

уровень

 

Таблицы

Введите

 

данные

 

о

 

таблицах

в

 

которых

 

разме

-

щены

 

поля

 

со

 

значениями

 

атрибутов

 

объектов

Напомним

что

 

номер

 

уровня

 

присваивается

 

таблице

 

в

 

соответствии

 

с

 

иерархической

 

структурой

 

БД

Если

 

таблица

 

содержит

 

поле

в

 

которой

 

хранятся

 

ссылки

 

на

 

таблицы

 

типоразмеров

 

введите

 

физическое

 

имя

 

этого

 

поля

 

в

 

Поле

 

регистр

таблиц

 

типоразм

9. 

Для

 

каждой

 

таблицы

зарегистрированной

 

на

 

уровне

 

Таблицы

 

БД

  «

Базовые

 

объекты

», 

выполните

 

следующие

 

действия

9.1. 

Перейдите

 

на

 

уровень

 

Атрибуты

Введите

 

данные

 

об

 

атрибутах

 

объектов

 

и

 

по

-

лях

 

таблицы

Не

 

забудьте

 

указать

 

ключевой

 

атрибут

 (

поле

 

Признак

 ID 

объекта

), 

выбранный

 

в

 

п

. 3 

алгоритма

9.2. 

Перейдите

 

на

 

уровень

 

Данные

 

 

система

 

загрузит

 

регистрируемую

 

таблицу

 

в

 

рабочее

 

поле

 

системы

9.3. 

Нажмите

 

клавишу

 <

F3

для

 

запуска

 

Редактора

 

структуры

 

данных

9.4. 

Щелкните

 

мышью

 

в

 

колонке

 

Атрибут

 

объекта

 

напротив

 

поля

которому

 

требует

-

ся

 

сопоставить

 

атрибут

 

объекта

Нажмите

 

скрытую

 

кнопку

  «

многоточие

»  (

рис

4.7) 

для

 

доступа

 

к

 

справочнику

 

базовых

 

объектов

9.5. 

Так

 

как

 

в

 

БД

  «

Базовые

 

объекты

» 

уже

 

указаны

 

соответствия

 

полей

 

и

 

атрибутов

 

объектов

 (

по

 

результатам

 

выполнения

 

п

. 7 – 9 

алгоритма

), 

то

 

система

 

автомати

-

чески

 

установит

 

курсоры

 

в

 

таблицах

 

ОБЪЕКТЫ

 

и

 

АТРИБУТЫ

 

на

 

нужных

 

записях

 

(

рис

. 4.7). 

Нажмите

 

кнопку

 

ОК

 

для

 

копирования

 

выбранных

 

данных

 

в

 

таблицу

 

Ре

-

дактора

 

Для

 

поля

зарегистрированного

 

в

 

БД

 «

Базовые

 

объекты

», 

можно

 

указать

 

в

 

Редакторе

 

структуры

 

данных

 

только

 

атрибут

сопоставленный

 

этому

 

полю

 

в

 

таблице

 

Атрибуты

  (

см

рис

.  4.4). 

В

 

противном

 

случае

 

система

 

выведет

 

соответствующее

 

предупреждение

9.6. 

Повторите

 

пп

. 9.4 – 9.5 

для

 

всех

 

атрибутов

значения

 

которых

 

хранятся

 

в

 

табли

-

це

9.7. 

Сохраните

 

внесенные

 

изменения

 

и

 

закройте

 

Редактор

 

структуры

 

данных

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

202

 

Рис

. 4.7. 

Заполнение

 

колонки

 

Атрибут

 

объекта

 

в

 

Редакторе

 

структуры

 

данных

 

4.2.3. 

Особенности

 

регистрации

 «

свободных

» 

атрибутов

 

объектов

 

Некоторые

 

атрибуты

 

объектов

 

не

 

могут

 

быть

 

однозначно

 

связаны

 

с

 

одним

 

полем

 

одной

 

реляционной

 

таблиц

В

 

частности

значимым

 

атрибутом

 

объектов

 

класса

 «

Ре

-

жущий

 

инструмент

» (

RI

является

 

атрибут

 «

Типоразмер

» (

OBOZN

). 

Вместе

 

с

 

тем

 

ин

-

формация

 

о

 

типоразмерах

 

РИ

 

распределена

 

по

 

нескольким

 

сотням

 

таблиц

поэтому

 

данный

 

атрибут

 

нельзя

 

сопоставить

 

одному

 

полю

 

одной

 

таблицы

 

Рис

. 4.8 

БД

 «

Базовые

 

объекты

». 

Уровень

 

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

 

атрибуты

 (

таблица

 

BASE_OBJECT_FREENOT

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

203

Подобные

 

атрибуты

 

следует

 

регистрировать

 

как

 «

свободные

» 

атрибуты

 

в

 

специ

-

альной

 

таблице

 

BASE_OBJECT_FREENOT

 (

уровень

 

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

 

атрибуты

 

БД

 

«

Базовые

 

объекты

», 

рис

. 4.8). 

В

 

таблице

 

указываются

 

следующие

 

данные

Поле

 

Данные

 

Атрибут

 

объекта

 

Имя

 «

свободного

» 

атрибута

Экранное

 

имя

 

Экранное

 

имя

 

полей

в

 

которых

 

хранятся

 

значения

 

атрибута

Стандартный

 

алгоритм

 

регистрации

  «

свободных

» 

атрибутов

 

включает

 

следую

-

щие

 

операции

1. 

В

 

таблице

 

BASE_OBJECT2

 (

уровень

 

Объекты

 

БД

 «

Базовые

 

объекты

») 

найдите

 

объект

для

 

которого

 

требуется

 

зарегистрировать

 «

свободный

» 

атрибут

2. 

Перейдите

 

на

 

уровень

 

Таблицы

В

 

поле

 

Поле

 

регистр

таблиц

 

типоразм

. (

см

рис

.  4.3) 

введите

 

физическое

 

имя

 

поля

в

 

котором

 

хранятся

 

имена

 

таблиц

 

со

 

«

свободными

» 

атрибутами

 (

например

имена

 

таблиц

 

типоразмеров

). 

3. 

Перейдите

 

на

 

уровень

 

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

 

атрибуты

 

и

 

зарегистрируйте

 «

свобод

-

ные

» 

атрибуты

4. 

На

 

пустую

 

страницу

 

блокнота

 

загрузите

 

БД

из

 

которой

 

можно

 

осуществить

 

пере

-

ход

 

к

 

таблице

 

со

 

значениями

 «

свободного

» 

атрибута

Например

для

 

регистра

-

ции

 «

свободного

» 

атрибута

 

в

 

таблицах

 

типоразмеров

 

РИ

 

следует

 

загрузить

 

БД

 

«

Режущий

 

инструмент

». 

5. 

Перейдите

 

на

 

таблицу

в

 

которой

 

размещены

 

значения

 «

свободного

» 

атрибута

и

 

нажмите

 

клавишу

 <

F3

для

 

запуска

 

Редактора

 

структуры

 

данных

6. 

В

 

колонку

 

Атрибуты

 

объекта

 

введите

 

имя

 «

свободного

» 

атрибута

 

напротив

 

по

-

ля

в

 

котором

 

хранятся

 

значения

 

атрибута

Процедура

 

заполнения

 

колонки

 

Ат

-

рибуты

 

объекта

 

иллюстрируется

 

рис

. 4.7. 

7. 

Повторите

 

действия

 

п

. 5 – 7 

для

 

всех

 

таблиц

в

 

которых

 

хранятся

 

значения

 «

сво

-

бодного

» 

атрибута

 

«

Свободный

» 

атрибут

 

можно

 

сопоставить

 

любому

 

полю

не

 

зарегистри

-

рованному

 

в

 

БД

 «

Базовые

 

объекты

». 

4.3. 

Проектирование

 

ассоциативных

 

связей

 

между

 

объектами

 

4.3.1. 

Общие

 

сведения

 

Под

 

ассоциативной

 

связью

 

понимается

 

специальная

 

связь

 

между

 

двумя

 

лю

-

быми

 

классами

 

объектов

 

ВЕРТИКАЛЬ

-

Справочники

позволяющая

 

оптимизировать

 

процессы

 

выбора

 

объектов

 

и

 

их

 

атрибутов

 

из

 

базы

 

данных

Так

настройка

 

ассоциа

-

тивных

 

связей

 

между

 

классами

 

STANOK

 (

оборудование

и

 

RI

 (

режущий

 

инструмент

позволяет

например

при

 

заданной

 

модели

 

станка

 

автоматически

 

сформировать

 

вы

-

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

204

борку

 

только

 

тех

 

типоразмеров

 

режущего

 

инструмента

которые

 

могут

 

использоваться

 

на

 

выбранном

 

оборудовании

Таким

 

же

 

образом

 

возможно

 

решение

 

обратной

 

задачи

по

 

заданному

 

типоразмеру

 

РИ

 

получить

 

список

 

оборудования

на

 

котором

 

его

 

можно

 

применить

Автоматизация

 

решения

 

подобных

 

типовых

 

задач

 

значительно

 

повышает

 

эффек

-

тивность

 

работы

 

пользователя

 

с

 

данными

 

и

 

позволяет

 

избежать

 

ошибок

 

при

 

форми

-

ровании

 

специализированных

 

информационных

 

массивов

 (

например

текстов

 

техно

-

логических

 

процессов

). 

Каждая

 

пара

 

классов

 

с

 

настроенной

 

ассоциативной

 

связью

 

называется

 

типом

 

связи

Для

 

каждого

 

типа

 

связей

 

создается

 

отдельная

 

таблица

 

 

так

 

называемая

 

таблица

 

согласования

 

связей

в

 

которой

 

хранятся

 

все

 

параметры

 

настройки

 

ассо

-

циативных

 

связей

 

между

 

объектами

Данные

 

из

 

таблицы

 

применяются

 

в

 

решении

 

всех

 

практических

 

задач

использующих

 

связи

 

между

 

объектами

 (

в

 

качестве

 

примера

 

можно

 

привести

 

задачу

 

настройки

 

фильтрации

 

по

 

признаку

 «

Связь

», 

рассмотренную

 

в

 

подразделе

  3.15.2). 

Имя

 

таблицы

 

согласования

 

связей

 

формируется

 

автоматически

  

при

 

создании

 

нового

 

типа

 

связи

 

по

 

шаблону

LINKS_

{

Имя

 

класса

 

объектов

}_{

Имя

 

класса

 

объектов

Например

LINKS_STANOK_RI

 

является

 

таблицей

 

согласования

 

связей

 

объектов

 

класса

 

STANOK

 

и

 

класса

 

RI

Порядок

 

расположения

 

классов

 

в

 

имени

 

таблицы

 

опре

-

деляется

 

в

 

процессе

 

регистрации

 

нового

 

типа

 (

см

подраздел

 4.3.4). 

Важно

 

понимать

что

в

 

отличие

 

от

 

реляционных

 

связей

ассоциативные

 

связи

 

создаются

 

между

 

классами

 

объектов

а

 

следовательно

перед

 

началом

 

настройки

 

свя

-

зей

 

должна

 

быть

 

полностью

 

сформирована

 

как

 

реляционная

так

 

и

 

объектная

 

структу

-

ра

 

обрабатываемых

 

данных

4.3.2. 

Интерфейс

 

приложения

 «

Редактор

 

связей

» 

Проектирование

 

ассоциативных

 

связей

 

между

 

объектами

 

ВЕРТИКАЛЬ

-

Справочники

 

осуществляется

 

в

 

специальном

 

приложении

 «

Редактор

 

связей

». 

Испол

-

няемый

 

модуль

 

приложения

 

SetLink.exe

 

расположен

 

в

 

подкаталоге

 

UTILS

 

корневого

 

каталога

 

ВЕРТИКАЛЬ

-

Справочники

Окно

 

Редактора

 

связей

 (

рис

. 4.9) 

содержит

 

следующие

 

компоненты

 

заголовок

 

окна

 

основное

 

меню

 

инструментальную

 

панель

 

панели

 

объектов

 

панель

 

параметров

 

с

 

вкладками

 

информационную

 

панель

Заголовок

 

окна

 

содержит

 

наименование

 

классов

 

объектов

загруженных

 

в

 

Ре

-

Глава

 4. 

Проектирование

 

объектной

 

структуры

 

пользовательских

 

баз

 

данных

 

ВЕРТИКАЛЬ

-

Справочники

 

 

205

дактор

 

связей

Основное

 

меню

 

расположено

 

непосредственно

 

под

 

заголовком

 

окна

В

 

состав

 

основного

 

меню

 

входят

 

следующие

 

разделы

 

Файл

.

 

Раздел

 

предназначен

 

для

 

управления

 

загрузкой

 

и

 

сохранением

 

настроен

-

ных

 

ассоциативных

 

связей

 

Связи

.

 

Раздел

 

предназначен

 

для

 

выполнения

 

процедур

 

создания

 

и

 

удаления

 

типов

 

связей

а

 

также

 

для

 

доступа

 

к

 

Редактору

 

атрибутов

 

связей

 

Панели

Раздел

 

содержит

 

меню

 

выбора

 

ведущей

 

панели

 

Справка

.

 

Раздел

 

доступа

 

к

 

справочной

 

информации

 

по

 

работе

 

с

 

приложением

 

Рис

. 4.9. 

Редактор

 

связей

 

Большинство

 

команд

 

основного

 

меню

 

дублируется

 

кнопками

 

инструментальной

 

панели

Кнопка

   

Функция

 

 

 

Выбрать

 

тип

 

связи

 

Загрузка

 

созданных

 

типов

 

связи

 

в

 

Редактор

 

для

 

про

-

смотра

 

и

 

редактирования

 

настроенных

 

связей

 

между

 

объектами

ВЕРТИКАЛЬ

-

Справочники

Руководство

 

пользователя

 

 

206

 

Сохранить

 

изменения

 

Сохранение

 

изменений

сделанных

 

в

 

текущем

 

сеансе

 

работы

 

с

 

выбранным

 

типом

 

связи

 

Создать

 

новый

 

тип

 

связи

 

Создание

 

нового

 

типа

 

связи

 

между

 

двумя

 

объектами

 

ВЕРТИКАЛЬ

-

Справочники

 

Выбрать

 

левую

 

панель

 

Выбор

 

левой

 

панели

 

в

 

качестве

 

ведущей

Понятие

 

«

ведущая

 

панель

» 

рассмотрено

 

ниже

 

Выбрать

 

правую

 

панель

 

Выбор

 

правой

 

панели

 

в

 

качестве

 

ведущей

 

Справка

 

Загрузка

 

файла

 

справки

 

по

 

работе

 

с

 

приложением

Панели

 

объектов

 

содержат

 

списки

 

объектов

 (

заданных

 

классов

), 

упорядоченных

 

по

 

группам

 

в

 

виде

 

дерева

В

 

заголовке

 

каждой

 

панели

 

указано

 

наименование

 

класса

 

(

например

,  «

Станок

» 

и

  «

Режущий

 

инструмент

» 

на

 

рис

.  4.9). 

Панель

 

с

 

выделенным

 

заголовком

 

является

 

ведущей

 

панелью

Ведущая

 

панель

 

определяет

 

один

 

объект

 

класса

с

 

которым

 

могут

 

быть

 

настроены

 

связи

 

с

 

одним

 

или

 

несколькими

 

объектами

 

другого

 

класса

Настройка

 

связей

 

между

 

объектами

 

построена

 

на

 

принципе

 «

один

-

ко

-

многим

», 

поэтому

 

на

 

ведущей

 

панели

 

можно

 

указать

 

только

 

один

 

объект

 

и

 

связать

 

его

 

с

 

несколькими

 

объектами

расположенными

 

на

 

другой

 

панели

Чтобы

 

поменять

 

веду

-

щую

 

панель

воспользуйтесь

 

командами

 

меню

 

Панели

 

или

 

соответствующими

 

кноп

-

ками

Чтобы

 

получить

 

доступ

 

к

 

вкладкам

 

панели

 

параметров

щелкните

 

мышью

 

на

 

за

-

головке

 

панели

 (

рис

. 4.10). 

На

 

вкладках

 

панели

 

размещена

 

следующая

 

информация

Вкладка

 

Данные

 

Список

 

связей

 

Таблица

 

связей

 

объекта

выделенного

 

на

 

ведущей

 

панели

Для

 

каждой

 

связи

 

указываются

 

наименования

 

объектов

ключевые

 

атрибуты

 

и

 

краткое

 

описание

 

связи

Двойной

 

щел

-

чок

 

мыши

 

на

 

записи

 

автоматически

 

устанавливает

 

курсор

 

на

 

выбранный

 

объект

 (

на

 

панели

 

объектов

). 

Описание

 

объектов

 

Таблицы

 

со

 

значениями

 

атрибутов

 

объектов

выделенных

 

на

 

панелях

 

объектов

.  

Изображения

 

Изображения

 

объектов

полученные

 

из

 

файлов

которые

 

подключены

 

к

 

таблицам

 

БД

  (

о

 

подключении

 

изображений

 

к

 

таблицам

 

см

раздел

 3.11). 

 

 

 

 

 

 

 

содержание      ..     20      21      22      23     ..