Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Средства разработки запросов к БД

Хоптынец Владимир Владимирович

Спецвыпуск: Хакер, номер #052, стр. 052-060-1


(vlad_km2004@rambler.ru) - начальник отдела автоматизации Хмельницкого БТИ (Украина)

Комментарий специалиста на примере

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

Множество существующих систем управления базами данных (СУБД) предлагают свою среду разработки запросов. А если приходится работать с несколькими источниками сразу? У каждой СУБД есть свои особенности SQL, особенности организации и хранения баз данных, способы обеспечения целостности.

Блокнот, Access...

Самым общедоступным средством создания запросов является… "Блокнот". Как ни странно, в обыкновенном "Блокноте" можно действительно эффективно создавать запросы практически для любых СУБД. Конечно, визуальные средства обеспечат реально удобное представление решаемой задачи, помогут определить связи и условия для запроса. Но в итоге все равно придется сталкиваться с обычным текстовым представлением SQL-запроса, как бы красиво и впечатляюще ни выглядела визуальная среда разработки.

Никто не запрещает разработчику использовать предоставляемые самими СУБД средства. Например, для наиболее распространенной СУБД Access, которая входит в пакет приложений Microsoft Office, предусмотрена своя среда разработки запросов, которая имеет собственные недостатки. Во-первых, невозможность увидеть, структурировано ли само "тело" запроса в уже готовом текстовом виде. А иногда сам запрос показывается в таком диком виде, что остается только догадываться, как подобное могло прийти в голову разработчику. Простой пример из базы данных по недвижимости:

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

Но если ты научился работать и создавать сложные запросы в самом Access, то тебе прямая дорога к более продвинутым клиент-серверным вариантам СУБД. Например, в Microsoft SQL Server через Enterprise Manager создание запросов почти полностью аналогично Access, что облегчает переход, но вместе с тем удобств к разработке сложных запросов не добавляет. А для анализа запроса используется средство, поставляемое вместе с самим сервером – SQL Query Analizer.

Interbase? ibExpert!

Следует отметить горячо любимый многими продукт фирмы Borland – Interbase. В самом Interbase как таковых визуальных средств разработки запросов нет. Но можно прекрасно обращаться с Interbase при помощи ibExpert. Это очень гибкий и мощный инструмент. В нем присутствует возможность разрабатывать структуру самой БД, сохранять и выполнять скрипты на SQL, использовать множество встроенных утилит, облегчающих работу как разработчика, так и администратора. Весьма удобно представлено тестирование созданных запросов на предмет быстродействия (текстом или графически).

Содержание  Вперед на стр. 052-060-2