Данные решают все
Компьютер — это устройство для хранения и обработки информации. Чем больше данных, имеющих отношение к вашему производству, собрано на ваших компьютерах, тем более глобальные и масштабные задачи становятся доступными для автоматизации. Занесли в компьютер учетные данные о сотрудниках — компьютер сможет автоматически рассчитывать зарплату. Установили систему документооборота (например, SEARCH) и занесли в электронный архив все разрабатываемые изделия и узлы — можно получать отчеты, ведомости, создавать извещения об изменениях и многое другое. Вся информация, которая может пригодиться не один раз, должна быть занесена в какую-нибудь базу данных.
Итак, вам требуется программа, которая позволит вводить данные и управлять их хранением. «По-научному» такие программы называются «системами управления базами данных» (СУБД). Несомненно, вы уже давно знакомы с этой аббревиатурой: в последнее время нам стали доступны десятки различных СУБД, и если раньше заводские программисты использовали FoxPro за неимением чего-нибудь другого, то теперь у них есть богатый выбор. Какая же СУБД лучше и как следует ее выбирать?
Во-первых, хорошая СУБД — это программа, которая позволит вам правильно организовать ваши данные. Если структура данных интуитивно понятна пользователям, то им будет гораздо легче работать. В частности, при правильной организации данных вам практически никогда не придется дважды вводить одну и ту же информацию; операторы, которых вы посадите набирать данные, сделают гораздо меньше ошибок, а вы впоследствии сможете гораздо легче найти необходимую информацию. Например, для каталога стандартных изделий (болты, винты и т.д.) естественной была бы иерархическая структура доступа, подобная изображенной на рис. 1.
Во-вторых, хорошая СУБД предоставляет вам гибкие возможности расширения и развития вашей базы данных. Как бы тщательно ваши специалисты ни проектировали структуру базы данных, все равно они не смогут предугадать потребности завтрашнего дня. Появятся новые задачи, для их решения будут написаны новые программы, которым потребуются новые данные. Позволяет ли ваша СУБД добавить новое поле без пересоздания всей структуры базы и переноса информации? Можете ли вы быстро присоединить к информации рисунок или даже несколько рисунков, как это изображено на рис. 2?
В-третьих, хорошая СУБД предоставляет вашим программистам удобный интерфейс для доступа к данным. Какими бы замечательными ни были универсальные системы управления производством и сколько бы тысяч долларов они ни стоили, все равно рано или поздно появится задача, специфическая для вашего предприятия, которую придется решать вашим программистам. И вот когда они, промучившись несколько месяцев в попытках «вскрыть» формат, в котором хранятся данные вашей СУБД, опустят руки, вы поймете, что значит продуманный и хорошо документированный интерфейс доступа к данным.
Наконец, в-четвертых, хорошая современная СУБД обязана поддерживать одновременную работу большого количества пользователей в сети и обеспечивать защиту информации. Вы должны выделить администратора, который проследит за назначением паролей пользователям и за своевременным страховым копированием данных. Ваша база данных будет располагаться на сервере, и все пользователи смогут получить к ней доступ. Если кто-нибудь (при наличии должных прав) изменит данные, они сразу же станут доступны всем остальным. Впрочем, все эти прописные истины наверняка вам уже известны.
Очевидно, что любой специализированный инструмент гораздо лучше справляется с той задачей, для которой он приспособлен, чем инструмент общего назначения. Точно так же и специализированная СУБД, предназначенная для работы с данными особой структуры, всегда будет гораздо эффективнее работать с этими данными, чем универсальная. Именно такой специализированной СУБД является IMBASE, созданная в НПП «ИНТЕРМЕХ», которая предназначена для хранения данных с иерархической организацией, таких как стандартные изделия, изображенные на рис. 1.
Как и все остальные программы НПП «ИНТЕРМЕХ», IMBASE написана на уровне самых высоких современных стандартов, с максимальным учетом потребности пользователей. При создании IMBASE использовался опыт высококвалифицированных конструкторов и технологов, которые принимали участие во всех стадиях работы над этой системой. Давайте рассмотрим, почему именно IMBASE является наилучшей СУБД для хранения данных о стандартных изделиях, справочников и других видов информации.
Как было сказано выше, система не просто хранит данные в большом количестве таблиц, но и обладает развитым механизмом их упорядочения и организации иерархического представления информации. В основе любой системы все равно лежат таблицы с параметрами ваших или стандартных изделий. Практически на всех предприятиях за последние 10-15 лет были созданы свои системы для хранения и обработки информации о крепеже, сортаменте и материалах, используемых в производстве. В подавляющем большинстве этих систем (по крайней мере в тех, с которыми знакомился автор этой статьи) использовались три основные таблицы: в первой хранился весь крепеж, во второй — сортамент, в третьей — материалы. Причем полей в этих таблицах было всего три-четыре. Это наименование, код ОКП либо внутренний код для использования в складских или бухгалтерских программах и несколько вспомогательных полей. Такой подход долгое время удовлетворял нуждам предприятия. Но в последнее время в связи с бурным ростом автоматизации стало очевидным, что этих данных недостаточно для конструкторских и технологических систем. САПР не может использовать текст БОЛТ М6-6g*8.36.019 ГОСТ 7798-70 для правильного отображения болта на чертеже, а система выпуска технологической документации не обеспечит, например, автоматического выбора сверла для изготовления детали этого изделия.
IMBASE предлагает другой подход при создании базы данных стандартных изделий, материалов, инструмента вашего предприятия. Суть его состоит в том, что на первом этапе создается каталог, позволяющий визуально проектировать структуру хранения изделий в виде дерева. Так как каталог представляет собой таблицу в базе данных, то каждый узел этой иерархической структуры — это отдельная запись в базе данных, которая хранит общую для всех типоразмеров данного изделия информацию, что позволяет избежать ее многократного дублирования в отдельных записях таблицы самого изделия. В качестве минимального набора полей каталога стандартных изделий рекомендуется использовать такие общие поля, как класс, ГОСТ, наименование, обозначение, исполнение, материал, покрытие, класс прочности, покупной, раздел СП.
После создания дерева иерархии можно приступить к созданию таблиц типоразмеров. Как уже говорилось, чем больше данных об изделии хранится в вашей базе данных, тем больше систем сможет работать с ней (например, конструкторские системы используют геометрические параметры и т. д.). Главное, чтобы при создании таблицы каждый параметр имел свое поле. Кроме реальных полей можно присоединять к таблице набор виртуальных или вычисляемых полей, содержащих общую информацию, которая и хранится в соответствующих записях каталога. В этом — главное отличие IMBASE от остальных систем подобного назначения.
IMBASE помогает пользователю создавать таблицу при помощи Мастера создания таблиц. Так как каждая таблица IMBASE существует в контексте своей записи каталога, на первом этапе предлагается выбрать те поля из текущего каталога, которые будут присоединены к таблице, как показано на рис. 3.
В нашей новой таблице поля класс, ГОСТ, обозначение, покрытие и класс прочности будут общими для каждой записи. Это значит, например, что изменение значения в поле ГОСТ в свойствах таблицы приведет к изменению этого значения во всех записях таблицы изделия.
На следующем этапе создаются поля, описывающие различные типоразмеры нашего изделия: диаметр резьбы, размер под ключ и высота гайки.
Все необходимые поля для таблицы созданы (рис. 4), и в заключение система предлагает заполнить поля каталога (рис. 5), которые будут общими для всех записей нашей таблицы (в IMBASE набор этих полей называется Свойства таблицы).
Для заполнения таблицы IMBASE предлагает удобный редактор с полным набором возможностей добавления, удаления, копирования и редактирования записей. В редакторе есть мощная система поиска и возможность пошаговой отмены произведенных изменений (рис. 6).
Вычисляемые поля таблицы выделены синим цветом. Как видно из рисунка, поля класс, ГОСТ, покрытие и класс прочности содержат значения из соответствующих полей записи каталога. Отдельно хочется остановиться на поле наименование, которое тоже относится к вычисляемым, но не содержит в себе данных из записи каталога, а формируется на базе макроподстановок (рис. 7). Возможность создания таких полей представляет собой еще одну важную особенность IMBASE.
Поле наименование для нашего изделия формируется при помощи следующей макроподстановки:
МДИАМЕТР РЕЗЬБЫ.КЛАСС ПРОЧНОСТИ.ПОКРЫТИЕ.
Макроподстановка представляет собой произвольный текст со ссылками на другие поля таблицы. Если стандарт для наименования изменился, достаточно изменить текст этой макроподстановки с учетом новых требований только в одном месте. Изменение во всех записях таблицы произойдет автоматически.
Еще одной разновидностью вычисляемых полей являются поля, значение в которых вычисляется по математической формуле: например, можно указать, что поле площадь будет вычисляться как произведение значений полей длина и ширина. При изменении одного из этих значений значение в поле площадь будет пересчитываться.
При заполнении полей важно контролировать правильность вводимых данных. В IMBASE это достигается путем назначения полям возможности выбора значений из заранее определенных списков (рис. 8).
Списки для выбора значения могут быть именованными, то есть выбирается символьное обозначение параметра, а в таблицу записывается его эквивалент. Для примера на рис. 9 показан именованный список покрытий.
В поле покрытие редактор таблицы показывает символическое описание параметра и обеспечивает выбор требуемого значения (рис. 10).
Вы можете заметить, что в этом примере данные в поле не могут быть изменены путем ввода их с клавиатуры. Это обеспечивает проверку правильного ввода данных еще на этапе заполнения таблицы.
Левее от поля покрытие находится вычисляемое поле наименование, в котором имеется ссылка на покрытие. Ссылка находится в конце макроопределения для поля наименование. В сформированном наименовании изделия, как вы можете заметить, в обозначении покрытия вместо символьного многослойное медь-никель-хром подставлено реальное значение из поля покрытие, то есть 004.
В заключение автор хотел бы отметить, что система IMBASE разрабатывалась как система для упорядоченного хранения и использования широкого круга данных, которые требуются конструктору и технологу в его повседневной работе. Программные продукты НПП «ИНТЕРМЕХ» используют информацию, хранящуюся в IMBASE, для получения данных о стандартных элементах, материалах, типовых технологических процессах и т.д. Единая справочно-информационная база служит для объединения и совместного использования всех этих данных. В следующих статьях нашего цикла мы рассмотрим вопросы интеграции продуктов НПП «ИНТЕРМЕХ» и программных продуктов, разработанных другими компаниями с базой данных IMBASE.
«САПР и графика» 7'2000