
РГР_СУБД_Панченко
.odtМинистерство науки и высшего образования РФ
Федеральное государственное бюджетное образовательное учреждение высшего образования «Омский государственный технический университет»
Кафедра «Автоматизированные системы обработки информации и управления»
ОТЧЕТ
РАСЧЁТНО-ГРАФИЧЕСКАЯ РАБОТА ПО ДИСЦИПЛИНЕ
«СУБД»
Вариант 8
Выполнил:
студент группы ПИН-221 Панченко М.А.
_____________________________________
(дата, подпись) Проверил:
к.т.н., доцент Малков О.Б.
____________________________________
(дата, подпись)
Омск 2025
ВВЕДЕНИЕ
Сегодня технологии баз данных сильно изменились благодаря появлению NoSQL- систем. В отличие от обычных реляционных баз данных, где данные хранятся в виде таблиц с жёсткой структурой, NoSQL предлагает более гибкий способ работы с данными. Такие базы хорошо подходят для обработки большого объёма информации, высокой скорости работы и лёгкого увеличения мощности. В частности, нереляционные базы данных служит универсальным решением для веб-разработки и нашли в этой сфере множество применений. Одной из самых популярных NoSQL-баз данных является MongoDB. Эта СУБД дает возможность выполнять запросы на языке JavaScript (Mongo Shell) и хранит данные в виде документов, похожих на формат JSON, что делает её простой в использовании и хорошо совместимой с современными языками программирования.
1 Создание базы данных
Задание: Создать базу данных «Фирма по продаже запчастей».
Фирма продает запасные части для автомобилей. Фирма имеет определенный набор поставщиков, по которым известны название, адрес и телефон. У поставщиков приобретаются детали. Каждая деталь характеризуется названием, артикулом и ценой. Некоторые из поставщиков могут поставлять одинаковые детали (один артикул). Каждый факт покупки запчастей у поставщика фиксируется в базе данных, причем обязательными для запоминания являются дата покупки и количество приобретенных деталей. Цена детали может меняться от поставки к поставке. Поставщики заранее ставят фирму в известность о дате изменения цены и ее новом значении. Нужно хранить не только текущее значение цены, но и всю историю изменения цен.
Была создана база данных фирма по продаже запчастей в консоли
Рисунок 1 — Создание БД
Создание коллекций
Создание коллекций по предметной области «Выдача банком кредитов»

Рисунок 2 — Создание коллекций
После создания можно перейти в мою базу данных и увидеть краткую информацию по каждой коллекции.

Рисунок 3 – Коллекции в MongoDB Compass
Добавление данных в коллекцию
Заполнение коллекций buy, now_buy, producer и details данными.
Рисунок 4 — Заполнение коллекции buy
Рисунок 6 — Заполнение коллекции detalis
Рисунок 7 – Коллекция producer
Рисунок 8 – Коллекция now_buy
Выборка данных из коллекции
Создание запросов по предметной области и их объединение с помощью
метода bulkWrite:
Рисунок 10 – Запросы для коллекции buy
Рисунок 11 – Результат запросов
Рисунок 12 – Добавленный документ и видимость удаления клиента с id 10
5 Обновление и удаление данных
Простой запрос, с отображением детали с артиклем 123321
Рисунок 15 – Простой запрос 1
Простой запрос на выборку всех деталей на сумму 15.63.
Рисунок 16 – Простой запрос 2
Запрос для поиска деталей которые есть в наличии (модификатор $ne)
Рисунок 17 – Запрос с модификатором $ne
Запрос для поиска поставщика японка или запчастье.рф (модификатор $or)
Рисунок 18 – Запрос с модификатором $or
Запрос для поиска деталей на сумму ниже 1000 рублей (модификатор $lt)
Рисунок 19 – Запрос с модификатором $lt
Запрос для поиска деталей на сумму больше 2000 рублей (модификатор $gt)
Рисунок 20 – Запрос с модификатором $gt
Запрос для поиска деталей на сумму 50.72 рубля и 19356.93 тысяч (модификатор $in)
Рисунок 21 – Запрос с модификатором $in
Запрос, где сумма детали больше 1000, отсортированные в порядке убывания. Выводится только 3 первые записи.
Рисунок 22 – Отсортированная коллекция buy
Запрос с пропуском в выводе первых 3 поставщиков.
Рисунок 23 – Вывод поставщиков, пропустив 3 штук
6 Запросы: модификаторы массивов. Позиционные модификаторы массивов
Рисунок 24 – Создание коллекции marka и вставка данных
Рисунок 25 – Добавление данных в массив
Рисунок 26 – Добавление нескольких данных в массив
Рисунок 27 – Отображение новых данных в коллекции
Обновление данных в массиве. Замена первого элемента массива
Рисунок 28 – Замена элемента массива по позиции
Рисунок 29 – Измененные данные в коллекции
Замена емэйла у 3 клиента по значению
Рисунок 30 – Замена элемента массива по значению
Рисунок 31 – Измененные данные в коллекции
Удаление первого элемента из массива.
Рисунок 32 – Удаление элемента массива по позиции
Рисунок 33 – Измененные данные в коллекции
Удаление всех вхождений “year: 2000”
Рисунок 34 – Удаление всех вхождений значения
Рисунок 35 – Измененные данные в коллекции
7 Регулярные выражения в MongoDB
Создание запроса на поиск документа начинающегося с определённой последовательности символов. Нахождение документов, в которых массив car содержит слово, начинающегося с year.
Рисунок 36 – Запрос с регулярным выражением
Нахождение машин содержащих последовательность символов “19”
Рисунок 37 – Запрос с регулярным выражением
Поиск документов со сложным именем. Найти документы, в которых массив marka содержит строку, оканчивающееся на "0"
Рисунок 38 – Запрос с регулярным выражением
Поиск документов, где массив marka содержит слово длиной ровно 12 символов.
Рисунок 39 – Запрос с регулярным выражением
Поиск документов, где массив marka содержит машину 1999 года выпуска.
Рисунок 40 – Запрос с регулярным выражением
ЗАКЛЮЧЕНИЕ
В ходе выполнения расчетно-графической работы была создана база данных «Фирма по продаже запчастей» – вариант 8. Были получены начальные знания по созданию нереляционных баз данных, изменению, добавлению и удалению данных из коллекций, работе с массивами и создании запросов с использованием регулярных выражений.
СПИСОК ЛИТЕРАТУРЫ
1) Работа с MongoDB: учеб.пособие / О.Б. Малков, М.П.Маркова ; Минобрнауки
России, Ом. гос. техн. ун-т. – Омск : Изд-во ОмГТУ, 2022. – 48 с. : ил. ISBN 978–5–8149–1016–5
2) MongoDB: полное руководство. Мощная и масштабируемая система управления базами данных. 3-я редакция / пер. с англ. Д. А. Беликова — М.:
ДМК Пресс, 2020. — 540 с.: ил. ISBN 978-5-97060-792-3