Sobes.tech
Middle

Navrhnite fyzický dátový model pre systému správy úloh. Zvýraznite všetky fyzické tabuľky s označením primárnych (PK) a cudzích (FK) kľúčov. Model by mal pokrývať všetky prípady použitia, ktoré ste predtým identifikovali.

sobes.tech AI

Odpoveď od AI

Pre systém správy úloh možno vyzdvihnúť nasledujúce hlavné tabuľky:

  1. Používatelia — používatelia systému
  • PK: user_id
  • Polia: username, email, password_hash, created_at
  1. Úlohy — úlohy
  • PK: task_id
  • FK: assigned_to (user_id z tabuľky Používatelia) — používateľ, ktorému je úloha pridelená
  • FK: created_by (user_id z tabuľky Používatelia) — používateľ, ktorý úlohu vytvoril
  • Polia: title, description, status, priority, due_date, created_at, updated_at
  1. Projekty — projekty, ktoré skupinujú úlohy
  • PK: project_id
  • FK: owner_id (user_id z tabuľky Používatelia) — vlastník projektu
  • Polia: name, description, created_at
  1. Komentáre_k_úlohám — komentáre k úlohám
  • PK: comment_id
  • FK: task_id (z tabulky Úlohy)
  • FK: author_id (user_id z tabuľky Používatelia)
  • Polia: content, created_at
  1. História_úloh — história zmien v úlohách
  • PK: history_id
  • FK: task_id (z tabulky Úlohy)
  • FK: changed_by (user_id z tabuľky Používatelia)
  • Polia: change_type, old_value, new_value, changed_at
  1. Členovia_projektu — členovia projektu
  • PK: (project_id, user_id)
  • FK: project_id (z tabulky Projekty)
  • FK: user_id (z tabulky Používatelia)
  • Polia: role

Tento model pokrýva hlavné prípady použitia:

  • Vytváranie a prideľovanie úloh
  • Správa projektov a členov
  • Komentovanie úloh
  • Sledovanie histórie zmien

Príklad definície tabuľky Úlohy:

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
);