Задания для самостоятельного выполнения

Сложность:
Rare
  1. Спроектируйте БД с использованием crow’s foot notation.
  2. Напишите модели данных, создайте и заполните БД с помощью SQLAlchemy.
  3. Напишите запросы для выборки и анализа данных из БД.
  4. Оформите отчёт в README.md. Отчёт должен содержать:
    • Условия задач
    • Описание проделанной работы
    • Скриншоты результатов
    • Ссылки на используемые материалы

Сложность:
Medium
  • Выполните задание с использованием Piccolo ORM.

Сложность:
Well-done
  • Выполните задание с использованием NoSQL СУБД + ORM/ODM (MongoDB + Beanie, ArangoDB + Pydango, и т.д.)

Варианты заданий

  1. Заказы в ресторане. Каждый заказ принадлежит только одному столику. В одном заказе может быть несколько блюд, и каждое блюдо может быть в нескольких заказах.

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

  3. Разработка ПО. У каждого проекта есть своя команда разработчиков, но единственный менеджер. Разработчики могут участвовать в нескольких проектах одновременно.

  4. Книги. Каждая книга издаётся одним издательством, но у неё может быть несколько авторов.

  5. Музыка. Каждая композиция принадлежит только одному лейблу. Композицию могут исполнять несколько музыкантов или групп.

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

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

  8. Кружки. Каждый ученик может посещать несколько кружков, у каждого кружка есть ведущий, который может вести несколько кружков.

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

  10. Туристическое агенство. Продаёт своим клиентам туры в разные страны. Каждый клиент может посетить одну или несколько стран в рамках тура.

  11. Новости. Каждый пользователь может быть подписан на несколько новостных каналов, у каждого канала есть владелец.

  12. Автомобили. Каждый завод производит определённый модельный ряд автомобилей, после чего автомобили отправляются дилерам. Дилеры могут продавать одну или несколько марок автомобилей.