1 - 2006

Система ведения конструкторско-технологических баз данных IMBASE

Николай Кожемякин

Выбор архитектуры

Интерфейс программы

Организация базы данных

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

Система IMBASE, созданная в НПП «ИНТЕРМЕХ», специально предназначена для хранения и использования информации, необходимой для работы конструктора и технолога. Крепеж, инструмент, заготовки, основные и вспомогательные материалы и многое другое из того, что применяется в процессе проектирования, можно с легкостью ввести в базу данных IMBASE, после чего эти данные станут доступны для различных программ. Не изменив своей политике поставлять законченные решения, компания «ИНТЕРМЕХ» не только разработала удобный инструмент для ведения баз данных, но и поставляет вместе с IMBASE широкий набор стандартных изделий и материалов (более 700 ГОСТов). Иерархическая структура данных IMBASE, а также возможность ведения составных индексов позволяет быстро находить и использовать нужные данные. IMBASE на самом деле не является СУБД, а представляет собой связующее звено между СУБД и пользователем.

Выбор архитектуры

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

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

Вопрос о переводе IMBASE на платформу SQL-сервера не вызывал никакого сомнения. Основное внимание было уделено выбору такой архитектуры приложения, которая, с одной стороны, обеспечила бы надежную и бесперебойную работу большого количества пользователей, а с другой — при высокой загрузке сети не вызывала бы у них раздражения, связанного с неизбежными в таком случае задержками на отклик системы.

Главное окно IMBASE на фоне проводника Windows

Главное окно IMBASE на фоне проводника Windows

В прессе уже давно обсуждается архитектура приложений, реализованных на сервере. Причем на сервере предлагается хранить не только данные, но и бизнес-правила, определяющие целостность и правила хранения и обработки этих данных. Поскольку компании обычно склонны рассматривать затраты на покупку сервера баз данных как инвестиции в инфраструктуру, они охотнее будут приобретать аппаратуру и программное обеспечение, которые гарантируют оптимальную работу сервера. Еще совсем недавно в том случае, если реализация бизнес-правил на сервере сильно снижала его быстродействие, предприятие скорее соглашалось приобрести дополнительные ресурсы для решения этой проблемы, чем купить высокопроизводительные рабочие места для пользователей, даже если стоимость сервера превышала стоимость всех компьютеров пользователей. Но в последнее время ситуация с рабочими местами пользователей, особенно в области САПР, стала очень быстро меняться. Помогли в этом и Microsoft с Intel: Microsoft выпускает свои продукты с повышенными запросами к быстродействию, а Intel производит новые модели процессоров, которые эти потребности удовлетворяют. Тут ничего не поделаешь — бизнес есть бизнес. В этой ситуации возникает справедливый вопрос: почему при обработке данных за всё должен отвечать сервер, который к тому же иногда слабее некоторых рабочих станций?

Главное окно IMBASE

Главное окно IMBASE

Мастер создания новой таблицы

Мастер создания новой таблицы

Проанализировав все эти тенденции развития, разработчики IMBASE выбрали в качестве архитектуры системы модель с «толстым клиентом». Суть этой модели обработки данных сводится к тому, что рабочая станция получает от сервера, на котором выполняется СУБД, например Oracle или InterBase, «сырые» данные и производит их обработку уже непосредственно на рабочей станции. Часть данных после обработки сохраняется на рабочей станции, и если пользователю понадобилось выбрать из базы какой-нибудь объект, уже полученный от сервера, то в первую очередь проверяется, изменялся ли этот объект на сервере. Если нет — то используется локальная копия данных.

В качестве базовой СУБД был выбран сервер базы данных InterBase одноименной фирмы, известный в России под названием IBDataBase. Такое решение было принято как минимум по трем причинам, хотя на самом деле их гораздо больше. Это, во-первых, небольшой объем инсталляции сервера. Во-вторых, простота инсталляции, которая сводится к вводу кода авторизации и выбора папки, где будет находиться сервер. После перезагрузки компьютера сервер начинает работать. Все!!! Больше ничего делать не нужно. Думаю, те, кто устанавливал Oracle или Sybase, понимают, что это значит. И в-третьих, что немаловажно, сервер InterBase в том же объеме работает на локальном компьютере в качестве локального сервера.

Как показала практика, СУБД InterBase обеспечивает достаточную производительность при количестве пользователей до 80. Для корпоративных заказчиков, которые планируют применять большее число одновременно работающих станций, НПП «ИНТЕРМЕХ» рекомендует в качестве сервера СУБД использовать Oracle или MS SQL.

В начало В начало

Интерфейс программы

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

Иерархическое представление каталога технологической оснастки

Иерархическое представление каталога технологической оснастки

Редактирование макроподстановки для составного поля

Редактирование макроподстановки для составного поля

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

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

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

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

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

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

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

графические изображения . Все элементы IMBASE (каталоги, справочники, папки, таблицы) могут иметь графическое изображение, связанное с ними. Это облегчает выбор элементов из таблиц и папок, а также позволяет создавать на их основе иллюстрированные справочники и слайдовые меню. Поддерживается работа с графическими изображениями в форматах EMF, WMF, ICO, BMP, JPG, JPEG, SLD и SLB.

В начало В начало

Организация базы данных

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

База данных IMBASE логически организована как двухуровневая система с раздельным хранением данных и состоит из двух частей. На верхнем уровне находятся каталоги. Каталог содержит набор папок и ссылок на таблицы. В записи каталога для каждой таблицы хранятся данные, которые являются общими для всех или для группы записей, например наименование, обозначение, ГОСТ, материал, покрытие и др. Каждый каталог имеет свой набор полей.

Выбор крепежных изделий из базы данных

Выбор крепежных изделий из базы данных

Редактирование структуры каталога

Редактирование структуры каталога

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

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

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

База данных, созданная в IMBASE, может использоваться всеми программными продуктами НПП «ИНТЕРМЕХ». Комплекс программ включает конструкторскую систему CADMECH, работающую в AutoCAD, Autodesk Inventor 10, Unigraphics NX3, Solid Edge v18, SolidWorks 2005, Pro/ENGINEER; систему ведения архива технической документации и информации о составе изделия Search; систему автоматизации технологической подготовки производства TechCard и другие продукты.

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

Несмотря на то что система IMBASE является связующим звеном и информационным сервисом комплекса программных продуктов НПП «ИНТЕРМЕХ», она может выступать и как абсолютно самостоятельный продукт, и легко интегрироваться с различными CAD-системами. Развитой API-интерфейс позволяет широко применять IMBASE в различных областях компьютерного проектирования и обработки данных. Автор уверен, что вопрос создания и ведения иерархических баз данных стандартных элементов, материалов и других объектов, применяемых при проектировании узлов и изделий на предприятиях, очень актуален и заинтересует многих читателей, а инвариантность системы IMBASE привлечет к ней особое внимание.

В начало В начало

САПР и графика 1`2006