К содержанию

Задание 3

Реляционные базы данных

Как по трём связанным листам Excel найти нужные продажи и посчитать массу, выручку или изменение запаса.

4 подтемы · 31 задача · базовый · ≈ 3 мин

Подтема 1 из 4

База из трёх листов

Три листа файла: что означает строка каждого и как листы связаны по коду.

Как устроена тема

В задании 3 дан файл Excel из трёх листов: «Движение товаров» — поступления и продажи, «Товар» и «Магазин» — справочники. По ним нужно что-то посчитать: массу, выручку или изменение запаса. Вот задача, которую мы будем решать всю тему:

«Используя информацию из базы данных, определи общую массу (в кг) товаров фабрики А, проданных магазинами Северного района за период с 1 по 10 июня включительно».

Схема базы из условия: «Движение» ссылается на «Магазин» по ID магазина и на «Товар» по артикулу; у справочника одна запись на ключ, у «Движения» — много.

Задачу решают в четыре шага, и каждому шагу посвящена своя подтема — у каждой своя страница:

  1. База из трёх листов — ты сейчас здесь: что означают листы и как они связаны.
  2. ВПР: связь листов — дописываем к каждой продаже район, поставщика и массу.
  3. Отбор записей: фильтр — оставляем только нужные строки.
  4. Расчёт ответа — считаем массу и получаем ответ задачи темы: 14,5 кг.

Учиться будем на маленькой базе из трёх магазинов и трёх товаров: все её записи можно проверить глазами.

Зачем три листа

В одной таблице одни и те же сведения повторялись бы в каждой строке. Каждая продажа повторила бы район и адрес магазина, название товара и массу упаковки:

Три продажи магазина M1 в одной таблице: район, адрес, товар и масса упаковки записаны заново в каждой строке.

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

Что означает строка

Строка каждого листа описывает один объект. В листе «Магазин» строка — магазин, в листе «Товар» — товар, в листе «Движение» — одна операция. Строку называют записью, столбец — полем, содержимое ячейки — значением поля:

Лист «Магазин»: запись о магазине M1, поле «Район» и значение этого поля у магазина M3 — «Северный».

Перед работой с листом ответь, что означает одна его строка. Одна строка с продажей 20 упаковок — это одна запись и 20 проданных упаковок: «сколько записей» и «сколько упаковок» — разные вопросы.

ID и артикул

У каждого магазина свой код — ID, у каждого товара свой артикул. Коды не повторяются внутри своего справочника, поэтому M1 или 101 указывают ровно на одну запись. Такое поле называют ключом.

АртикулОтделНаименованиеЕд. изм.В упаковкеПоставщик
101БакалеяМакароны рожкикг0,5Фабрика А
102БакалеяМакароны перьякг1Фабрика А
103БакалеяРискг1Фабрика Б

Артикул выглядит как число, но это код: складывать артикулы 101 и 102 так же бессмысленно, как номера телефонов. В листе «Движение» у операции записаны только ID магазина и артикул — остальное находят в справочниках по этим кодам.

Тонкости:названия ключей

В учебниках поле, которое различает записи своей таблицы (артикул в «Товаре»), называют первичным ключом, а поле со ссылкой на другую таблицу (артикул в «Движении») — внешним ключом. Для решения задания эти названия не нужны.

Связь по ID

Листы связывают по совпадению кодов, а не по номеру строки. Чтобы узнать район магазина операции 3, берут её ID магазина — M3 — и ищут такое же значение в листе «Магазин».

Операция 3 стоит во второй строке и ссылается на M3. Во второй строке листа «Магазин» записан M2 — другой магазин.

Файл задачи

Учебная база — тот же файл в миниатюре. В листе «Движение» 12 операций, в справочниках по три записи. Один магазин встречается во многих операциях — у магазина много поступлений и продаж. Переключай листы под сеткой:

C3M1
Лист «Движение»
ABCDEFG
1ID операцииДатаID магазинаАртикулТип операцииУпаковок, шт.Цена, руб./шт.
2101.06.2026M1101Поступление2060
3202.06.2026M1101Продажа880
4303.06.2026M3101Продажа590
5403.06.2026M2101Продажа780
6504.06.2026M3102Продажа4140
7605.06.2026M1103Продажа6110
8710.06.2026M1102Продажа3150
9811.06.2026M3101Продажа985
10906.06.2026M3101Поступление1265
111006.06.2026M1101Продажа285
121107.06.2026M3102Поступление6100
131231.05.2026M1101Продажа480
Лист «Магазин»
ABC
1ID магазинаРайонАдрес
2M1СеверныйЛесная, 5
3M2ЮжныйСадовая, 9
4M3СеверныйМира, 12
Лист «Товар»
ABCDEF
1АртикулОтделНаименованиеЕд. изм.Количество в упаковкеПоставщик
2101БакалеяМакароны рожкикг0,5Фабрика А
3102БакалеяМакароны перьякг1Фабрика А
4103БакалеяРискг1Фабрика Б

Операции идут не по датам: операция 12 записана 31 мая. На экзамене операций сотни, магазинов и товаров — десятки, но листы и столбцы такие же.

Итого

  • Три листаоперации и два справочника: магазины и товары
  • Строкаоперация, магазин или товар — смотря какой лист
  • ID и артикулкоды записей, а не количества
  • Связь листовпо совпадению кода, не по номеру строки
  • Записи и упаковкиразные вопросы к одним и тем же строкам

Проверьте себя

Ответь сначала сам, потом открой ответ.

Вопрос 1
Что означает одна строка листа «Движение»? А одна строка листа «Магазин»?
ОтветСкрыть ответ
Ответ
Строка «Движения» — одна операция: поступление или продажа одного товара в одном магазине за день. Строка «Магазина» — один магазин.
Вопрос 2
Ученик сложил артикулы 101 и 102 и получил 203. Что не так?
ОтветСкрыть ответ
Ответ
Артикул — код товара, а не количество. Складывать коды бессмысленно, как складывать номера телефонов.
Вопрос 3
По листам учебной базы найди район магазина, в котором прошла операция 5.
ОтветСкрыть ответ
Ответ
У операции 5 ID магазина M3. В листе «Магазин» у M3 район Северный. Номер строки здесь не помогает — ищут совпадение ID.
Вопрос 4
Магазин M1 встречается в листе «Движение» шесть раз. Это ошибка в данных?
ОтветСкрыть ответ
Ответ
Нет. Магазин один, а операций у него много: каждая строка «Движения» — своя операция.
Вопрос 5
Открой файл 3-1.xlsx. Какие ID у магазинов Заречного района и сколько всего операций у этих магазинов?
ОтветСкрыть ответ
Ответ
M1, M2, M3, M4. На листе «Движение товаров» включи фильтр по столбцу «ID магазина», оставь эти четыре ID и выдели видимые ячейки столбца: строка состояния покажет количество 38.

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

Записи, магазины, упаковки

В таблице операций записи: 21 — M2, 6 упаковок; 22 — M3, 4 упаковки; 23 — M2, 9 упаковок; 24 — M2, 2 упаковки. Сколько здесь записей, сколько магазинов и сколько упаковок?

Введите три числа через пробел в том порядке, в каком их спрашивают.

Операции магазина M7

В файле 3-1.xlsx три листа: «Движение товаров», «Товар» и «Магазин». Сколько операций в файле относится к магазину M7?

3-1.xlsxБаза данных — Excel-файл, как на экзаменеExcel · 13,9 КБ

Введите число.

Магазины Октябрьского района

В файле 3-1.xlsx три листа: «Движение товаров», «Товар» и «Магазин». Сколько магазинов справочника находятся в Октябрьском районе?

3-1.xlsxБаза данных — Excel-файл, как на экзаменеExcel · 13,9 КБ

Введите число.