AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Sinnvoller aufbau einer DB

Ein Thema von Beach · begonnen am 26. Mär 2019 · letzter Beitrag vom 26. Apr 2019
Antwort Antwort
Seite 1 von 2  1 2   
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 06:26
Die Day-Spalte würde ich mir auch schenken und den Tag aus der Startzeit ermitteln. Das allerdings bedeutet, dass Du keine Zeiträume über den Tageswechsel hinaus eintragen kannst, sondern selbst dafür sorgen musst, um 23:59:59 zu stoppen und dann um 00:00:00 wieder zu starten. Auch würde ich die Arten nicht über einen String sondern auch wieder über eine ID aus einer anderen Tabelle referenzieren (WorkTypes).

WorkTypeID
1 / Work
2 / Travel
3 / Pause
...

employe_id / Worktype / Start / End
1 / 1 / 01.01.2019 22:00:00 / 01.01.2019 23:59:59
1 / 1 / 02.01.2019 00:00:00 / 02.01.2019 04:15:00
Ja, die Erfassung von Typisierung über eine Referenztabelle ist mehr oder weniger selbstverständlich. Aber wieso sollte man sich diese Art der Zeiterfassung antun und an der Tagesgrenze splitten?
Vielleicht gibt es Handlingargumente, aber ich hoffe, es bleibt nicht am Mitarbeiter hängen, diese Angaben zu tätigen.
Gruß, Jo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 07:17
Hallo,
Zitat:
Das allerdings bedeutet, dass Du keine Zeiträume über den Tageswechsel hinaus eintragen kanns
Einspruch:
wenn jemand über Mitternacht weg ist, macht das Aufdröseln bei 23:59:59 nicht viel Sinn (wo bleibt dann übrigens die 1 Sekunde?).
Ich hatte das damals mal so gemacht, dass es ein Startdatum, aber kein Enddatum gibt.
Die Zeit selbst wurde komplett auf das Startdatum gerechnet.
Heiko
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
388 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 07:37
Wie gesagt, es ging mir um die Day-Spalte, die anfangs aufgezählt war, und da macht es meiner Meinung nach schon Sinn, den Tageswechsel zu beachten, damit in Summe keine stundenzahl von über 24 für einen Tage ermittelt werden kann
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 08:49
.. damit in Summe keine stundenzahl von über 24 für einen Tage ermittelt werden kann
Kommt in der Praxis wahrscheinlich selten vor oder?
Tatsächlich sollte m.E. grundsätzlich aber besser das abgespeichert werden, was stattgefunden hat, statt proaktive Korrektur eines hypothetischen Auswertungsfehlers. Man kann ja anhand der Daten bei Bedarf dann ermitteln, ob ein Tageswechsel dabei war.
Auswertungen bzw. allgemeine Verwendung dieser Daten würde wahrscheinlich sowieso im Rahmen eines existierenden Schichtmodells erfolgen, wenn tatsächlich zu solchen Zeiten gearbeitet wird.
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 10:25
Du müsstest die 1:n Beziehung umdrehen.
1 Main Eintrag hat mehrere Sub Einträge.

P.S: Ich bin mir nicht ganz sicher, ob Dein Main Sinn macht, es kommt mir so vor, also sei es gedanklich aus einer "Reise" enstanden, also sozusagen auf Basis einer Reisekostenabrechnung. Das muss nicht schlimm sein, Du hast ja noch weitere Pläne und willst kontinuierlich erweiteren und umbauen...
Gruß, Jo

Geändert von jobo (27. Mär 2019 um 10:30 Uhr)
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
388 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 14:05
.. damit in Summe keine stundenzahl von über 24 für einen Tage ermittelt werden kann
Kommt in der Praxis wahrscheinlich selten vor oder?
Tatsächlich sollte m.E. grundsätzlich aber besser das abgespeichert werden, was stattgefunden hat, statt proaktive Korrektur eines hypothetischen Auswertungsfehlers. Man kann ja anhand der Daten bei Bedarf dann ermitteln, ob ein Tageswechsel dabei war.
Auswertungen bzw. allgemeine Verwendung dieser Daten würde wahrscheinlich sowieso im Rahmen eines existierenden Schichtmodells erfolgen, wenn tatsächlich zu solchen Zeiten gearbeitet wird.
Wie oft kann ich Dir nicht sagen, aber wenn Du z.B. Dir die Bereitschafts-/Arbeitszeiten von Ärzten im Krankenhaus ansiehst, wirst Du feststellen, dass es durchaus vorkommen kann bzw. vorkommt.
  Mit Zitat antworten Zitat
Beach

Registriert seit: 3. Mär 2019
Ort: Kappel
46 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 09:08
Also zu dem Thema Tageswechsel...
Es kommt durchaus öfters vor das wir über den Tageswechsel unterwegs sind (Reisezeiten).
Dazu habe ich im Moment aber noch keine wirklichen Gedanken gemacht. Muss ich auch noch nachholen.

Auf jedenfall habe ich mir den Aufbau noch einmal gründlich durch den Kopf gehen lassen. Bin aber immer noch nicht ganz überzeugt....

Im Anhang ein Bild eines ER-Diagramms, um das Prinzip zu verdeutlichen.

In der wt_time_sub sollen alle Zeiten gesammelt werden. Als Typ geb ich an um welche Art es sich handelt z.B. Arbeitszeit oder Urlaub
Nun brauche ich aber eine Beziehung zur Tabelle wt_time_main um die Zeiten einem Tag und einem MA, usw zuzuordnen..
Das, habe ich gedacht über einen numerischen Schlüssel zu machen (Spalte key_time in Tabelle wt_time_main bezieht sich auf Spalte key in Tabelle wt_time_sub).
Dieser Schlüsselwert kommt aber in der wt_time_sub mehrfach vor (es können mehrere Einträge pro Tag und Person sein)
Könnte man das so lösen, oder gibt es eine andere Möglichkeit mehrere Werte in einer Tabelle eindeutig einer Spalte in einer anderen Tabelle zuzuordnen?

PS: Die Beziehungen zwischen wt_time_main zu wt_time_Sub und wt_expenses sind in der Grafik nicht korrekt dargestellt. OOo Base hat da gemeckert wegen FK....
Angehängte Grafiken
Dateityp: jpg ER_dia.jpg (64,6 KB, 36x aufgerufen)
MfG Jürgen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 11:06
Test
Markus Kinzler
  Mit Zitat antworten Zitat
Beach

Registriert seit: 3. Mär 2019
Ort: Kappel
46 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 13:18
Ich glaube nun habe ich's verstanden mit den Beziehungen.
Danke soweit für eure Infos und Geduld.

Wobei jetzt die Überlegung weitergeht wenn man über Mitternacht unterwegs ist....
Bei dem momentanen Modell bleibt, wenn ich das richtig sehe, nur der Split nachts um 24 Uhr.
Angehängte Grafiken
Dateityp: jpg ER_dia2.jpg (66,6 KB, 19x aufgerufen)
MfG Jürgen
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 14:17
Wobei jetzt die Überlegung weitergeht wenn man über Mitternacht unterwegs ist....
Bei dem momentanen Modell bleibt, wenn ich das richtig sehe, nur der Split nachts um 24 Uhr.
Also noch mal ganz pragmatisch:
Auch wenn in einem Betrieb Reisetätigkeiten erfolgen, was ist nachts um 24 Uhr meist los?
Schläfchen? ... Soll das wirklich in die Zeiterfassung?
Und selbst wenn ja und oder wenn es kein Schläfchen ist, sondern Arbeit, warum nicht als Ganzes?

Wie bereits angedeutet, wenn es sich hier um das Berufsfeld Ärzte, Lokführer, Capitäne usw. handelte, wäre sowieso ein Schichtmodell am Start mit entsprechender Software und Datenmodell.

Und die Datentypen haben damit bestimmt kein Problem, ein Tag plus Uhrzeit, kein Problem. Man kann wunderbar damit rechnen und hat erstmal kein Darstellungsproblem, wenn man auf die Rohdaten schaut. Wieso wollte man hier immer doppelt Einträge sehen um Mitternacht?
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz