2016-04-29 12 views
0

Aufbau eines internen webbasierten Projektmanagement-Tools für mein Unternehmen. Benötigen Sie Hilfe beim Datenbankentwurf für die Arbeitszeittabellenkomponente.Stundenzettel Datenbankdesign

Wir verwenden derzeit eine MS Excel-Datei, in: Spaltenüberschriften - Tage der Woche Reihen - Tageszeit mit 30 Minuten pro Zeile (Row1: 09.00 Uhr, Row2: 09.30 und so weiter)

Jede Zelle in der Tabelle hat ein Dropdown-Menü, das von einer Reihe vordefinierter Aufgaben abruft, die von einem Manager festgelegt wurden, und der Mitarbeiter wählt eine der Aufgaben für diesen Tag und diesen bestimmten 30-Minuten-Zeitschlitz aus.

Ich möchte die Front-End-Schnittstelle für die Mitarbeiter gleich bleiben.

Benötigen Sie Hilfe beim Entwerfen einer Datenbank, die dies unterstützt. Ich bin offen für irgendwelche Vorschläge/Änderungen in den Beschränkungen, die ich angelegt habe, wenn es eine bessere Effizienz ermöglicht. Vielen Dank!

+0

scheint, als müssten Sie einen Entwickler einstellen, um es zu tun! Datenbankdesign und UI können komplex sein – gavgrif

+0

@gavgrif Nicht wirklich. Wenn das, wonach ich gefragt habe, unglaublich komplex zu implementieren ist, bin ich offen für eine einfachere Lösung. UI muss nicht wie Excel sein. Ideen einfach rauswerfen. –

Antwort

0

Ist etwas wie das, wonach Sie suchen?

Aufgabe (alle Aufgaben Mitarbeiter könnte zugeordnet werden)

  • PK: ID
  • ... weitere Details
  • Namen ...

Mitarbeiter

  • PK: ID
  • Namen
  • ... weitere Details ...

EmployeeTask (die Liste der Aufgaben, die einem Mitarbeiter zugeordnet wurden)

  • PK: Id
  • FK: TaskId
  • FK: EmployeeId

Timeperiod (die Zeilenbeschriftungen)

  • PK: ID
  • Start (09.30, 10.00 Uhr usw.Id
  • Startdatum
  • Enddatum (nicht: -
  • )

Timesheet (Koteletts eine Region der Zeit heraus und sagt, es ist eine Sache, die Spaltenüberschriften)

  • PK gibt benötigen Sie dies, wenn Arbeitszeittabellen die gleiche Zeitspanne abdecken)

EmployeeTimesheetCell

  • PK: ID
  • FK: TimesheetId
  • FK: EmployeeId
  • FK: TimePeriodId
  • FK: TaskId
  • Datum oder Wochentag
  • verbrachte Zeit

Sie würden proba bly möchte einen Status oder ein Fertigstellungsdatum für Task und/oder EmployeeTask haben, so dass alte fertige Aufgaben die GUI nicht überladen.

Verwandte Themen