Краткая теоретическая часть




Лабораторная работа №2

Тема: Виды запросов и способы их создания

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

Краткая теоретическая часть

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

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

Таблица 1 - Варианты запросов

Тип Описание
Выборка (Select); Выборка данных в таблицу результата запроса на основе указанных условий отбора
Перекрестный (Crosstab) Результат запроса выводит статистические значения (сумму, количество или среднее) для одного из полей таблицы в зависимости от двух параметров других полей таблицы, задающих заголовки строк и столбцов результата перекрестного запроса
Создание таблицы (Make-Table) Создание новой таблицы в текущей или в другой базе данных на базе информации из имеющихся таблиц
Обновление (Update) Обновление данных таблицы
Добавление (Append) Добавление набора записей в таблицу
Удаление (Delete) Удаление записей таблицы в соответствии с указанным критерием

 

 

Запросы делятся на:

простые,

перекрёстные,

групповые,

с параметром.

 

Откройте базу данных «Морские перевозки», выполненную на прошлом практическом занятии.

Задание 1. Создать запросы на выборку:

1. Все рейсы с указанием всех судов и грузов.

2. Перевозки из Севастополя в Стамбул.

3. Перевозки в Ялту грузов в количестве более 300 кг.

4. Перевозки в Сухуми, совершенные не позднее 10.02.2016.

5. Перевозки в пункты прибытия, начинающиеся на букву «С».

>
На вкладке Создать выбираем Мастер запросов, выбираем Простой запрос. В окне Создание простых запросов, выбираем в выпадающем списке таблицы и запросы таблицу Рейсы и переносим поля из таблицы в запрос с помощью кнопки. Переносим поле название судна из таблицы Суда и поле груз из таблицы Грузы.

Нажимаем Далее, выбираем подробный (вывод каждого поля каждой записи) отчет, Далее, введите название запроса: Запрос 1.1. Готово. В базе данных появился Запрос 1.1, результатом работы которого является таблица данных с полями: номер рейса, название судна, груз, количество груза, единицы измерения, порт отправления, дата отправления, порт прибытия, дата прибытия. Таким образом, данные из трех таблиц были сведены в одну таблицу и наиболее полно отображают информацию о рейсе.

На вкладке Создать выбираем Конструктор запросов и выбираем следующие данные из таблиц Рейсы и Суда:


В условии отбора в пункте отправления ставим Севастополь, а в пункте назначения – Стамбул. Жмем на кнопку Выполнить, отбираются только записи по рейсам из Севастополя в Стамбул. Сохраняем под именем запрос 1,2. Аналогично выполняем запрос 1,3. В условии отбора в поле порт прибытия указываем ЯЛТА, а в поле количества груза >300.

В запросе 1,4 в поле порт прибытия указываем СУХУМИ, а в поле дата прибытия <=10.02.2016.

В запросе 1,5 в поле порт прибытия указываем LIKE С* (литеру С в русской раскладке).

 

Задание 2. Создать запрос с вычисляемым полем:
1. Прибыль за рейс, выполненный судном.

2. Время судна в пути.

 

В конструкторе запросов выбираем таблицы Рейсы и Суда, выберем поля Код рейса, Название судна, Доходы и Затраты. Остальное можно включить по желанию. Сохраняем запрос. Затем делаем вычисляемое поле – правая кнопка мыши, выбираем Построить и вводим в окне Построителя выражений формулу прибыли = доход – затраты. Жмем ОК. В заголовке поля вместо Выражение 1 пишем Прибыль за рейс. Появилось вычисляемое поле с результатом. Выполняем и сохраняем под именем Запрос 2,1.

 

 

Аналогично выполняем Запрос 2,2 с вычисляемым полем Время рейса.

 

Задание 3. Создать групповой запрос:


1. Количество рейсов, выполненных каждым судном.

1. Доход каждого судна по всем рейсам.

 

В конструкторе запросов выбираем две таблицы Суда и Рейсы, поля – Номер судна и Название из первой, Код рейса – из второй.
Затем нажимаем большую кнопку

(Итоги).

Под всеми полями в строке «Групповая операция» появилось слово «Группировка». У поля Код рейса меняем его на «Count» (количество). Что получается – строки в таблице Рейсы будут группироваться по номеру и названию судна (можно было бы оставить только номер или только название, оба выбраны для удобства). Выполните и сохраните запрос под именем Запрос 3.1.

 

 

Чтобы, посчитать доходы на все рейсы каждого судна, то вместо Count нужно поставить Sum, причем выбрать не поле Код рейса, а поле Доходы за рейс. Сохраните Запрос 3.2.

 

Задание 4. Создать запрос с параметром:
Рейсы, совершенные судном N. Это может быть и номер, и название судна.

 

Допустим, выборка будет осуществляться по названию. В конструкторе выбираем две таблицы – Рейсы и Суда, поля – номер и название судна, по рейсам: код, пункты назначения и отправления, даты. Если добавить таблицу Грузы, то можно еще указать какой груз везли.

Для установки параметра нажмем кнопку Параметры справа от кнопки Итоги и введем в поле Параметр слово «Название». Тип данных в данном случае оставляем текстовый, поскольку у поля Название судна как раз текстовый тип.

 

Сохраняем параметр. У поля Название судна в строке Условие отбора пишем наш параметр в квадратных скобках: [Название]. Выполняем запрос. Появилось окно с просьбой ввести название, вводим «Альфа».

Отобрались рейсы по этому судну.

Попробуйте ввести несколько первых букв вместо названия. Не отберется ничего. Для того чтобы длинные названия вводить по первым буквам, в условии отбора требуется написать такое выражение: Like ([Название]+"*"). Это значит, что будут отбираться те записи, которые начинаются с символов, указанных в параметре плюс любое количество любых символов.

 

Задание 5. Перекрёстный запрос по судам и грузам с итогами по количеству перевезённых грузов.

 

Создаем и сохраняем многотабличный запрос. Из таблицы СУДА берем название судна, из ГРУЗЫ– груз, из РЕЙСЫ– количество груза. Сохраняем как Запрос 5.1. Затем вызываем Мастер запросов, перекрестный запрос. В окне Создание перекрестных таблиц в разделе показать выбрать запрос 5.1.

 

Сохраняем как Запрос5,2_Перекрестный.

 

 

Предъявляем работу преподавателю.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: