/Relational-databases_7-semester

Laboratory work in Relational databases 7 semester

Primary LanguageShellApache License 2.0Apache-2.0

Описание

Данный репозиторий содержит лабораторные работы по предмету «Реляционные базы данных» в 7 семестре

Установка окружения

Подготовка

Инструкция

  1. Переместите загруженный образ в директорию image внутри Environment;

  2. Откройте консоль в директории Environment;

  3. В консоли выполните:

    build
  4. Дождитесь завершения построения контейнера;

  5. Добавьте соединение: Новое соединение

    Пароль: Passw0rd

P. S. Dockerfile базируется на данном репозитории

Задачи

Задача 1

Сделать выборку из таблицы UNIVERSITY c использованием курсора и цикла с методом %FOUND или %NOTFOUND для получения данных об университетах с рейтингом большим 400 и с помощью пользовательской исключительной ситуации исключить из вывода данные об университетах, расположенных в интернете

Задача 2

Описать и вызвать функцию, которая определяет для студентов с заданной фамилией сумму баллов по заданному предмету в таблице EXAMS

Задача 3

Создать пакет, состоящий из функции с параметрами и процедуры без параметров. Функция подсчитывает количество студентов, учащихся в университете, заданным параметром. Процедура подсчитывает количество обращение к функции и заносит это количество, номер университета и количество студентов в новую таблицу, созданную заранее

Задача 4

Создать триггер, который считает средний балл заданного студента и выдает диагностическое сообщение при превышении заданного порога уклонения вводимого значения атрибута в зависимости от среднего балла, при этом происходит заполнение некоторой таблицы

Задача 5

Создать таблицу UNIVERSITY и заполнить ее с использованием последовательностей

Задача 6

Фирма отказалась от приобретения некоторых товаров у своих поставщиков, решив самостоятельно наладить их производство. С этой целью она организовала сеть специализированных цехов, каждый из которых принимает определенное участие в технологическом процессе.

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

Операцией считается законченная часть процесса производства, которая целиком выполняется силами одного цеха в соответствии с техническими требованиями, перечисленными на отдельном чертеже. Для каждого продукта и для каждой операции в базе данных фирмы заведена запись, содержащая описание операции, ее среднюю продолжительность и номер чертежа, по которому можно отыскать требуемый чертеж. Кроме того, указывается номер цеха, обычно производящего данную операцию.

В запись, связанную с конкретной операцией, заносятся потребные количества расходуемых материалов, а также присвоенные им шифры товара. Расходуемыми называют такие материалы, как, например, электрический кабель, который нельзя использовать повторно. Когда, готовясь к выполнению операции, расходуемый материал забирают со склада, регистрируется фактически выданное количество, соответствующий шифр товара, номер служащего, ответственного за выдачу, дата и время выдачи, номер операции и номер наряда на проведение работ, который будет обсуждаться ниже. Реально затраченное количество материала может не совпадать с расчетным, из-за того, например, что часть изготовленной продукции бракуется.

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

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

Наряд на проведение работ по форме напоминает заказ на приобретение товаров, но, в отличие от последнего, он направляется не поставщику, а в один из цехов. Оформляется этот наряд после того, как руководство фирмы сочтет необходимым выпустить партию некоторого продукта. В наряд заносятся шифр продукта, дата оформления наряда, срок, к которому должен быть выполнен заказ, а также требуемое количество продукта.

Написать пакет, состоящий из процедур и функций, которые позволили выполнить следующие действия с базой данных:

  • Для выбранного цеха, выдать список операций, выполняемых им;
  • Для каждой операции список расходуемых инструментов, с указанием количества;
  • Показать список инструментов и предоставить возможность добавления нового;
  • Выдать список используемых инструментов;
  • Для указанного интервала дат, вывести список нарядов;
  • Показать список операций и предоставить возможность добавления новой операции;
  • Выдать список расходуемых инструментов в различных нарядах;
  • Выдать список товаров, с указанием используемых инструментов;
  • Показать список нарядов и предоставить возможность добавления нового;
  • Выдать отчет о производстве товаров различными цехами, указав наименование цеха, название товара и его количество;
  • Предусмотреть разработку триггеров, обеспечивающие каскадные изменения в связанных таблицах.