Когда возможные значения параметров чертежей-фрагментов либо сборочного чертежа можно организовать в виде таблицы, в которой в зависимости от одного или нескольких ключевых полей таблицы можно определять остальные параметры, удобно использовать базы данных. База данных может быть внутренней либо внешней. Внутренние базы данных обеспечивают большую скорость отбора значений. Внешние - возможность обращения из различных чертежей к одной базе данных плюс совместимость с общепризнанным стандартом хранения баз данных - dbf. Подробнее о способах доступа к базам данных читайте в разделах Базы данных, Список значений переменной, Библиотеки параметрических чертежей.
Наиболее часто базы данных используются для хранения параметров стандартных изделий. Это позволяет получать все прописанные в стандарте разновидности изделия из одного документа, устанавливая необходимые значения внешних переменных при вставке фрагмента изделия в сборку. В рассматриваемом примере сборки кондуктора присутствует ряд стандартных деталей: винты, втулки, опоры, откидной болт, рукоятки, штифты.
В документе рукоятки все параметры хранятся в одной базе данных. Для выбора нужной разновидности рукоятки достаточно задать соответствующий диаметр крепежного отверстия и исполнение. Эти параметры определяются внешними переменными фрагмента. Далее, в зависимости от значения диаметра, система автоматически выбирает из базы необходимые значения остальных параметров рукоятки с помощью функций frec() и val(), а значение исполнения управляет уровнями видимости линий, относящихся к соответствующему исполнению.
Остальные стандартные изделия, входящие в состав кондуктора, построены по более сложному общему принципу. Ключевым параметром для всех них, так же как и для рукоятки, является тот или иной диаметр (диаметр резьбы болта и винтов, диаметр отверстий во втулках, диаметр штифта, диаметр головки опоры). Однако, в отличие от рукоятки, при одном и том же диаметре значения ряда параметров могут отличаться в зависимости от длины или высоты изделия. Поэтому, помимо базы, используемой как источник параметров, зависящих только от диаметра, для каждого возможного значения диаметра также создана отдельная база, используемая как источник параметров, зависящих от длины/высоты. При вставке фрагмента в сборку, сначала, в зависимости от диаметра определяется имя нужной базы, а потом с помощью функций frec() и val(), в зависимости от расстояния между точками привязки (если фрагмент вставляется по точкам) или от длины/высоты, введенной вручную, (если фрагмент вставляется по вектору) из этой базы выбираются значения параметров изделия. При этом, поскольку расстояние между точками привязки может не соответствовать ни одной из стандартных длин/высот изделия, при вставке по точкам длина/высота также выбираются из базы, как ближайшее большее к расстоянию между точками.
Базы данных стандартных изделий из примера кондуктора являются внутренними и хранятся в документах каждого изделия. Это упрощает перенос и копирование файлов изделий между разными папками и разными устройствами, но не позволяет обращаться к этим базам из других фрагментов.
Однако, при задании связей между разными фрагментами может быть целесообразно использование общей базы для нескольких фрагментов. В сборке кондуктора, например, от задаваемого пользователем диаметра штифтов (Dpins) зависит геометрия откидного болта. При этом диаметр откидного болта должен совпадать с диаметром отверстия крепления рукоятки, а диаметр и ширина проушины откидного болта влияют на геометрию чертёжных деталей. Поэтому все перечисленные параметры автоматически выбираются в сборке из внутренней базы данных, а затем передаются во фрагменты с помощью связей переменных. Того же результата можно было бы достичь, выбирая значения отдельно в каждом фрагменте из общей внешней базы данных. При этом следует иметь в виду, что для работы с внешними базами данных некоторых форматов используются другие функции, а также учитывать наличие отдельного файла базы данных при перемещении и копировании файлов фрагментов.