Skip to content

Infinity282/db_lab

Repository files navigation

Настройка проекта

TODO

Схема базы данных

Схема базы данных

Лабораторная работа №1

Задача

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

Решение

  1. Ищем по термину в Class_Materials
  2. Сопоставляем с Class убираем все Class без type = лекция
  3. Сопоставляем с Schedule
  4. Убираем Schedule, которые не попадают в промежуток
  5. По Schedule ищем Attendance
  6. Ищем сортируем студентов по кол-ву посещений лекций ограничиваем вывод до 10 студентов
  7. Сопоставляем информацию, чтобы вывести всю информацию о студенте, его процент посещения, период, термин

Тесты для проверки API

python -m pytest test_lab1_app.py

Лабораторная работа №2

Задача

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

Решение

  1. Получаем семестр и год обучения

  2. Находим расписание (Schedule) для семестра текущего года по условию where start_date и end_date

  3. Найти все Class по class_id Schedule

  4. Найти курс лекций по course_of_class_id Class

  5. Найти все группы по group_id Schedule

  6. Найти всех студентов по student_id Group и посчитать их

  7. Составляем отчёт и отправляем его

Тесты для проверки API

python -m pytest test_lab2_app.py

Лабораторная работа №3

Задача

Получить отчет по заданной группе учащихся с указанием объема прослушанных и запланированных часов лекций по всем курсам. Учитывать только лекции с тегом специальной дисциплины кафедры. Одна лекция = 2 академических часа.

Решение

  1. Получаем группу учащихся, получаем студентов в этой группе, запоминаем
  2. Находим кафедру группы, запоминаем
  3. Находим для каждого студента лекции с тегом специальной дисциплины, и считаем сколько прослушано, а сколько нет
  4. Смотрим какие лекции прошли, а какие ещё нужно прослушать
  5. Составляем отчёт

Тесты для проверки API

python -m pytest test_lab3_app.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors