Задание 3. Поиск информации в реляционных базах данных
Третье задание проверяет учеников на понимание основных принципов баз данных и на работу с ними. В каждом задании мы должны будем сопоставлять информацию из разных таблиц.
Чтобы решить эту задачу, необходимо разбираться в таблицах. Давайте познакомимся с программой Excel и выучим все функции, которые нам пригодятся.
Весь интерфейс Excel – таблица и верхняя лента с огромным количеством различных функций и настроек.
Для начала давайте разберем саму таблицу и что с ней можно делать.
Самое простое – мы можем записывать данные в каждую клеточку.
В этом примере мы записали слово мир в клетку B2, цифру 3 – C4. Понимание как находить координату клетки поможет нам в решении задач.
Основным инструментом Excel, которым вы будет пользоваться постоянно, является знак равно.
На примере выше мы написали знак равно, а после него добавили простое арифметическое выражение. Но это не все чем может похвастаться этот символ.
Мы можем указывать ссылки на другие клетки, прописывая их координаты или просто кликая на нужную клетку.
Еще одна важная часть решения каждой задачи – функции.
Как вызывать функции:
1. Вы пишите знак “=”, прописываете название функции и в скобочки вносите аргументы.
После нажатия на Enter, функция записывает в клетку результат.
2. Вы нажимаете на кнопку функций.
И ищете нужную вам функцию.
Функций в Excel очень много и все они уникальны, но для решения егэ нам нужны будут всего несколько:
Функция =СУММ() – суммирует все выделенные числа.
Функция =МАКС() =МИН() находят максимальный и минимальный элемент соответственно.
Стоит еще упомянуть, что мы можем выделить сразу несколько клеточек, а не нажимать на каждую.
С другими функциями вы познакомитесь дальше на курсе при подготовке к другим задачам.
Еще одним инструментом для решения 3 задачи станет фильтр.
Чтобы использовать фильтр, выделите столбики, по которым вы хотите фильтровать, найдите сверху пункт Сортировка и фильтр и нажмите фильтр.
У вас появятся настройки фильтрации.
Здесь мы можем отображать только те строки, которые нам нужны.
Далее давайте пройдем функцию =ЕСЛИ(), которую можно использовать почти в каждой задаче.
Логическое выражение – условие, которые мы хотим задать этой функции. Например, в соседней клетке слева написано слово “черное”.
Дальше через “;” мы указываем значение, которое будет в этой клетке, если условие верно, и какое значение мы запишем, если условие не верно.
Чаще всего используется шаблон: истина = 1, ложь = 0.
Мы получили значение в этой клетке, но мы хотим, чтобы справа от каждого цвета была цифра. Для этого мы должны потянуть за маленький квадратик или дважды нажать на него.
Заметим, что в последней клетке в условии написано A4 = “черное”, хотя мы писали A1 = “черное”. Клетка сместилась, потому что мы передвинули функцию. В этом особенность Excel – он автоматически переставляет клетки в функциях.
Если мы не хотим, чтобы какие-то клетки смещались, выделим их и нажмем f4 (удобно смотреть на саму функцию в верхнем поле, а не в клетке).
И протянем на все оставшиеся строчки.
Теперь наша клетка A1 не изменяется.
И самое последнее, что мы должны изучить перед решением задач – функция ВПР (вертикальный просмотр). Чаще всего ее применяют в задачах повышенной сложности, но на самом деле она очень проста. Давайте разберемся что она делает.
У нас есть две таблицы. Неважно, о чем они, важно то, что во второй таблице у нас есть поле цена, которое пусто, но первая таблица дает нам соответствие цены каждому типу товара.
Функция ВПР в данном случае нужна, чтобы заполнить столбик “Цена” значениями из другой таблицы.
Пишем =ВПР( ). Excel подсказывает нам какие аргументы нужно добавить.
Искомое значение – по каким данным мы будем искать. Указываем клетку с типом товара.
Таблица – в какой таблице мы будем искать новые данные. ВАЖНО: мы должны выделить таблицу так, чтобы в первом столбце мы нашли наше искомое значение. Не забудьте нажать f4, это закрепит наше выделение и не даст таблице съехать.
Номер столбца – пишем номер столбца откуда мы будем брать информацию из выделенной таблицы (Не номер столбца глобально, а именно в выделенной таблице). В нашем примере – 2.
Интервальный просмотр – просто пишем 0.
У нас получилось взять данные из другой таблицы, но только для одной клетки. Потяните за маленький квадрат справа-снизу клетки вниз или дважды нажмите для него, чтобы скопировать эту функцию на другие строчки.
Мы изучили достаточный инструментарий программы excel для решения задач.
Алгоритм решения задач для каждого задания индивидуальный, но в основном имеет следующие опорные точки:
- Найти артикул нужных нам товаров.
- Найти номера нужных нам магазинов какого-либо района (с помощью фильтров).
- Применить фильтры на странице со всеми операциями (выбираем тип поступления, если необходимо) и скопировать полученные строчки на новый лист.
- На новом листе использовать различные функции для поиска ответа на поставленную задачу.
В более комплексных задачах алгоритм может отличаться.
1. Пример 3.1.xlsx
В качестве первого примера решим задачу с фрагментом базы данных «Продукты».
В таблице есть три листа:
Лист “Движение товаров”:
“Товар”:
“Магазин”:
По условию задачи нам надо определить, на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района за период с 1 по 10 июня.
На сколько увеличилось количество товара мы сможем узнать на странице “движение товара”, но мы не знаем артикул яиц диетических и ID магазинов Заречного района.
1. На странице “Товар” находим нужный нам товар и запоминаем его артикул.
Артикул нужного нам товара = 15.
2. На странице “Магазин” включаем фильтрацию и находим магазины Заречного района.
ID магазинов, которые нам подойдут = М3, М9, М11 и М14.
3. Переходим на лист “Движение товаров” и выставляем нужные фильтры.
Не забываем проверить даты. В задаче нас спрашивают период с 1 по 10 июня. В данном случае все даты совпадают, иначе мы бы применили фильтр и вывели только нужные нам.
Заметим, что нумерация строк (числа слева) сбилась. Это происходит из-за того, что фильтрация просто скрывает ненужные нам строки. Мы можем удостовериться в этом, просто посчитав сумму цен, выделив все эти числа.
Чтобы решить это, скопируем эти нужные нам строки и вставим их в новый лист.
Знаки ##### означают, что текст не влезает в клетку, но на решение это не влияет. Если это доставляет нам дискомфорт, мы можем расширить столбик.
4. Теперь давайте разделим с помощью фильтров все операции на поступление и продажу и перенесем их на разные листы.
На каждом листе посчитаем сумму количества упаковок с помощью функции =СУММ().
Здесь мы получили 454.
А на листе с поступлениями – 1420.
Так как нас спрашивают насколько увеличилось количество упаковок яиц, посчитаем выражение вида:
все поступления – все продажи = ответ;
1420 – 454 = 966 – ответ на данную задачу.
2. Пример 3.2.xlsx
В файле приведён фрагмент базы данных «Продукты», содержащей информацию о поставках товаров и их продаже. База данных состоит из трёх таблиц.
Таблица «Торговля» содержит записи о поставках и продажах товаров в магазинах города в июне 2021г.
Таблица «Товар» содержит данные о товарах.
Таблица «Магазин» содержит данные о магазинах.
Нам нужно определить магазин, продавший за месяц наибольшее количество лапши гречневой.
1. Смотрим артикул лапши гречневой на листе “Товар” – 63.
2. Фильтруем все операции на странице “Торговля” по артикулу 63 и по операции продажа (потому что надо определить магазин, продавший за месяц наибольшее количество).
Копируем все оставшиеся строки на отдельный лист и получаем:
3. Далее нам надо найти магазин, совершивший наибольшее количество операций. Для этого мы сортируем столбик “Магазин” по возрастанию, чтобы наши магазины шли последовательно.
В данном окне всегда выбираем первый вариант, иначе данные перемешаются между столбиками, и мы не сможем найти правильный ответ.
4. В соседнем пустом столбце напишем функцию ЕСЛИ: если магазин в этой строчке совпадает с магазином в предыдущей строчке, тогда значение в этой клетке будет равняться значению в предыдущей клетке + количество упаковок, иначе – значение в клетке равняется количеству упаковок. В первой строчке мы просто перепишем количество упаковок, это будут нашими стартовыми данными.
Таким образом, в этом столбике мы получим счетчик количества продаж, который будет начинаться заново при смене магазина.
5. Найдем максимальное количество продаж и соответствующий магазин с помощью фильтров, сортировке по убыванию.
Получаем, что искомый магазин – М35.
3. Пример 3.3.xlsx
База данных “Продукты”.
Определить сколько килограмм макарон спагетти поступило в магазины Первомайского района за период с 1 по 10 июня включительно.
1. Находим нужный нам товар.
Артикул макарон спагетти – 24.
2. Находим все магазины Первомайского района с помощью фильтров.
Запоминаем М2, М4, М7, М8, М12, М13, М16.
3. Дальше фильтруем по нашим данным страницу “Движение товара” и не забываем поставить фильтр “Тип операции” – “Поступление”.
Переносим все на новый лист.
В задаче говорится сколько килограмм поступило, но здесь есть только столбик с количеством упаковок.
4. Заходим на страницу “Товар” и ищем там единицу измерений и количество в упаковке.
5. Находим сумму количества упаковок с помощью функции СУММ.
Далее мы умножаем сумму на 0,5 и получаем ответ – 620.
4. Пример 3.4.xlsx
В файле приведён фрагмент базы данных «Мебель». База данных состоит из трёх связанных таблиц. Таблица «Материал» содержит записи о видах материала, используемых при изготовлении мебели.
Таблица «Продукция» содержит информацию о номенклатуре выпускаемой мебели.
Таблица «Готовый товар» — информацию об уже мебели. Заголовок таблицы имеет вид.
Нам нужно определить общую стоимость (в рублях) всех стеллажей выставочных, произведённых на предприятиях Твери из стекла.
1. Выбираем сразу несколько фильтров на странице “Материал”.
Получаем 4 ID материала: M1, M23, M26, M34.
2. На странице “Продукция” находим стеллаж выставочный и запоминаем его ID товара P45.
3. Фильтруем по ним на странице “Готовый товар”.
4. Общая стоимость = отпускная цена * количество на складке = 849 * 137 + 882 * 169 = 265371.
5. Пример 3.5.xlsx
Стандартная база данных “Продукты”.
Определить сколько рублей потребовалось магазинам Первомайского района для закупки яиц диетических за период с 1 по 10 июня включительно.
1. Яйцо диетическое - 15.
2. Первомайский район – М2, М4, M7, M8, M12, M13, M16.
Тип операции - поступление.
3. Применив все фильтры, получаем.
Расширяем столбик с датами и смотрим, нет ли тех, что не входят в наш интервал.
Видим, что все даты подходят.
4. Считаем итоговую стоимость = цена за штуку * количество упаковок.
Находим сумму функцией =СУММ и получаем 174300.
6. Пример 3.6.xlsx
База данных «Продукты».
Определите магазин, продавший за месяц наибольшее количество чая зелёного.
В ответе запишите ID магазина — так, как он указан в базе.
1. Артикул зеленого чая – 17.
2. Указав операцию “Продажа” и скопировав данные на другой лист, получаем:
3. Фильтруем столбик магазины по возрастанию.
4. Пишем счетчик количества проданных упаковок через функцию ЕСЛИ.
5. Находим максимум через функцию.
Так как нас попросили номер магазина, найдем строчку с нужным нам магазином по значению счетчика.
Получаем ответ – М20.
7. Пример 3.7.xlsx
База данных «Продукты».
Определить, сколько литров сметаны 15% было продано в магазинах Октябрьского района за период с 1 по 10 июня включительно.
1. Артикул сметаны 15% - 9, в одной упаковке – 0.3 литра.
2. Магазины Октябрьского района – М1, М5, М6, М10, М15.
3. Фильтруем по магазинам, артикулу и типу операции и получаем:
4. Считаем количество упаковок и умножаем на 0.3 литра.
8. Пример 3.8.xlsx
База данных «Продукты».
Определите общую выручку от продажи всех видов кофе в магазинах Октябрьского района.
1. Артикулы всех видов кофе – 46, 47, 48.
2. Магазины Октябрьского района – М1, М5, М6, М10, М15.
3. Выручка – сумма дохода без учета расходов, поэтому просто поставим тип операции продажа.
4. В каждой строчке посчитаем цена за штуку * количество упаковок, посчитаем сумму этих чисел и получим 306100.