Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

РГР_СУБД_Панченко

.odt
Скачиваний:
0
Добавлен:
21.05.2025
Размер:
952.31 Кб
Скачать

Министерство науки и высшего образования РФ

Федеральное государственное бюджетное образовательное учреждение высшего образования «Омский государственный технический университет»

Кафедра «Автоматизированные системы обработки информации и управления»

ОТЧЕТ

РАСЧЁТНО-ГРАФИЧЕСКАЯ РАБОТА ПО ДИСЦИПЛИНЕ

«СУБД»

Вариант 8

Выполнил:

студент группы ПИН-221 Панченко М.А.

_____________________________________

(дата, подпись) Проверил:

к.т.н., доцент Малков О.Б.

____________________________________

(дата, подпись)

Омск 2025

ВВЕДЕНИЕ

Сегодня технологии баз данных сильно изменились благодаря появлению NoSQL- систем. В отличие от обычных реляционных баз данных, где данные хранятся в виде таблиц с жёсткой структурой, NoSQL предлагает более гибкий способ работы с данными. Такие базы хорошо подходят для обработки большого объёма информации, высокой скорости работы и лёгкого увеличения мощности. В частности, нереляционные базы данных служит универсальным решением для веб-разработки и нашли в этой сфере множество применений. Одной из самых популярных NoSQL-баз данных является MongoDB. Эта СУБД дает возможность выполнять запросы на языке JavaScript (Mongo Shell) и хранит данные в виде документов, похожих на формат JSON, что делает её простой в использовании и хорошо совместимой с современными языками программирования.

1 Создание базы данных

Задание: Создать базу данных «Фирма по продаже запчастей».

Фирма продает запасные части для автомобилей. Фирма имеет определенный набор поставщиков, по которым известны название, адрес и телефон. У поставщиков приобретаются детали. Каждая деталь характеризуется названием, артикулом и ценой. Некоторые из поставщиков могут поставлять одинаковые детали (один артикул). Каждый факт покупки запчастей у поставщика фиксируется в базе данных, причем обязательными для запоминания являются дата покупки и количество приобретенных деталей. Цена детали может меняться от поставки к поставке. Поставщики заранее ставят фирму в известность о дате изменения цены и ее новом значении. Нужно хранить не только текущее значение цены, но и всю историю изменения цен.

Была создана база данных фирма по продаже запчастей в консоли

Рисунок 1 — Создание БД

  1. Создание коллекций

Создание коллекций по предметной области «Выдача банком кредитов»

Рисунок 2 — Создание коллекций

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

Рисунок 3 – Коллекции в MongoDB Compass

  1. Добавление данных в коллекцию

Заполнение коллекций buy, now_buy, producer и details данными.

Рисунок 4 — Заполнение коллекции buy

Рисунок 6 — Заполнение коллекции detalis

Рисунок 7 – Коллекция producer

Рисунок 8 – Коллекция now_buy

  1. Выборка данных из коллекции

Создание запросов по предметной области и их объединение с помощью

метода 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

23

Соседние файлы в предмете Системы управления базами данных