Разработать базу данных с возможностью загрузки и управления
Описание проекта: Разработать базу данных на SQL, которая будет поддерживать загрузку различных баз данных с разным числом столбцов и объемом данных через отдельное веб-приложение. База данных должна обеспечивать возможность поиска компаний по тегам, содержащимся в одном из столбцов, а также фильтрацию по другим столбцам.Веб-приложение должно служить интерфейсом для загрузки данных, выполнения поиска, управления данными и выгрузки результатов. Требования к функционалу базы данных: Гибкая схема базы данных:Разработать схему базы данных, которая позволит обрабатывать таблицы с разным количеством столбцов.Основная таблица должна содержать следующие обязательные поля:«Company name»«Website»«Email»«Регион»«ИНН»«ОКВЭД»«Основной вид деятельности»«Описание компании»«Выручка»«Статус»«ФИО руководителя»«Тег»«Дата» (автоматически — дата добавления записи)Добавить 3–5 дополнительных пустых столбцов для гибкости, чтобы в них можно было в будущем добавлять данные.Вспомогательная таблица для тегов:Создать отдельную таблицу для хранения тегов:id — уникальный идентификатор тега.Тег — название тега.Обработка отсутствующих столбцов:При загрузке данных через веб-приложение, если некоторые столбцы отсутствуют, база данных должна корректно обрабатывать эти случаи: подгружать только присутствующие столбцы и заполнять их в правильном порядке.Импорт данных:Реализовать процедуру для импорта данных из следующих форматов: Google Sheets, CSV, Excel.При импорте данных из веб-приложения должна быть возможность указать соответствие столбцов файла и полей в таблице.Управление данными:Возможность обновления и удаления данных через веб-приложение.Обеспечить резервное копирование и восстановление данных.Поиск и фильтрация:Реализовать функционал поиска по тегу.Предусмотреть возможность фильтрации по другим столбцам, таким как «Регион», «ОКВЭД», «Выручка», «Статус» и т.д.Выгрузка данных:Возможность выгрузки данных из таблицы в формате CSV через веб-приложение. Требования к функционалу веб-приложения: Панель администратора:Форма для загрузки данных в базу.Интерфейс для управления (обновление, удаление) данными.Возможность ручного добавления записей в таблицу.Импорт данных:Поддержка импорта данных из файлов форматов Google Sheets, CSV, Excel.Указание соответствий между полями таблицы и загружаемыми данными.Поиск и фильтрация:Простая форма для поиска по тегу.Расширенные фильтры для поиска по другим столбцам.Резервное копирование:Кнопка для создания резервной копии данных.Функция восстановления данных из резервной копии.Выгрузка данных:Функция выгрузки данных в формате CSV.Учет пользователей:Авторизация и доступ к функционалу только для авторизованных пользователей.Логирование всех действий пользователей (загрузка, удаление, обновление данных). Технические требования: СУБД:Использовать реляционную СУБД, например, MySQL или PostgreSQL.Технологии для веб-приложения:Backend: Python (Django/Flask), Node.js, или другой согласованный фреймворк.Frontend: HTML, CSS, JavaScript (React/Vue.js/Angular — по согласованию).REST API или GraphQL для взаимодействия с базой данных.Интеграция с Google Sheets:Использовать API Google для импорта данных из таблиц.Хранение резервных копий:Резервные копии базы данных должны сохраняться в локальном или облачном хранилище.Безопасность:Защита от SQL-инъекций.Шифрование данных, где это необходимо (например, для Email или ИНН).
Databases