1️⃣Анализ текущей ситуации
Текущая таблица имеет следующие проблемы:
1. Дублирование данных (например, повторяющиеся названия ИИ-инструментов)
2. Возможность опечаток (ручной ввод названий инструментов)
3. Отсутствие классификации задач
4. Ненормализованная структура
2️⃣Нормализация до 3НФ
1. Выделение сущностей
Из таблицы можно выделить следующие сущности:
1. Аналитики (сотрудники)
2. ИИ-инструменты
3. Типы задач
4. Сессии работы (фактические записи о работе)
2. Схема базы данных в 3НФ
Аналитики (Analyst)
- analyst_id (PK)
- name (уникальное)
ИИ-инструменты (AITool)
- tool_id (PK)
- name (уникальное)
Типы задач (TaskType)
- type_id (PK)
- name (уникальное)
- description
Сессии работы (WorkSession)
- session_id (PK)
- date
- analyst_id (FK → Analyst)
- tasktype_id (FK → TaskType)
- tool_id (FK → AITool)
- duration_minutes
- rating
3️⃣UML-диаграмма классов (см. на картинке👆👆)
4️⃣Преимущества новой структуры
1. Устранение дублирования:
- Каждый аналитик, инструмент и тип задачи хранится один раз
- В сессиях работы используются только ссылки (ID)
2. Защита от опечаток:
- Аналитики выбираются из списка
- Инструменты выбираются из списка
- Типы задач выбираются из списка
3. Гибкость:
- Легко добавить новые атрибуты для любой сущности
- Просто добавлять новые инструменты или типы задач
4. Целостность данных:
- Связи обеспечивают, что нельзя добавить сессию с несуществующим аналитиком, инструментом или типом задачи
5️⃣ Рекомендации по интерфейсу
Для решения проблемы Анны следует разработать интерфейс, где:
1. Аналитики выбираются из выпадающего списка
2. ИИ-инструменты выбираются из списка (можно с автодополнением)
3. Типы задач выбираются из классификатора
4. Дата выбирается из календаря
5. Время и оценка вводятся в контролируемых полях (числа с ограничениями)
6️⃣Проверка на соответствие 3НФ
В статье приведен промт из базы Крутого AI-аналитика и результат проверки.
#UML@cool_analyst
