Middle
Sukurkite fizinį duomenų modelį užduočių valdymo sistemai. Išryškinkite visas fizines lenteles su nurodytais pirminiais (PK) ir užsienio (FK) raktų. Modelis turi apimti visas anksčiau nustatytas naudojimo atvejus.
sobes.tech AI
Atsakymas iš AI
Užduočių valdymo sistemoje galima išskirti šias pagrindines lenteles:
- Vartotojai — sistemos vartotojai
- PK: user_id
- Laukai: username, email, password_hash, created_at
- Užduotys — užduotys
- PK: task_id
- FK: assigned_to (user_id iš Vartotojų lentelės) — vartotojas, kuriam priskirta užduotis
- FK: created_by (user_id iš Vartotojų lentelės) — vartotojas, sukūręs užduotį
- Laukai: title, description, status, priority, due_date, created_at, updated_at
- Projektai — projektai, kurie grupuoja užduotis
- PK: project_id
- FK: owner_id (user_id iš Vartotojų lentelės) — projekto savininkas
- Laukai: name, description, created_at
- Komentarai_uz_uzduotis — komentarai prie užduočių
- PK: comment_id
- FK: task_id (iš Užduočių)
- FK: author_id (user_id iš Vartotojų lentelės)
- Laukai: content, created_at
- Užduoties_istorija — užduočių pakeitimų istorija
- PK: history_id
- FK: task_id (iš Užduočių)
- FK: changed_by (user_id iš Vartotojų lentelės)
- Laukai: change_type, old_value, new_value, changed_at
- Projekto_nariai — projekto nariai
- PK: (project_id, user_id)
- FK: project_id (iš Projektų)
- FK: user_id (iš Vartotojų)
- Laukai: role
Šis modelis apima pagrindinius naudojimo atvejus:
- Užduočių kūrimas ir priskyrimas
- Projektų ir narių valdymas
- Komentavimas užduotyse
- Pakeitimų stebėjimas
Užduočių lentelės apibrėžimo pavyzdys:
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
);