ru24.pro
Работа
Январь
2025
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Разработать базу данных с возможностью загрузки и управления

0

Описание проекта:

Разработать базу данных на SQL, которая будет поддерживать загрузку различных баз данных с разным числом столбцов и объемом данных через отдельное веб-приложение. База данных должна обеспечивать возможность поиска компаний по тегам, содержащимся в одном из столбцов, а также фильтрацию по другим столбцам.

Веб-приложение должно служить интерфейсом для загрузки данных, выполнения поиска, управления данными и выгрузки результатов.


Требования к функционалу базы данных:

  1. Гибкая схема базы данных:

    • Разработать схему базы данных, которая позволит обрабатывать таблицы с разным количеством столбцов.
    • Основная таблица должна содержать следующие обязательные поля:
      • «Company name»
      • «Website»
      • «Email»
      • «Регион»
      • «ИНН»
      • «ОКВЭД»
      • «Основной вид деятельности»
      • «Описание компании»
      • «Выручка»
      • «Статус»
      • «ФИО руководителя»
      • «Тег»
      • «Дата» (автоматически — дата добавления записи)
    • Добавить 3–5 дополнительных пустых столбцов для гибкости, чтобы в них можно было в будущем добавлять данные.
  2. Вспомогательная таблица для тегов:

    • Создать отдельную таблицу для хранения тегов:
      • id — уникальный идентификатор тега.
      • Тег — название тега.
  3. Обработка отсутствующих столбцов:

    • При загрузке данных через веб-приложение, если некоторые столбцы отсутствуют, база данных должна корректно обрабатывать эти случаи: подгружать только присутствующие столбцы и заполнять их в правильном порядке.
  4. Импорт данных:

    • Реализовать процедуру для импорта данных из следующих форматов: Google Sheets, CSV, Excel.
    • При импорте данных из веб-приложения должна быть возможность указать соответствие столбцов файла и полей в таблице.
  5. Управление данными:

    • Возможность обновления и удаления данных через веб-приложение.
    • Обеспечить резервное копирование и восстановление данных.
  6. Поиск и фильтрация:

    • Реализовать функционал поиска по тегу.
    • Предусмотреть возможность фильтрации по другим столбцам, таким как «Регион», «ОКВЭД», «Выручка», «Статус» и т.д.
  7. Выгрузка данных:

    • Возможность выгрузки данных из таблицы в формате CSV через веб-приложение.

Требования к функционалу веб-приложения:

  1. Панель администратора:

    • Форма для загрузки данных в базу.
    • Интерфейс для управления (обновление, удаление) данными.
    • Возможность ручного добавления записей в таблицу.
  2. Импорт данных:

    • Поддержка импорта данных из файлов форматов Google Sheets, CSV, Excel.
    • Указание соответствий между полями таблицы и загружаемыми данными.
  3. Поиск и фильтрация:

    • Простая форма для поиска по тегу.
    • Расширенные фильтры для поиска по другим столбцам.
  4. Резервное копирование:

    • Кнопка для создания резервной копии данных.
    • Функция восстановления данных из резервной копии.
  5. Выгрузка данных:

    • Функция выгрузки данных в формате CSV.
  6. Учет пользователей:

    • Авторизация и доступ к функционалу только для авторизованных пользователей.
    • Логирование всех действий пользователей (загрузка, удаление, обновление данных).

Технические требования:

  1. СУБД:

    • Использовать реляционную СУБД, например, MySQL или PostgreSQL.
  2. Технологии для веб-приложения:

    • Backend: Python (Django/Flask), Node.js, или другой согласованный фреймворк.
    • Frontend: HTML, CSS, JavaScript (React/Vue.js/Angular — по согласованию).
    • REST API или GraphQL для взаимодействия с базой данных.
  3. Интеграция с Google Sheets:

    • Использовать API Google для импорта данных из таблиц.
  4. Хранение резервных копий:

    • Резервные копии базы данных должны сохраняться в локальном или облачном хранилище.
  5. Безопасность:

    • Защита от SQL-инъекций.
    • Шифрование данных, где это необходимо (например, для Email или ИНН).