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 3 von 6     123 45     Letzte » 
jobo

Registriert seit: 29. Nov 2010
2.578 Beiträge
 
Delphi 2010 Enterprise
 
#21

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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.415 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#22

AW: Sinnvoller aufbau einer DB

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

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.367 Beiträge
 
Delphi 7 Personal
 
#23

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 12:31
es können mehrere Einträge pro Tag und Person sein
id
Pers_id
type_id
starttime
endtime
comment

Problematisch könnten Fehleingaben mit Zeitüberschneidung werden.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Beach

Registriert seit: 3. Mär 2019
Ort: Hunsrück
21 Beiträge
 
FreePascal / Lazarus
 
#24

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.
Miniaturansicht angehängter Grafiken
er_dia2.jpg  
MfG Jürgen
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
205 Beiträge
 
Delphi 2006 Professional
 
#25

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
jobo

Registriert seit: 29. Nov 2010
2.578 Beiträge
 
Delphi 2010 Enterprise
 
#26

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
Beach

Registriert seit: 3. Mär 2019
Ort: Hunsrück
21 Beiträge
 
FreePascal / Lazarus
 
#27

AW: Sinnvoller aufbau einer DB

  Alt 27. Mär 2019, 16:52
Es gibt noch andere Branchen die zu Unzeiten unterwegs sind.
Wir sind Serivcetechniker im Außendienst und das Weltweit. Da kommt dann eigentlich nicht nur das "Problem" das es über Mitternacht geht, sondern auch noch das "Problem" das ich Zeitverschiebungen habe.
Da wir allerdings nicht täglich durch die Weltgeschichte reisen, haben wir es bis jetzt so gehalten das die Zeitzone des Abreiseortes beibehalten wurde und der erste Arbeitstag in der neuen Zeitzone dann in lokaler Zeit angegeben wurde. Aufgrund der geforderten Ruhepause von min 10h gab es so keine direkte Überschneidung bei diesem System. Bis jetzt.

Wenn ich als Start und Endzeit in der wt_time_sub ein volles Datetime nehme, dann habe ich aber zumindest das Problem mit dem Tageswechsel erledigt.
Dann brauche ich auch die Spalte "day" in der wt_time_main nicht und nehme den Tag aus der "Startzeit" ?¿?

Zu dem Problem mit den unterschiedlichen Zeitzonen, könnte man das umgehen in dem man alle Zeiten in UTC speichert und bei der Ausgabe entsprechend wieder in lokale Zeit umrechnet?
So hätte man für den Bericht alles in local time, aber die Gesamtstunden, abgeleitet von der UTC, würden passen....
Macht das Sinn? Kommt nicht regelmäßig, aber doch immer wieder vor.
MfG Jürgen
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
535 Beiträge
 
Delphi 10.3 Rio
 
#28

AW: Sinnvoller aufbau einer DB

  Alt 28. Mär 2019, 10:21
- Wenn alle Tabellen mit wt_ anfangen, kannst du das auch weglassen.
- Ich würde nicht alle PKs ID nennen, das führt zu einem Ducheiande. Benne sie nach der Tabelle: ID_Employee, dann kannst du auch die FK ohne Namensänderung so benennen.
- Wenn du FK benennst, benenn sie immer nach dem gleichen Schema. id_employee ist der FK in die wt_employee. id_main sollte also id_time_main heißen etc.
- type und andere reservierte namen solltest du vermeiden
- Rechtschreibfehler sind ein Graus, aber in einem Datenmodell geht das gar nicht. Customer statt Costumer.
- Gleiche Felder sollen gleich heißen: einmal remark und einmal remarks ist nicht gut.
- Wenn Tabellen den gleichen Aufbau haben, sollte man immer überlegen, ob man das zusammenlegen kann: wt_time_type und wt_expenses_type
- Die Tabellennamen sind entweder alle Einzahl (employee) oder alle Mehrzahl (expenses)
- abhängige Tabellen sollten (für das Datenmodell) keinen eigenen PK brauchen (wt_time_main). Da hat es meist was mit dem Design.
- Die wt_time_main passt so nicht. Was identifiziert die Tabelle? Kunde+Angestellter+Tag? Ich würde die wt_time_main + Sub zusammenlegen. Das entspricht ja auch viel mehr der Wirklichkeit. Ein MA ist bei Kunde X von/bis und macht was.
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
205 Beiträge
 
Delphi 2006 Professional
 
#29

AW: Sinnvoller aufbau einer DB

  Alt 28. Mär 2019, 11:07
- Wenn alle Tabellen mit wt_ anfangen, kannst du das auch weglassen.
- Ich würde nicht alle PKs ID nennen, das führt zu einem Ducheiande. Benne sie nach der Tabelle: ID_Employee, dann kannst du auch die FK ohne Namensänderung so benennen.
Wenn mehr als eine Datenbank zur Verfügung steht, gebe ich Dir recht. Hast Du nur Eine, macht es durchaus Sinn so zu arbeiten.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
535 Beiträge
 
Delphi 10.3 Rio
 
#30

AW: Sinnvoller aufbau einer DB

  Alt 28. Mär 2019, 11:14

Naja, das würde ich schon eher vermeiden. Tabellen, die nichts miteinander zu tun haben, sollten nicht in einer DB liegen. Alternativ gibt es noch die Möglichkeit, das mit Schemas zu lösen.

Aber wie gesagt, wenn alle gleich heißen, kann man´s weglassen. Wenn NICHT alle gleich heißen, dann nicht. Ich dachte, das erschließt sich von selbst.
  Mit Zitat antworten Zitat
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 14:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf