SQL в ARCHICAD

 

SQL (Structured Query Language – структурированный язык запросов) является наиболее распространенным языком работы с базами данных. Он позволяет формулировать запросы к базе данных и получать структурированные результаты.
Так как проекты ARCHICAD, в целом, представляют собой базы данных конструктивных элементов (Стен, Перекрытий, Крыш, Оболочек, Объектов и т.д.), при помощи SQL можно получать данные об элементах, присутствующих в проекте. По умолчанию меню SQL отсутствует во всех Профилях Окружающей Среды. Для работы с SQL воспользуйтесь диалогом настройки Окружающей Среды, чтобы включить в структуру Меню следующие команды:
Запрос SQL
Показать Структуру Данных
Примечание: Чтобы найти эти команды, воспользуйтесь командой Параметры > Окружающая Среда > Меню, активируйте вариант “Все команды по теме” и раскройте список Расчеты.
Активируйте команду Запрос, чтобы открыть Окно Запроса SQL, предназначенное для ввода SQL-команд создания ведомостей.
SQL-команды могут относиться либо к выбранным элементам, либо ко всей базе данных Проекта ARCHICAD. Это означает, что использование SQL-команд не даст никакого результата в новом Проект, не содержащем ни одного элемента.
Введенные в окно Запроса SQL-команды обрабатываются в Механизмом SQL, формирующим XML-файл с результатами запроса, отображаемыми в браузере.
SQL-данные Проекта ARCHICAD отображаются в виде таблиц. Эти таблицы содержат информацию об элементах, параметрах и реквизитах Проекта. Например, таблица WALLS содержит все столбцы (параметры, значения, связанные со стенами), которые можно использовать для каждого элемента Стен.
При активации команды Показать Структуру Данных в окне браузера отображается файл XML, содержащий список всех Таблиц, которые могут использоваться в запросах SQL.
Команда SELECT является одной из наиболее часто используемых в Языке SQL. Она позволяет задать набор элементов, участвующих в запросе. Синтаксис этой команды представляет собой следующее выражение:
SELECT <parameters> FROM <table>
В поле <parameters> можно указать имена интересующих вас параметров таблицы. Применение символа * приводит к отображению всех параметров. Имена нескольких параметров, включаемых в запрос, следует разделять запятыми.
В поле <table> указывается имя таблицы, из которой требуется получить данные.
На расположенной выше иллюстрации была использована команда SELECT * FROM WALLS, что привело в включению в отчет всех параметров таблицы WALLS . На следующей иллюстрации приведен пример включения в команду параметров Пользовательского ID, Длины, Высоты и Толщины, разделенных запятыми.
Следующим модификатором SQL-команд является WHERE. Он позволяет ограничить количество элементов, включаемых в отчет. Например, запрос:
SELECT ID, LENGTH, HEIGHT, THICKNESS FROM WALLS WHERE HEIGHT=’2.700′
приводит к выводу значений перечисленных параметров только для Стен высотой 2.7 метра (числовые значения в командах GRAPHISOFT® всегда указываются в метрической системе).
База данных ARCHICAD имеет некоторое отличие от обычных баз данных SQL. Оно заключается в том, что некоторые параметры некоторых таблиц сами являются таблицами. Например, столбец Parameters таблицы OBJECTS сам является таблицей. Ввод запроса:
SELECT USERID, LIBRARY_PART_NAME, PARAMETERS FROM OBJECTS WHERE LIBRARY_PART_NAME=’Стул 01′
приводит к получению следующего результата:
Отчет содержит Пользовательский ID, Имя Библиотечного Элемента и Параметры объекта Стул 01.gsm. Как вы можете заметить, расширение имени файла библиотечного элемента в командах SQL не указывается. Столбец Параметры содержит таблицу ПАРАМЕТРЫ со своими собственными столбцами.
В языке SQL GRAPHISOFT имеется специальная команда для получения только такой внутренней таблицы. Она называется FLAT и ее синтаксис следующий:
FLAT(<table>, <parameter>) AS <name>
В полях <table> и <parameter> указывается имя таблицы и параметр, который следует вывести. Поле <name> определяет новое имя создаваемой таблицы, чтобы на нее можно было сослаться.
Ниже приводится пример вывода всех параметров объекта Стул 01.gsm. Здесь таблице PARAMETERS, вложенной в таблицу OBJECTS, присвоено имя XX. Обращение к таким вложенным параметрам осуществляется следующим образом: XX.PARAMETERS.<parameter>, где XX.PARAMETERS – таблица параметров объекта. Расположенная ниже иллюстрация демонстрирует результат выполнения такого запроса SQL:
Давайте рассмотрим простой пример. С помощью одной из основных Схем Ведомостей Зон мы можем создать следующий список помещений жилого здания. Все зоны, расположенные на одном этаже, имеют одинаковый Пользовательский ID: ‘A1-03’.
Для получения того же результата с помощью SQL следует выполнить следующий запрос. Воспользовавшись модификатором WHERE, мы можем создать отчет только Зон, находящихся на этаже ‘A1-03’:
Результат будет выглядеть следующим образом:
Язык SQL имеет много других команд и возможностей. Подробную информацию об этом языке можно найти в Интернет. На начальном этапе знакомства с SQL можно использовать следующий сайт: http://www.sql.org/
Существует также документация по использованию SQL GRAPHISOFT. Она включена в документацию GRAPHISOFT ODBC (Open Database Connectivity), которая может быть загружена со страницы Документации Центра Разработчиков GRAPHISOFT по следующему адресу: http://www.graphisoft.ru/support/developer/tools/.
На этой же странице можно загрузить драйвер ODBC. Он позволяет пользователям приложений, работающих с базами данных, подключаться к базам данных проектов ARCHICAD (файлы *.PLN) и извлекать из них данные. Для получения доступа к данным ресурсам, пожалуйста, воспользуйтесь разделом Загрузки Центра Разработчиков GRAPHISOFT на сайте GRAPHISOFT.

Обсуждение закрыто.