Middle
Entwerfen Sie ein physisches Datenmodell für das Aufgabenverwaltungssystem. Heben Sie alle physischen Tabellen mit Angabe der Primärschlüssel (PK) und Fremdschlüssel (FK) hervor. Das Modell sollte alle Anwendungsfälle abdecken, die Sie zuvor identifiziert haben.
sobes.tech KI
Antwort von AI
Für das Aufgabenverwaltungssystem können die folgenden Haupttabellen hervorgehoben werden:
- Benutzer — Systembenutzer
- PK: user_id
- Felder: username, email, password_hash, created_at
- Aufgaben — Aufgaben
- PK: task_id
- FK: assigned_to (user_id aus Benutzern) — Benutzer, dem die Aufgabe zugewiesen ist
- FK: created_by (user_id aus Benutzern) — Benutzer, der die Aufgabe erstellt hat
- Felder: title, description, status, priority, due_date, created_at, updated_at
- Projekte — Projekte, die Aufgaben gruppieren
- PK: project_id
- FK: owner_id (user_id aus Benutzern) — Projektbesitzer
- Felder: name, description, created_at
- Aufgaben_Kommentare — Kommentare zu Aufgaben
- PK: comment_id
- FK: task_id (aus Aufgaben)
- FK: author_id (user_id aus Benutzern)
- Felder: content, created_at
- Aufgaben_Historie — Änderungsverlauf der Aufgaben
- PK: history_id
- FK: task_id (aus Aufgaben)
- FK: changed_by (user_id aus Benutzern)
- Felder: change_type, old_value, new_value, changed_at
- Projekt_Mitglieder — Projektmitglieder
- PK: (project_id, user_id)
- FK: project_id (aus Projekten)
- FK: user_id (aus Benutzern)
- Felder: role
Dieses Modell deckt die wichtigsten Anwendungsfälle ab:
- Erstellung und Zuweisung von Aufgaben
- Projekt- und Mitgliederverwaltung
- Kommentierung von Aufgaben
- Nachverfolgung der Änderungsverläufe
Beispiel für die Definition der Tabelle Aufgaben:
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
);