Sobes.tech
Middle

Vazifa boshqaruv tizimi uchun jismoniy ma'lumotlar modelini loyihalashtiring. Barcha jismoniy jadvallarni, asosiy kalitlar (PK) va tashqi kalitlar (FK) bilan ajrating. Model avvalgi identifikatsiya qilgan barcha foydalanish holatlarini qamrab olishi kerak.

sobes.tech AI

AIdan javob

Для системы управления задачами можно выделить следующие основные таблицы:

  1. Users — пользователи системы
  • PK: user_id
  • Поля: username, email, password_hash, created_at
  1. Tasks — задачи
  • PK: task_id
  • FK: assigned_to (user_id из Users) — пользователь, которому назначена задача
  • FK: created_by (user_id из Users) — пользователь, создавший задачу
  • Поля: title, description, status, priority, due_date, created_at, updated_at
  1. Projects — проекты, объединяющие задачи
  • PK: project_id
  • FK: owner_id (user_id из Users) — владелец проекта
  • Поля: name, description, created_at
  1. Task_Comments — комментарии к задачам
  • PK: comment_id
  • FK: task_id (из Tasks)
  • FK: author_id (user_id из Users)
  • Поля: content, created_at
  1. Task_History — история изменений задач
  • PK: history_id
  • FK: task_id (из Tasks)
  • FK: changed_by (user_id из Users)
  • Поля: change_type, old_value, new_value, changed_at
  1. Project_Members — участники проекта
  • PK: (project_id, user_id)
  • FK: project_id (из Projects)
  • FK: user_id (из Users)
  • Поля: role

Эта модель покрывает основные use case:

  • Создание и назначение задач
  • Управление проектами и участниками
  • Комментирование задач
  • Отслеживание истории изменений

Пример определения таблицы Tasks:

CREATE TABLE Tasks (
    task_id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    description TEXT,
    status VARCHAR(50) NOT NULL,
    priority INT,
    due_date DATE,
    assigned_to INT REFERENCES Users(user_id),
    created_by INT REFERENCES Users(user_id),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP
);