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:
- Používatelia — používatelia systému
- PK: user_id
- Polia: username, email, password_hash, created_at
- Ú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
- 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
- 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
- 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
- Č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
);