Hallo zusammen,
ich überlege nun seit einiger Zeit wie ich Sinnvoll eine
DB aufbauen kann.
Das Ziel:
Tägliche Erfassung von Reise und Arbeitszeiten zu bestimmten Aufträgen von verschiedenen Mitarbeitern (derzeit etwa 5-10).
Später soll daraus der monatliche Stundenreport erzeugt werden.
Datenbank:
Derzeit zur Entwicklung SQLite3, aber diese soll später portiert werden auf (voraussichtlich) MariaDB
Daher Verwendung von UNIX Timestamp
Eingabe von:
Tag, Mitarbeiter (Personalnummer), Anreise (Anfang und Ende), Arbeitszeit (Anfang und Ende), Rückreisezeit (Anfang und Ende), Gesamtdauer Pausen und ob diese während der Anreise, Arbeits oder Abreisezeit gerechnet werden sollen (nur in einer dieser Zeiten), Urlaub, AZK Konto, Freizeitausgleich, Krankheit (jeweils ganzer oder halber Tag), Kunde (ID Nummer als Querverweis), Bemerkungen zu dem Tag
Meine Überlegung:
Alle Datum/Zeitangaben als entsprechender UNIX Timestamp.
"day" als UINX Timestamp 0 Uhr des jeweiligen Tages.
Urlaub, AZK Konto, Freizeitausgleich, Krankheit als 10facher INT Wert (5, 10 entspricht 0,5 bzw 1 Tag)
Code:
CREATE TABLE "worktime" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
"day" INTEGER,
"personal_number" INTEGER,
"travel_start" INTEGER,
"travel_end" INTEGER,
"work_start" INTEGER,
"work_end" INTEGER,
"travel_back_start" INTEGER,
"travel_back_end" INTEGER,
"break_travel_time" INTEGER,
"break_work_time" INTEGER,
"break_travel_back_time" INTEGER,
"day_off" INTEGER,
"work_time_comp" INTEGER,
"lieu_time_comp" INTEGER,
"company" INTEGER,
"remark" TEXT
);
Was denkt Ihr, ist das ein Sinnvoller Aufbau?
Habt Ihr Vorschläge wie man es einfacher/besser/eleganter lösen könnte?
Oder würdet Ihr das ganze komplett anders angehen?
Bin gespannt auf eure Ideen, Vorschläge und Überlegungen.
MfG
Jürgen