русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Построение запроса в QBE и просмотр его в режиме SQL


Дата добавления: 2015-07-09; просмотров: 5375; Нарушение авторских прав


Важным приемом предлагаемой методики изучения конструкций языка SQL является одновременное использование конструктора запросов (QBE - Query By Example) запроса и редактора SQL запроса. Такая удобная возможность имеется в СУБД Access. Суть приема заключается в том, сто сначала пользователь создает запрос в QBE, а затем просматривает и модифицирует его в редакторе запросов SQL. Иногда целесообразна обратная операция. Пользователь пишет запрос в SQL-редакторе, а затем переходит в QBE, где добавляет условия запроса, используя удобный механизм «перетаскивания мышью» (drag-and-drop). Таким образом, пользователь быстро привыкает к конструкциям языка SQL.

Для выполнения заданий откроем базу данных Avto.mdb[2], в которой будем строить учебные запросы на языке SQL.

Начнем с построения простого запроса, который отображает все строки и все столбцы одной таблицы Salespeople (Продавцы).

В СУБД Access для построения запросов к базе данных существует простой и удобный инструмент – конструктор (или мастер) построения запросов, называемый QBE, использование которого заключается в следующем:

- надо войти в закладку (команду) ЗАПРОСЫ;

- выбрать режим «Создать» запрос с помощью «Конструктора запросов» (на экране появится макет запроса как показано на рис.1 ниже);

- на верхнем поле конструктора надо разместить таблицу Salespeople (для этого можно использовать кнопку ДОБАВИТЬ);

- затем для создания нашего запроса надо из макета таблицы Salespeople мышкой перетащить «звездочку» (*) в макет запроса (в первый столбец первой строки (Поле:) ). После правильного выполнения этих процедур получается макет запроса, как показано на рис.5.

 

Поле для размещения макетов таблиц
Поле для макета запроса

Рис.5. Макет простого запроса к таблице Salespeople, построенный в конструкторе на QBE.



 

Для выполнения запроса нажмите пиктограмму [!], которая находится в центре строки пиктограмм. В результате выполнения запроса, получится таблица, которая отображает все строки и все столбцы таблицы Salespeople (см. рис.6.).

 

Рис.6. Результат выполнения запроса, сконструированного на QBE (запрос см. рис.5).

 

Замечательная особенность конструктора QBE в Access состоит в том, что параллельно с табличной формой конструирования запроса создается и SQL- выражение, которое можно просмотреть и отредактировать с помощью специального режима «SQL». Теперь перейдем в режим SQL, для чего выполним следующее: Вид®SQL, и получим отображение созданного запроса на языке SQL, который будет иметь вид как показано на рис.3. Внимательно рассмотрим его и убедимся, что его структура полностью соответствует синтаксису команды SELECT в языке SQL, которая в общем виде может представлена следующей структурой:

 

SELECT <список столбцов>

FROM <таблица>

[WHERE <условия отбора>]

[ORDER BY <условия сортировки>]

[GROUP BY <условия группировки>];

 

где SELECT, FROM, WHERE, ORDER BY, GROUP BY ключевые слова языка SQL,

[ ] – обозначает необязательное присутствие термов (или ключевых слов языка SQL),

<список столбцов> - задает список выводимых столбцов, разделенных запятой ( в нашем случае выбраны все столбцы, что обозначено специальным символом «звездочка» ),

<таблица> - задает имя таблицы (или нескольких объединенных таблиц), из которой происходит выбор строк ( в нашем случае таблица Salespeople).

В запросе, созданным с помощью QBE представлены только ключевые слова SELECT и FROM. Другие ключевые слова (WHERE, ORDER BY и т.п.) в запросе отсутствуют, поэтому в данном случае запрос имеет вид как показано на рис.7. Этот запрос выводит все строки и все таблиц таблицы Salespeople аналогично запросу, созданному на QBE выше (результат работы запроса см. рис. 6).

 

Рис.7. Пример сконструированного запроса на языке SQL

 

Используя встроенный текстовый редактор, отредактируем полученный запрос (см. рис. 7) до вида как показано на рис 8. и еще раз запустим запрос на исполнение с помощью пиктограммы <!>. Убедимся, что результат выполнения запроса не изменился. Таким образом, мы можем не только, просматривать запросы в режиме SQL (что само по себе весьма удобно и поучительно), но и самостоятельно конструировать требуемые запросы на языке SQL, а затем выполнять их в среде СУБД Access.

 

Рис. 8. Вид отредактированного запроса в режиме редактора запросов на языке SQL в СУБД Access.

 

Чтобы убедиться в правильности нашего утверждения, добавим в запрос (см. рис.8) условие на отбор строк из таблицы Salespeople. Предположим, что нам надо получить список продавцов, которые живут в городе Москве (т.е. отобрать все записи, которые удовлетворяют условию: WHERE saddress = “Москва”). И так, наш запрос на SQL будет выглядеть так:

 

SELECT * FROM Salespeople FROM WHERE saddress = “Москва”.

 

Используя пиктограмму <!>, запустим созданный запрос на исполнение и получим следующую таблицу, которая отображена на рис.9 ниже. Как и следовало ожидать, отобраны только 3-и строки, которые удовлетворяют заданному условию: продавцы живут в городе Москва.

Рис.9. Пример простого запроса с условием.

 

Замечание: При формировании условия значения текстовых столбцов должны выделяться в кавычки (двойные или одинарные), столбцы дат – в «решетки» (#), числовые данные не требуют выделения.

Теперь вернемся в режим представления запроса в форме QBE (режим Конструктор). Для этого выполним Вид ® Конструктор, на экране получим форму запроса как показано на рис.10.

 

Задание условия saddress=”Москва”

Рис.10. Запрос с условием в режиме конструктора.

 

Запрос, созданный в QBE, в режиме SQL будет выглядеть так (напомним, что для перехода в режим SQL выполни Вид®SQL):

 

SELECT Salespeople.*

FROM Salespeople

WHERE (((Salespeople.saddress)="Москва"));

 

Замечание: Язык SQL не чувствителен к регистру, на котором пишутся ключевые слова (например, SELECT и select будут восприниматься одинаково). Однако рекомендуется выделять ключевые слова, используя регистр заглавных букв.

Конструктор при построении запросов расставляет много «лишних» круглых скобок, которые можно удалить при редактировании. Например, выше приведенный запрос, который создан конструктором, можно отредактировать, упростить и представить его так:

 

SELECT * FROM Salespeople WHERE saddress ="Москва";

 

Таким образом, построенные в SQL-редакторе запросы удобно просматривать в QBE, где запрос можно проверить, изменить и корректность, а затем снова вернуться в режим SQL и редактировать запрос в режиме текстового редактора. Такой способ может стать основой быстрого проектирования SQL-запросов (элемент «экспресс» технологии построения приложений). Запросы, созданные с помощью «экспресс» технологии, затем могут использоваться в различных программных приложениях (например, в VBA или в Web-приложениях).

 



<== предыдущая лекция | следующая лекция ==>
Заключение. | Задание списка имен столбцов и изменение имен столбцов в запросе.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.699 сек.