Краткие сведения

Программа работы

1. Назначение запросов.

2. Виды запросов.

3. Создание запроса на выборку.

4. Выражения. Использование построителя выражений.

5. Групповые операции.

Краткие сведения

Непременным правилом создания таблицы в СУБД является строгое определение содержимого самой таблицы. В ее ячейках может храниться только фактическая и только неизменяемая информация. Это может показаться странным и слишком искусственным для пользователей электронных таблиц, однако ни в Microsoft Access, ни в СУБД вообще, в ячейках базовых таблиц принципиально не может быть вычисляемых значений.

Естественно, было бы совершенно невозможно оперировать данными без того, если бы не существовала какая-нибудь возможность обойти это препятствие. Для этого в СУБД существуют так называемые запросы. Собственно говоря, запросы — это те же самые таблицы, только они заполняются не вручную, а при помощи заранее заданных формул и прочих зависимостей. Таким образом, то, что нельзя в таблице, можно в запросе. Складывать. Вычитать. Делить. Выполнять прочие математические или логические операции. А свое название запросы получили оттого, что они схожи с широко распространенным естественным действием аналогичного назначения. Например, запросом является ну хотя бы такая конструкция: «Кто конкретно покупал автомобиль ВАЗ 21099 вишневого цвета в период с января по декабрь 1998 года и расплачивался при этом наличной иностранной валютой, в качестве которой использовались швейцарские франки?». Столкнувшись с подобным запросом, СУБД самостоятельно просмотрит соответствующие таблицы, в которых хранятся фактические данные, и отберет из них все строки, которые соответствуют требованиям запроса. Причем с самими таблицами ничего не происходит, в таблицу запроса передаются лишь копии этих записей.

Запрос – это перечень полей из таблиц и/или других запросов и условия, которым должны удовлетворять извлеченные данные, или инструкция на отбор записей, подлежащих изменению.

Место запросов в БД показано на рис. 3.1.

Рис. 3.1. Место запросов в БД

Запрос позволяет выполнять:

· Просмотр и редактирование данных из нескольких таблиц.

· Выбор полей и записей для просмотра.

· Сортировку записей.

· Вычисления и групповые операции.

· Обновление, удаление или добавление групп записей в таблицах или создание новой таблицы.

Запрос по образцу (Query by Example, QBE) изначально предназначался для пользователей приложений баз данных на больших машинах, чтобы они могли осуществлять поиск данных без знания языков программирования. Многие СУБД пришли к использованию запросов по образцу в той или иной форме.

Пример инструкции QBE в командной строке:

LIST ALL lastnames LIKE Lin* WITH state=”IL” IN us_hist

По этой инструкции производится поиск фамилий, начинающихся с ”Lin”, в поле lastnames таблицы us_hist, при этом окончания строк в поле игнорируются, и затем отбираются те записи, которые содержат значение ”IL” в поле state.

В процессе развития дисплеев появился более удобный метод создания запроса – графические запросы по образцу (graphical QBE), имеющие вид таблицы, заголовками столбцов которой являются имена полей одной или нескольких таблиц БД. Чтобы создать запрос, пользователь вводил в эти столбцы части полной инструкции, или выражения (expression). Ввиду того, что во время появления графических QBE графические дисплеи были редкостью, использовался текстовый режим – 25 строк по 80 символов, т.е. термин «графический» применительно к QBE употреблялся неправильно. В первых версиях графического QBE пример, приведенный выше, мог выглядеть так:

LASTNAME FIRSTNAME ADDRESS CITY STATE
LIKE Lin*       IL

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

После проверки полей, для которых заданы условия отбора, и нахождения подходящих записей в указанном файле, эти записи выводятся на экран в виде таблицы:

LASTNAME FIRSTNAME ADDRESS CITY STATE
Lincoln Abraham 123 Elm St. SpringField IL
Lincoln Mary Todd 123 Elm St. SpringField IL

Вводить выражения в столбцы графического QBE для многих пользователей оказалось гораздо проще, чем задавать инструкции QBE в командной строке, т.к. для этого требовалось знать синтаксис очень немногих выражений. Использование механизма графического QBE было одним из достоинств СУБД Paradox фирмы Ansa Software, занимавшей первое место на рынке настольных СУБД для ПК, пока ее не вытеснили оттуда СУБД dBASE II и dBASE III.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: