20.05.2020
ИНФОРМАТИКА
Тема: Простые запросы к базе данных
Порядок выполнения:
Ознакомиться с теоретическим материалом.
Выполнить задания после теоретического материла в тетради.
На полях тетради подписать фамилию. Сделать фото и отправить на почту
olgalo9un@yandex.ru
Теоретический материал:
Объекты баз данных:
Таблицы – это основной объект базы данных, в котором хранятся все данные, имеющиеся в базе, а также структура базы (поля, их типы, свойства).
Запросы позволяют выбирать данные из одной или нескольких связанных таблиц. Результатом выполнения запроса является результирующая таблица, которая наряду с другими таблицами может быть использована при обработке данных. С помощью запросов можно также обновлять, удалять или добавлять данные в таблицы.
Формы служат для ввода и просмотра данных в удобном для пользователя виде, который соответствует привычному для него документу. При помощи форм можно добавлять в таблицы новые данные, а также редактировать или удалять существующие. Форма может содержать рисунки, графики и другие внедренные объекты.
Отчёты предназначены для формирования выходных документов и вывода их на печать. Основное их отличие от форм заключается в том, что в отчёте отображаются все данные и в них предусмотрена возможность группировать данные по различным критериям. Отчёты могут содержать специальные элементы оформления, характерные для печати документов: колонтитулы, номера страниц и т.д
Запрос – это требование на отбор записей, хранящихся в таблицах или на выполнение определённых действий с ними.
Запрос это временная таблица. Это значит, что данные в запросах не хранятся постоянно, а только временно вызываются из таблицы по заданному шаблону, в момент активизации запроса. Поэтому в базе данных постоянно сохраняется только шаблон вызова данных, а не сама информация. Следовательно, запрос не занимает много места в БД.
Запросы позволяют:
выбирать нужные поля из разных таблиц БД;
фильтровать и сортировать данные;
производить расчёты;
группировать записи, рассчитывая различные итоговые значения;
вносить изменения сразу в несколько записей;
создавать таблицы как результат запроса.
Запросы бывают:
Запрос на выборку. Осуществляет загрузку и отображение записей в режиме таблицы.
Запрос на изменение. Выполняет операции с записями, удовлетворяющими заданным критериям.
а) запрос на удаление (удаляет заданные записи из таблицы);
б) запрос на обновление (изменяет соответствующие записи таблицы);
в) запрос на добавление (добавляет в конец таблицы новые записи соответствующие условиям отбора).
Запрос с параметрами. После запуска на выполнение просит ввести значения определенных параметров.
Перекрёстный запрос. Позволяет выполнить подсчёты по данным одного поля таблицы и группировать результаты.
Рассмотрим несколько примеров
Выражение, которое указывает, какие записи необходимо включить в динамическую таблицу при выполнении запроса вводится в строку Условие отбора для поля, по которому это условие необходимо проверить. Для задания условий отбора можно использовать операторы меньше (), больше или равно (=), не равно (), равно (=), Like (выбор по маске), Between (между), In (в интервале), And (и), Or (или) и другие, а также имена обьектов, константы и функции.
Подстановочные символы:
| Знак | Описание | Пример |
| * | Соответствует любому количеству знаков. Может использоваться в качестве первого или последнего знака текстовой строки | wh* — поиск слов what, white и why. |
| ? | Соответствует любому текстовому знаку | B?ll — поиск слов Ball, Bell и Bill. |
| [ ] | Соответствует любому одному знаку из заключенных в скобки. | B[ae]ll — поиск слов Ball и Bell, но не Bill. |
| ! | Соответствует любому одному знаку, кроме заключенных в скобки. | b[!ae]ll — поиск слов bill и bull, но не bell или ball. |
| - | Соответствует любому знаку из диапазона. Необходимо указывать этот диапазон по возрастанию (от A до Z, но не от Z до A). | b[a-c]d — поиск слов bad, bbd и bcd. |
Операторы, используемые в выражениях
Арифметические
| + | сложение | 3+2 |
| - | вычитание | 3-2 |
| * | умножение | 3*2 |
| / | деление | 3/2 |
| ^ | возведение в степень | 2^3 |
| \ | целая часть от деления с остатком | 3\2 |
| mod | остаток от деления | 3 mod 2 |
| | | |
Логические
| Not | отрицание | not "Siemens" |
| Or | лог. или | "Минск" Or "Брест" |
| And | лог. и | 3 and |
Сравнения
| | меньше | |
| | меньше либо равно | |
| | больше | 3 and |
| = | больше либо равно | =100 |
| between...and... | между | between #02.02.04# and #05.02.05# |
| | | |
групповая функция Sum вычисляет сумму всех значений заданного поля в каждой группе;
групповая функция Avg вычисляет среднее арифметическое всех значений данного поля в каждой группе;
групповая функция Min (Max) возвращает наименьшее (наибольшее) значение, найденное в этом поле в каждой группе;
групповая функция Count определяет количество записей в каждой группе и др.
| Like «*монархия» | значение заканчивается на слово «МОНАРХИЯ» |
| Like «м*» | значение начинается на букву «М» |
| Like «*м» | значение заканчивается на букву «М» |
| Like «*м*» | значение содержит в середине букву «М» (в начале, в середине или в конце) |
| Like «*монархия*» | значение содержит в середине слово «МОНАРХИЯ» (в начале, в середине или в конце) |
Пример 1.
Сформировать запросы к БД «Репертуар кинотеатров за неделю»
| Кинотеатр | Фильм | Время | Стоимость |
| Россия | Приключение Буратино | 11.00 | 3.00 |
| Россия | Титаник | 13.00 | 15.00 |
| Россия | Титаник | 17.00 | 20.00 |
| Россия | Звездный десент | 21.00 | 15.00 |
| Мир | Ну, погоди | 11.00 | 3.00 |
| Мир | Титаник | 13.00 | 15.00 |
| Мир | Вор | 17.00 | 10.00 |
А) запрос для получении справки о всех сеансах, стоимость билета на которые меньше 15 рублей
Решение: справка все для стоимость 15.00
| Кинотеатр | Фильм | Время | Стоимость |
| Россия | Приключение Буратино | 11.00 | 3.00 |
| Мир | Ну, погоди | 11.00 | 3.00 |
| Мир | Вор | 17.00 | 10.00 |
В результате получиться таблица
Б) Сформируем для БД «Репертуар кинотеатров за неделю» команду запроса, с помощью которого можно будет вывести на экран название кинотеатров и стоимость билетов на сеансы, начинающихся с 13.00 и на которых демонстрируют фильм Титаник.
Решение
Справка кинотеатр, стоимость для время=13.00 И фильм = «Титаник»
Ответ:
| Кинотеатр | Стоимость |
| Россия | 15.00 |
| Мир | 15.00 |
Пример 2
Дана БД Магазин
| Товар | Количество | Цена |
| Апельсины | 100 | 6.00 |
| Бананы | 200 | 8.00 |
| Виноград | 150 | 20.00 |
| Огурцы | 200 | 5.00 |
| Помидоры | 200 | 10.00 |
А) сформировать запрос с помощью которого выводится таблица со сведениями о товарах с общей стоимостью от 1000 до 2000 рублей (включительно)
Решение:
Количество*цена
И количество*цена
Получим следующую таблицу
| Товар | Количество * цена |
| Бананы | 1600 |
| Огурцы | 1000 |
| Помидоры | 2000 |
Б) В магазине закончились виноград и апельсины. Требуется удалить из БД соответствующие записи
Решение
Удалить товар= «Апельсины» ИЛИ товар= «Виноград»
В результате БД будет иметь вид:
| Товар | Количество | Цена |
| Бананы | 200 | 8.00 |
| Огурцы | 200 | 5.00 |
| Помидоры | 200 | 10.00 |
Задание 1
Ответьте на вопросы:
Основные объекты БД
Что позволяют запросы
Какие бывают запросы
Задание 2.
Дана БД «Абитуриент»
| Фамилия, Инициалы | пол | Дата рождения | факультет | школа | курсы |
| Лыкова О.П. | ж | 11.09.81 | Физический | 122 | да |
| Семенов О.Г. | м | 11.05.82 | Химический | 44 | нет |
| Городилова Е.Ю. | ж | 23.04.80 | Химический | 2 | Да |
| Захарова И.П. | ж | 10.01.81 | Биологический | 44 | нет |
| Радченко А.И. | м | 30.03.81 | Математический | 6 | да |
| Горохов О.М. | м | 11.01.81 | Математический | 9 | да |
| Семенова Т.Е. | ж | 15.06.82 | Химический | 122 | нет |
| Григорович С.В. | м | 11.01.82 | Физический | 11 | нет |
| Лукьянова Е.А. | ж | 29.05.81 | Биологический | 2 | да |
| Орлова Н.Ю. | ж | 01.02.82 | Биологический | 6 | да |
| Морозов И.И. | м | 13.03.82 | Химический | 44 | да |
| Полынцева Л.А. | ж | 14.04.81 | Математический | 2 | нет |
| Дорохов А.И. | м | 22.02.82 | Физический | 9 | нет |
| Шувалова А.М. | ж | 02.04.80 | Математический | 31 | да |
| Радченко П.Р. | ж | 17.08.81 | Химический | 6 | да |
| Михайлова А.С. | ж | 20.05.82 | Математический | 122 | нет |
| Бобров И.А. | м | 19.06.81 | Биологический | 3 | да |
| Цветов И.П. | м | 31.01.81 | Математический | 6 | да |
| Рыков Р.П. | м | 06.09.80 | Химический | 11 | нет |
| Горбунов К.А. | м | 09.08.81 | Физический | 122 | да |
В тетради создать таблицы удовлетворяющие следующим запросам:
Факультет = «Химический»
Школа10 И школа
Школа=44 и факультет= «Химический»
Школа =44 ИЛИ школа =6
Пол= «ж» И дата рождения 01.01.82
Школа10 И курсы = «да»
Задание 3. Выберите правильный ответ:
База данных «Сотрудники» содержит поля: ФИО, ГОД РОЖДЕНИЯ, ОКЛАД. При поиске по условию ГОД РОЖДЕНИЯ1987 И ОКЛАД
а) имеющих оклад менее 4000 рублей или родившихся не ранее 1987г.;
б) имеющих оклад не более 4000 рублей и родившихся позже 1987г.;
в) имеющих оклад не более 4000 рублей и родившихся раньше 1987г.;
г) имеющих оклад менее 4000 рублей и родившихся позже 1987г.;
д) имеющих оклад не менее 4000 рублей или родившихся позже 1987г.
Задание 4. Выберите правильный ответ:
По какому полю и в каком порядке отсортированы записи в таблице, если после сортировки они располагаются в следующем порядке: 2,5,3,1,4
а) Школа (по возрастанию)
б) Директор (по убыванию)
в) Школа (по убыванию)
г) Телефон (по возрастанию)
д) Телефон (по убыванию)