Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Graficheskie_bazy_dannykh.doc
Скачиваний:
18
Добавлен:
19.09.2019
Размер:
117 Кб
Скачать
☆

Операционные команды в конструкторских базах данных

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

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

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

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

Координаты могут считываться с экрана графического устройства, вводиться со специального планшета или с клавиатуры. Для ввода могут использоваться и файлы, содержащие команды и координаты, при этом возможны два типа ввода — в диалоге и в пакетном режиме.

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

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

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

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

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

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

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

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

Операция зеркального отображения объекта затрагивает положение точки привязки текстового блока, но не должна влиять на начертание отдельных символов. Набор символов должен быть расширяемым — по мере необходимости в него должны вводиться на правах символа соответствующие графические объекты. Может оказаться целесообразным определение нескольких альтернативных наборов символов.

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

Специальная операция позволяет пользователю размножать любые графические объекты и (или) блоки. При размножении масштаб и ориентация размножаемого изображения могут фиксироваться. В другом варианте задания операции размножения для указания ориентации используется дополнительная координата.

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

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

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

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

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

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

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

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

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

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