Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DB-Lab4-QBE в SQLServer.doc
Скачиваний:
39
Добавлен:
15.04.2015
Размер:
956.93 Кб
Скачать

32 Лабораторная работа №4 создание запросов средствами языка qbe

Цель работы:Получить навыки создания запросов на выборку к БД на языкеQBEв СУБДMSSQL Server 2005.

Теоретическая часть:

1. Понятие запроса. Виды запросов.

Запросомназывают информационные потребности пользователя к БД, выраженные на специальном языке. Результатом выполнения запроса является временная таблица, которая содержит поля, интересующие пользователя, и в которую помещаются требуемые пользователю записи.

По способу формирования запросы подразделяются на два типа:

1. Структурированные запросы. Такие запросы программируются с помощью операторов языка SQL (Structured Query Language).

2. Запросы по образцу. Формируются посредством языка QBE (Query By Example).

Язык запросов по образцу QBE использует визуальный подход для организации доступа к информации в БД. Работа на нем осуществляется посредством задания образцов значений в шаблоне запроса. При создании QBE-запроса автоматически генерируется SQL-запрос, эквивалентный по выполняемым действиям. СУБД позволяет перейти от QBE запроса к соответствующему SQL запросу и обратно.

Язык структурированных запросов SQL является более мощным средством для создания запросов, чем язык QBE, но при необходимости выборки данных из большого числа таблиц, при наличии сложных имен таблиц и их атрибутов удобнее использовать язык QBE. Кроме того, его использование может оказаться полезным при первоначальном знакомстве с базами данных.

Рекомендуется выполнять запросы следующим образом:

1. Используя язык QBE определить необходимые имена таблиц, их атрибутов и связи.

2. Перейти к сгенерированному SQL-запросу и используя возможности языка SQL добавить критерии отбора данных из выбранных таблиц.

Все запросы в лабораторной работе рассматриваются в соответствии с примером базы данных «Supply», схема которой представлена на рисунке 1.

Рисунок 1 – Схема БД «Supply»

Подключимся к БД «Supply», выбрав соответствующий узел вObjectExplorer.

2. Знакомство с редактором запросов. Конструктор запросов.

Для работы с запросами в SQLServerManagement Studio используется редактор запросов (Query Editor). Редактор запросов предоставляет возможности создания, вставки и редактирования текста запроса, запуска команды и просмотра результатов.

Для вызова редактора запросов следует нажать на панели инструментов SQLServerManagementStudioкнопкуNewQuery(рисунок 2).

Рисунок 2 – Кнопка вызова редактора запросов

На правой стороне окна SQL Server Management Studio появляется новая вкладка SQLOuery1.sql(рисунок 3).

Рисунок 3 – Окно редактора запросов

Редактор запросов предусмотрен для работы с запросами на языке SQL, который будет рассмотрен на последующих занятиях.

В данной лабораторной работе рассмотрим создание запросов посредством языке QBE.

Для создания запросов на языке QBEв редактор запросов встроен графический конструктор запросов (Query Designer). Графический конструктор запросов обеспечивает визуальное представление данных из таблиц. Он используется для интерактивного создания запроса, а также для просмотра результатов.

Вызвать конструктор запросов можно несколькими способами. В зависимости от способа вызова конструктора будет отличаться набор функциональных возможностей.

Рассмотрим два способа, которые будут использоваться при выполнении лабораторных работ.

1 способ.

Конструктор запросов вызывается из редактора запросов с помощью команды меню Query–DesignQueryили нажатием кнопкиQueryDesignerна панели инструментов. В результате появляется окно конструктора запросов, которое является модальным (рисунок 4). В этом окне можно сформироватьQBE-запрос. Для получения результата обязательно требуется перейти кSQL-записи этого запроса, закрыв окно конструктора запросов. Только после этого можно запустить запрос на выполнение.

Рисунок 4 – Окно конструктора запросов

Текст запроса на языке SQLможно сохранить в файле с расширениемsql, выполнив пункт менюFile–Save Queryили нажав кнопку.

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

Недостатком использования первого способа является отсутствие возможности просмотра результата непосредственно в окне конструктора запросов. Такую возможность предоставляет второй способ.

2 способ.

Конструктор запросов вызывается из окна ObjectExplorer.

Для этого следует выделить таблицу, которая будет участвовать в запросе. Далее необходимо выполнить пункт контекстного меню OpenTable(Открыть таблицу). После этого на правой панелиSQLServerManagement Studio открывается новая вкладкаTable-dbo.Товар с конструктором запросов (рисунок 5). По умолчанию конструктор отображает результат запроса «Выбрать все данные из таблицы». Обратите внимание, что в SQL Server Management Studio появилась панель инструментовQueryDesigner, показанная на рисунке 5.

Следует отметить, что при вызове конструктора запросов данным способом имеется возможность просмотра результатов непосредственно на вкладке Table, что является удобным при изучении процесса конструирования запросов. Поэтому при выполнении данной лабораторной работы будем использовать именно этот способ.

Рисунок 5 – Результат запроса «Выбрать все данные»

Рассмотрим подробнее элементы панели QueryDesigner. По умолчанию на панели располагаются кнопки, представленные на рисунке 6. При необходимости можно добавлять кнопки на панель. Для этого следует вызвать контекстное меню панели инструментов и выбрать пунктCustomize. Далее на вкладкеCommandsв спискеCategoriesвыбратьQueryDesignerи перетащить требуемые элементы из спискаCommandsна панель инструментов.

Рисунок 6 – Панель инструментов QueryDesigner

В графическом конструкторе запросов имеются четыре различных области: Диаграмма, Сетка, SQL-код и Результат, которые вызываются кнопками 1-4, соответственно (рисунок 6).

Область диаграммы. Вызывается кнопкой 1 –ShowDiagramPane(Показать область диаграммы). Отображает графическое представление таблиц в запросе. Эта область используется для выбора полей и определения связей между таблицами.

Область сетки. Вызывается кнопкой 2 ‑ Show Criteria Pane (Показать область условий). Отображает список полей, возвращаемых запросом. Эта область используется для определения сортировки, фильтрации, группировки и других условий.

Область SQL-кода. Вызывается кнопкой 3 ‑ Show SQL Pane (Показать область SQL-кода). Отображает запрос на языке SQL, представляемый диаграммой и сеткой. Эта область используется, чтобы создать или изменить запрос на языке SQL.

Область результатов. Вызывается кнопкой 4 ‑ ShowResultsPane (Показать область результатов). Отображает результаты запроса.

Рассмотрим остальные элементы панели инструментов Query Designer, представленные на рисунке 6. В выпадающем списке 5 можно изменить тип запроса. Кнопка 6 (ExecuteSQL) позволяет выполнить запрос. Кнопка 7 (VerifySQLSyntax) проверяет синтаксис текста запроса. Кнопка 8 (AddGroupBy) позволяет добавить группировку данных. Добавить новую таблицу в область диаграммы можно с помощью кнопки 9 (AddTable).

При открытии таблицы с помощью пункта меню OpenTableв окно конструктора автоматически выводится область результатов. Остальные области можно вызвать нажатием соответствующих кнопок.

На рисунке 7 приведено окно конструктора запросов, где кнопки 1 позволяют включать/выключать диаграмму (область 2), сетку (область 3), SQL-код (область 4) и результаты (область 5).

Рисунок 7 – Окно конструктора запросов

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]