Студопедия — Создание запросов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Создание запросов






 

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

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

Запрос это временная таблица. Это значит, что данные в них не хранятся постоянно, а только временно вызываются из таблиц, по заранее заданному шаблону, в момент активизации запроса. Таким образом, в базе данных постоянно хранится только шаблоны вызова данных (временные таблицы удаляются после закрытия запроса), а сама информация не дублируется.

Запросы позволяют:

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

2. указывать поля, которые должны быть отображены для выбранных записей;

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

4. выполнять вычисления с использованием выбранных данных.

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

Для создания запроса необходимо:

1. Открыть свою базу данных

2. Перейти на вкладку Создание

3. На панели Другие нажать кнопку Конструктор запросов

(появится окно конструктора запроса с диалоговым окном добавления таблиц. Окно добавления таблиц можно вызвать командой Отобразить таблицу на панели Настройка запроса).

 

Рисунок 2.3 – конструктор построения запросов

 

4. Добавить в запрос необходимые таблицы

5. Убедиться, что между добавленными таблицами установлены связи.

6. После добавления таблиц нажать кнопку Закрыть в окне Добавление таблицы.

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

8. Сохранение запроса для дальнейшего использования производится через контекстное меню. Для этого необходимо нажать правую клавишу мыши на вкладке запроса и выбрать пункт Сохранить. Далее СУБД запросит имя сохраняемого запроса. Целесообразно, чтобы оно имело смысловую нагрузку, что облегчит дальнейшее использование запроса.

 

Чтобы удалить базовую таблицу из запроса, необходимо выделить ее, щелкнув на любом месте в списке ее полей, и нажать клавишу Delete. Чтобы удалить поле из запроса, выделите нужный столбец в бланке запроса, а затем нажмите клавишу Delete.

Самое главное в запросе - возможность использования критериев выборки, которые вводятся в строку Условие отбора. Можно выделить следующие типы запросов на основе критериев выборки:

Выборка по строгому совпадению. В строку Условие отбора для определенного поля вводится одно из значений, существующих в таблице. Например, название конкретного товара или название фирмы, города.

Данные запросы можно параметризовать, т.е. вводить условия отбора в виде параметра при каждом запуске запроса, что устраняет необходимость предварительно его модификации. Для параметризации необходимо в строке Условие отбора вместо самого условия ввести текст приглашения на его ввод по формату [<текст приглашения>].

При запуске параметризованного запроса появляется диалоговое окно (рис. 5.2), в котором пользователь должен ввести собственно условие отбора и нажать клавишу ОК.

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

Выборка по строгому несовпадению. В этом случае в выборку отбираются все записи таблицы, кроме записей, содержащих значение, указанное в строке Условие отбора. Для реализации данного запроса перед значением вводится префикс Not или <>. Например, Not "МТФ" в поле Факультет запроса к таблице СТУДЕНТ приведет к выборке всех студентов вуза, кроме студентов МТФ.

Выборка по неточному совпадению. Для выборки записей в условиях неполноты знаний о требуемых значениях используется оператор Like <условие>. Само <условие> образуется следующими подстановочными символами:

·? - любой один символ;

· * - любое количество символов (0 - ¥);

· # - любая одна цифра;

· [список_символов] - любой символ из списка;

· [!список_символов] - любой символ, не входящий в список;

В списке можно указывать сразу диапазон символов, Например, [Г-Л] или [г-лГ-Л].

Примеры использования оператора Like в поле ФИО таблицы СТУДЕНТ:

Like?????????? - выбираются все студенты, ФИО которых содержит 10 символов;

Like "В?????????" - выбираются все студенты, ФИО которых содержит 10 символов и начинается на букву "В";

Like "В*" - выбираются все студенты, ФИО которых начинается на букву "В". Длина ФИО произвольная;

Like "[ВД]*" - выбираются все студенты, ФИО которых начинается на буквы "В" или "Д". Длина ФИО произвольная;

Like "[В-М]*" - выбираются все студенты, ФИО которых начинается на буквы от "В" до "М". Длина ФИО произвольная.

Выборка по диапазону. Для формирования данных условий выбора используются операторы сравнения >, >=, <, <= и <>. Операции сравнения могут связываться логическими операциями And (И) и Or (ИЛИ). Для этих же целей используется оператор диапазона Between <нижнее_значение> and <;верхнее_значение >;.Например, выбор книг стоимостью от 100 до 200 рублей может быть реализован через ввод в запросе условия в поле Стоимость в виде >=100 and <=200 или Between 100 and 200.

Перечень значений в условии выборки можно задать и оператором In (значение, значение,...). Например, выбор студентов факультетов МТФ или ФАПУ можно реализовать, указав в поле Факультет запроса условие In ("МТФ", "ФАПУ"). Это же условие можно записать и через операцию ИЛИ: "МТФ" or "ФАПУ". Также можно указать одно название факультета в строке Условие отбора (см. рис. 2.3), а второе в следующей строке или. Число строк или не ограничено.

Для выбора записей с пустыми значениями в некотором поле надо в соответствующем поле бланка запроса указать оператор Is Null. Наоборот, записи с непустыми значениями в данном поле выбираются по оператору Is not Null.

В выражениях отбора также можно использовать знаки математических операций +, -, /, * и неограниченное число круглых скобок. Сложные выражения в условиях отбора могут формироваться с помощью соответствующего построителя, который вызывается кнопкой на панели Настройка запроса.

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

<Название_формируемого_поля>:<выражение>.

В <выражении> можно использовать знаки арифметических операций, круглые скобки и имена полей в []. Например, стоимость партии можно вычислить по выражению

Стоимость партии:[количество товара]*[стоимость единицы товара].

Если используется поле другой таблицы, то в префиксе через! указывается имя данной таблицы. Например

Стоимость партии:[Товар]![количество товара]*[стоимость единицы товара].

8. Запрос с групповыми операциями. Рассмотренные запросы анализируют отдельные записи таблицы. Вместе с тем, СУБД Access позволяет находить интегральные показатели для групп записей в таблице. Каждая такая группа характеризуется одинаковым значением по какому-то полю, например, одинаковым названием факультета или семейным положением. Для перехода в данный режим запросов необходимо в панели инструментов нажать клавишу Итоги , что приведет к появлению в бланке запроса новой второй строки с одноименным названием. В ячейках данной строки указывается или режим группировки по некоторому полю (опция Группировка), или название групповой операции:

· Sum - сумма значений

· Avg - среднее значение по данному полю для всей группы;

· Count - число записей в данной группе;

· Max - максимальное значение поля в каждой группе;

· Min - минимальное значение поля в каждой группе;

· First - первое значение данного поля в каждой группе;

· Last - последнее значение данного поля в каждой группе и др.

Опции выбора вызываются нажатием кнопки раскрытия в требуемой ячейке.

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

 

Рассмотренные запросы не изменяют содержимое исходной таблицы. Для реализации подобных действий СУБД Access использует четыре следующих запроса:

9. Запрос-создание новой таблицы. Предназначен для сохранения результатов запроса в виде новой таблицы.

Исходно формируется обычный запрос на выборку необходимой информации из таблицы. После проверки результатов его выполнения производится возврат в режим конструктора запросов. Далее нужно перейти на панель Тип запроса и нажать клавишу Создание таблицы, после чего СУБД запрашивает её имя. Указывается имя создаваемой таблицы и нажимается кнопка ОК. Непосредственно запрос на создание запускается нажатием кнопки на панели Результаты

В окне Таблицы БД появляется пиктограмма созданной таблицы.

10. Запрос-добавление выборки в другую таблицу. Выборку можно добавить к другой таблице, однотипной по структуре или с изменением структуры выборки.

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

Далее следует вернуться в режим конструктора запроса.

На панели Тип запроса нажимается кнопка Добавление, после чего СУБД запрашивает имя таблицы, к которой будет добавлена выборка. Последний шаг - нажатие кнопки ОК.

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

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

11. Запрос-удаление. С помощью запросов можно удалить часть или все записи из таблицы.

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

Далее следует вернуться в режим конструктора запроса.

На панели Тип запроса нажимается кнопка Удаление, после чего в бланке запроса появляется новая третья строка с именем Удаление, куда можно вводить дополнительные условия на выборку удаляемых записей. Последний шаг - нажатие кнопки ОК.

12. Запрос-обновление. С помощью запросов можно обновлять в единой операции некоторые или все значения выбранных полей.

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

Далее следует вернуться в режим конструктора запроса.

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

Практическое задание:

 

Для таблицы СЛУЖАЩИЙ БД Фирма сформировать, проверить корректность и сохранить следующие запросы:

Отображающий в выборке поля:

- Фамилия + Имя + Отчество;

- дату рождения;

- отдел;

- оклад.

Отсортировать запрос по составному полю.

Отображающий в выборке все поля таблицы для работников одного отдела. Сделать данный запрос параметризованным;

Отображающий в выборке поля:

- Фамилия;

- отдел;

- количество детей,

для семейных сотрудников, фамилии которых начинаются на буквы от "Г" до "Ш";

Отображающий в выборке поля:

- Фамилия + инициалы;

- должность;

- оклад,

для холостых сотрудников с окладом больше 1000 руб.

Рассчитывающий для каждого сотрудника налог в виде выражения

налог = (0.99*оклад - (количество_детей + 1) * 100) * 0.13

В выборке выводятся:

· отдел;

· фамилия;

· оклад;

· налог.

 

 

Практическое задание:

I. Для таблицы СЛУЖАЩИЙ БД Фирма сформировать, проверить корректность и сохранить следующие запросы:

Вычисляющий сумму окладов для каждого отдела.

Средний оклад по всей фирме;

II. Выбрать из таблицы СЛУЖАЩИЙ всех женщин и сохранить выборку в виде новой таблицы ЖЕНЩИНЫ. Таблица будет содержать такие же поля, как и таблица СЛУЖАЩИЙ;

III. Выбрать из таблицы СЛУЖАЩИЙ всех холостых мужчин и добавить выборку к таблице ЖЕНЩИНЫ;

IV. Удалить из таблицы ЖЕНЩИНЫ служащих одного определенного отдела;

V. Увеличить всем женщинам, имеющим детей, в таблице ЖЕНЩИНЫ оклад в 1.5 раза.







Дата добавления: 2015-09-18; просмотров: 509. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия