Для студентов МГТУ им. Н.Э.Баумана по предмету Базы данныхВсе лабораторные работы для условия "Интернет-провайдер"Все лабораторные работы для условия "Интернет-провайдер"
2024-04-162024-04-16СтудИзба
Лабораторная работа: Все лабораторные работы для условия "Интернет-провайдер" вариант 6
Описание
Данное решение содержит все 3 лабораторные работы. Для первой сама БД и SQ (простые запросы). Для второй CQ (сложные запросы). Для третьей процедура (`sp_update_balance`) и триггер (он сам находиться в contract). Так же предоставлена под нулевой ЛР схема от руки для утверждения преподавателю.
Некоторые запросы были немного изменены чтобы не менять значения в таблице и могут несколько запросов не понравиться преподавателю (это нормально и обычно за несколько минут их можно подредактировать).
Условие:
Вариант 6. Интернет-провайдер.
Интернет-провайдер предоставляет своим клиентам интернет-услуги. С каждым клиентом заключается договор на предоставление услуг. В договоре указываются паспортные данные клиента, дата заключения договора. При расторжении договора проставляется дата прекращения оказания услуг.
За каждую подключенную услугу с клиента ежедневно списывается с баланса стоимость услуги. При этом фиксируется дата и время изменения баланса. Если баланс после списания стоимости услуги становится отрицательным, то клиент блокируется. Активный клиент (с положительным балансом) имеет статус 1.
Заблокированный - статус 2.
Стоимость услуг время от времени меняется. При изменении стоимости для истории сохраняется старое
значение, новое значение и дата изменения.
Каждый клиент может подключить/отключить любое количество услуг в любое время. Даты включения/отключения услуг у клиента сохраняются.
Простые запросы.
1 Показать все сведенья о клиентах, родившихся в марте 2000 года.
2 Показать все сведенья о клиентах, заключивших договора за последние 60 дней.
3 Показать общую величину положительного баланса всех клиентов на текущий момент.
4 Показать, у скольких клиентов подключена каждая из услуг.
5 Определить максимальную цену для услуг, уникальный код которых начинается с ХХХ
6 Показать, сколько раз изменялся баланс каждого из клиентов в марте 2020 года.
Сложные запросы.
1 Создать отчет об услугах за 2020 год по форме: месяц, код услуги, название услуги, количество подключений за месяц, количество отключений за месяц.
2 Создать отчет об изменениях баланса клиентов, номера которых находятся в диапазоне от ХХ1 до ХХ2 за январь 2020 года по форме: Номер клиента, Ф.И.О. клиента, Общая сумма пополнений баланса.
3 Покажите все сведенья о самом молодом клиенте компании.
4 Показать все сведенья о клиентах, которые ни разу не изменяли баланс (с помощью левостороннего соединения)
5 Показать все сведенья о клиентах, ни разу не изменявших баланс в марте 2020 года.
6 Показать все сведенья о клиенте/ах, наиболее активно расходовавших баланс в марте 2020 года (с помощью view).
Триггеры и хранимые процедуры.
Разработать процедуру, которая будет принимать на вход дату. В процедуре реализовать списание с баланса клиентов стоимости всех подключенных на этот день услуг и добавление записи в историю изменения балансов.
Разработать триггер, который будет срабатывать при изменении текущего баланса клиента. В триггере реализовать добавление соответствующей записи в историю балансов клиента.
Клиент подключает/отключает услуги
Некоторые запросы были немного изменены чтобы не менять значения в таблице и могут несколько запросов не понравиться преподавателю (это нормально и обычно за несколько минут их можно подредактировать).
Условие:
Вариант 6. Интернет-провайдер.
Интернет-провайдер предоставляет своим клиентам интернет-услуги. С каждым клиентом заключается договор на предоставление услуг. В договоре указываются паспортные данные клиента, дата заключения договора. При расторжении договора проставляется дата прекращения оказания услуг.
За каждую подключенную услугу с клиента ежедневно списывается с баланса стоимость услуги. При этом фиксируется дата и время изменения баланса. Если баланс после списания стоимости услуги становится отрицательным, то клиент блокируется. Активный клиент (с положительным балансом) имеет статус 1.
Заблокированный - статус 2.
Стоимость услуг время от времени меняется. При изменении стоимости для истории сохраняется старое
значение, новое значение и дата изменения.
Каждый клиент может подключить/отключить любое количество услуг в любое время. Даты включения/отключения услуг у клиента сохраняются.
Простые запросы.
1 Показать все сведенья о клиентах, родившихся в марте 2000 года.
2 Показать все сведенья о клиентах, заключивших договора за последние 60 дней.
3 Показать общую величину положительного баланса всех клиентов на текущий момент.
4 Показать, у скольких клиентов подключена каждая из услуг.
5 Определить максимальную цену для услуг, уникальный код которых начинается с ХХХ
6 Показать, сколько раз изменялся баланс каждого из клиентов в марте 2020 года.
Сложные запросы.
1 Создать отчет об услугах за 2020 год по форме: месяц, код услуги, название услуги, количество подключений за месяц, количество отключений за месяц.
2 Создать отчет об изменениях баланса клиентов, номера которых находятся в диапазоне от ХХ1 до ХХ2 за январь 2020 года по форме: Номер клиента, Ф.И.О. клиента, Общая сумма пополнений баланса.
3 Покажите все сведенья о самом молодом клиенте компании.
4 Показать все сведенья о клиентах, которые ни разу не изменяли баланс (с помощью левостороннего соединения)
5 Показать все сведенья о клиентах, ни разу не изменявших баланс в марте 2020 года.
6 Показать все сведенья о клиенте/ах, наиболее активно расходовавших баланс в марте 2020 года (с помощью view).
Триггеры и хранимые процедуры.
Разработать процедуру, которая будет принимать на вход дату. В процедуре реализовать списание с баланса клиентов стоимости всех подключенных на этот день услуг и добавление записи в историю изменения балансов.
Разработать триггер, который будет срабатывать при изменении текущего баланса клиента. В триггере реализовать добавление соответствующей записи в историю балансов клиента.
Клиент подключает/отключает услуги
Файлы условия, демо
Характеристики лабораторной работы
Предмет
Учебное заведение
Семестр
Вариант
Программы
Просмотров
39
Размер
206,83 Kb
Преподаватели
Список файлов
Trigger.sql
lab_0.jpg
README.txt