Теория:

Все манипуляции, которые мы проводили с базами данных, мы делали вручную.
 
Даны фрагменты двух таблиц из базы данных. Каждая строка таблицы \(2\) содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы \(1\). На основании имеющихся данных определи ID человека, у которого в самом молодом возрасте появился первый внук или внучка. При вычислении ответа учитывай только информацию из приведённых фрагментов таблиц.
 
Скриншот16022022235002.jpg
Рис. \(1\). База данных «Родители и дети»
 
Из анализа таблицы найдём всех внуков и определим возраст их бабушек или дедушек.
 
Скриншот 16-02-2022 235512.jpg
Рис. \(2\). Решение
 
Ответ: \(451\).
 
В реальной БД это функция приложения, называемого Системой Управления Базой Данных (СУБД). СУБД, как понятно из названия, управляет всеми ресурсами БД, создаёт базу, заполняет, редактирует, обеспечивает поиск, сортировку данных, защищает базу от внешних воздействий и обеспечивает её целостность.
СУБД — комплекс программных средств, предназначенных для создания и сопровождения базы данных.
Мониторинг по запросу «популярные СУБД» даёт нам более \(350\) наименований. Среди них не только реляционные СУБД, хотя таких большинство, но и сетевые, иерархические, объектно-реляционные, объектно-ориентированные — в зависимости от реализуемой модели. Среди наиболее известных СУБД — Microsoft Access, которая входит в состав пакета Microsoft Office. Для иллюстрации теоретического материала и примеров мы воспользовались приложением Base, входящим в пакет свободно распространяемого ПО LibreOffice.
Поиск как один из аспектов манипулирования данными в реляционной БД осуществляется с помощью запросов.
Запрос — один из объектов СУБД, осуществляющий поиск по одной из таблиц или по связанным таблицам.
Позволяет выбрать несколько атрибутов из разных таблиц и получить новую таблицу.
Используется несколько видов запросов: запрос на обновление, запрос на удаление, запрос на выборку и запрос на добавление, запрос на создание новой таблицы, перекрёстный запрос.
 
В рассматриваемой нами ранее БД «Расписание поездов» уже выполнен запрос на обновление. Администратор сделал его тогда, когда городу Свердловск вернули историческое название «Екатеринбург». И выполнить его в нормализованной таблице \(2\) было проще, чем в исходной таблице \(1\).
 
С помощью запроса можно:
• выбрать записи, удовлетворяющие заданным условиям;
• создать новую таблицу и включить в неё поля, собранные из нескольких таблиц;
• в каждой из записей произвести вычисления;
• обновить поля на подмножестве записей, выбранном по определённому условию;
• удалить из таблицы подмножество записей, выбранное по определённому условию;
• добавить в другую таблицу подмножество записей, выбранное по определённому условию.

В некоторых случаях возможно воспользоваться электронными таблицами для выполнения поиска. Тогда ЭТ выступает как однотабличная база данных или набор однотабличных баз данных, связь между которыми пользователь устанавливает, запоминая значения в одной из таблиц и перенося эти значения вручную при поиске в другую таблицу.
Пример:
по данным, приведённым в таблицах базы данных «Закупки», определить, в какие магазины менеджер Петров поставлял киви. Посчитать общий объём этих поставок.
 
image2.jpg
Рис. \(3\). База данных «Закупки»
 
image3 (1).jpg
Рис. \(4\). Заказчики
 
image4.jpg
Рис. \(5\). Товары
 
image6.jpg
Рис. \(6\). Менеджеры
 
image8.jpg
Рис. \(7\). Закупки
 
Ответ: «Магнит» Восток, «Пятёрочка» Запад. Объём — \(72\).
 
Решение

Исходя из условия, нам нужно найти записи, принимающие значение ИСТИНА на выражении:
менеджер \(=\) Петров И товар \(=\) киви.

1. В электронных таблицах.
Определим по таблице «Менеджеры» ID Петрова — \(0\).
Определим по таблице «Товары» ID товара «киви» — \(8\).
По таблице «Закупки» сделаем фильтр по двум полям: ID товара и ID менеджера — для этого нам нужно помнить ID из двух предыдущих поисков.
 
image9.jpg
Рис. \(8\). Фильтр по товару и менеджеру
 
Считаем объём: \(60+13=73\).
Определяем ID заказчиков: \(7\) и \(0\).
По таблице «Заказчики» находим \(7\) — «Пятёрочка» Запад, «Магнит» Восток.
 
2. В СУБД.
Выполняем запрос.
 
image10.jpg
Рис. \(9\). Решение в СУБД
Источники:
Рис. 1. База данных «Родители и дети». © ЯКласс.
Рис. 2. Решение. © ЯКласс.
Рис. 3. База данных «Закупки». © ЯКласс.
Рис. 4. Заказчики. © ЯКласс.
Рис. 5. Товары. © ЯКласс.
Рис. 6. Менеджеры. © ЯКласс.
Рис. 7. Закупки. © ЯКласс.
Рис. 8. Фильтр по товару и менеджеру. © ЯКласс.
Рис. 9. Решение в СУБД. © ЯКласс.