Просто молю помочь! Мучаюсь с заданием уже несколько дней, всегда на каких-то этапах что-то идет не так, а ИИ каждый раз делает как будто хуже.
ЗАДАНИЕ: разработать «файловую» базу данных (БД) с несколькими «таблицами». Под «таблицей» подразумевается один JSON-файл со списком JSON-ов, каждый из которых имеет одинаковую структуру. Доступ и манипуляции с БД осуществляются с помощью консольной менюшки (бесконечной до нажатия на «выход», как каждый из вас уже делал во втором проекте нашего курса), поддерживается стандартный набор операций CRUD .
К решению есть требования:
CRUD-запросы должны быть: реализованы отдельными функциями; универсальны для всех таблиц (реализованы не более 1 раза). Контент таблиц должен удовлетворять минимальным требованиям по содержанию — минимум 20 записей.
Тематика: Библиотека
Файл (library.json):
[ { "BookID": 1, "Title": "Война и мир", "Author": "Лев Толстой", "Genre": "Роман", "Year": 1869, "BorrowedBy": ["Иван", "Николай"] } // Нужно добавить еще минимум 19 записей. // Поле BookID должно быть уникальным для всех книг. // Поле BorrowedBy может быть пустым списком. // Поле BorrowedBy минимум у одной книги должно быть пустое. // Поле Author должно иметь минимум 5 различных значений. // Поле Genre должно иметь минимум 5 различных значений. ] Помимо CRUD-операций, нужно реализовать дополнительный функционал:
поиск книг по жанру/автору; поиск «самой популярной» книги/книг, которая находится в пользовании у наибольшего числа пользователей; поиск книг, которые не были взяты из библиотеки.
Задание 1 Первая задача — разработаем консольное меню. Пока что вместо выполнения команд можно выводить на экран предложения вида: «Я делаю вот это».
Задание 2 Разработайте блок «бизнес-логики и оперативной памяти БД». Подумайте, как хранить сущности (какой тип данных для этого лучше использовать), как сделать их аккуратный вывод (в виде таблиц) в консоль, и реализуйте это. У вас получится своего рода прослойка между файлами и консолью. В этом задании для работы с файлами используйте заглушки .
Таблица должна быть аккуратно выведена.
Задание 3 Разработайте общий блок работы с файлами — CRUD-сущностей (реализуй код для заглушек из задания 2). Не забывайте про разбиение кода на отдельные функции, которые мы проходили в третьем проекте нашего курса.
Задание 4 Реализуйте выполнение команд-запросов, соответствующих выбранному варианту тематики. Нужно заполнить JSON-файлы таким образом, чтобы можно было продемонстрировать работоспособность каждого из дополнительных пунктов по варианту. Здесь вам пригодятся знания условий и циклов, а также знание различных типов данных в Python.
P.S. Не забудьте про формат JSON, он очень поможет для выполнения этого задания.
ЗАДАНИЕ: разработать «файловую» базу данных (БД) с несколькими «таблицами». Под «таблицей» подразумевается один JSON-файл со списком JSON-ов, каждый из которых имеет одинаковую структуру. Доступ и манипуляции с БД осуществляются с помощью консольной менюшки (бесконечной до нажатия на «выход», как каждый из вас уже делал во втором проекте нашего курса), поддерживается стандартный набор операций CRUD .
К решению есть требования:
CRUD-запросы должны быть:
реализованы отдельными функциями;
универсальны для всех таблиц (реализованы не более 1 раза).
Контент таблиц должен удовлетворять минимальным требованиям по содержанию — минимум 20 записей.
Тематика: Библиотека
Файл (library.json):
[
{
"BookID": 1,
"Title": "Война и мир",
"Author": "Лев Толстой",
"Genre": "Роман",
"Year": 1869,
"BorrowedBy": ["Иван", "Николай"]
}
// Нужно добавить еще минимум 19 записей.
// Поле BookID должно быть уникальным для всех книг.
// Поле BorrowedBy может быть пустым списком.
// Поле BorrowedBy минимум у одной книги должно быть пустое.
// Поле Author должно иметь минимум 5 различных значений.
// Поле Genre должно иметь минимум 5 различных значений.
]
Помимо CRUD-операций, нужно реализовать дополнительный функционал:
поиск книг по жанру/автору;
поиск «самой популярной» книги/книг, которая находится в пользовании у наибольшего числа пользователей;
поиск книг, которые не были взяты из библиотеки.
Задание 1
Первая задача — разработаем консольное меню. Пока что вместо выполнения команд можно выводить на экран предложения вида: «Я делаю вот это».
Задание 2
Разработайте блок «бизнес-логики и оперативной памяти БД». Подумайте, как хранить сущности (какой тип данных для этого лучше использовать), как сделать их аккуратный вывод (в виде таблиц) в консоль, и реализуйте это. У вас получится своего рода прослойка между файлами и консолью. В этом задании для работы с файлами используйте заглушки .
Таблица должна быть аккуратно выведена.
Задание 3
Разработайте общий блок работы с файлами — CRUD-сущностей (реализуй код для заглушек из задания 2). Не забывайте про разбиение кода на отдельные функции, которые мы проходили в третьем проекте нашего курса.
Задание 4
Реализуйте выполнение команд-запросов, соответствующих выбранному варианту тематики. Нужно заполнить JSON-файлы таким образом, чтобы можно было продемонстрировать работоспособность каждого из дополнительных пунктов по варианту. Здесь вам пригодятся знания условий и циклов, а также знание различных типов данных в Python.
P.S. Не забудьте про формат JSON, он очень поможет для выполнения этого задания.