erstellen einer DB zur Erfassung von Rapportzettel

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

ichweißnix
Beiträge: 4
Registriert: Mi, 07.05.2014 16:56

erstellen einer DB zur Erfassung von Rapportzettel

Beitrag von ichweißnix »

Guten Morgen,
ich möchte eine Datenbank erstellen, um die Rapportzettel bzw Stundenzettel unserer Mitarbeiter zu erfassen.
Programm OpenOffice Database

Erfasst werden müssen folgende Daten:
Datum
Wer (Mitarbeiter/Subunternehmer)
Wo (Baustellenliste)
mit wem (einfaches Infofeld, um Namen der zusätzlichen Arbeiter zu notieren)
vom Mitarbeiter geschriebene Stunden: Beginn + Ende
von GPS erfasste Zeiten: BeginnGPS + Ende GPS

vorhandene Tabellen:
Baustellenliste
Mitarbeiterliste/Sub-Liste
WerWannWoMitWem-Tabelle mit geschriebenen Zeiten und GPS-Zeiten


Es wird also eine n zu n Datenbank. In jeder Tabelle habe ich eine eigene ID, die automatisch vergeben wird.

Meine erste Frage: Ist die Unterteilung in die 3 Tabellen sinnvoll oder sollten die Daten in noch mehr einzelne Tabellen gespeichert werden?

3 Formulare, eins für jede Tabelle, hab ich auch. Die sind ja nur für die Dateneingabe da.

Wie gefragt, ist die Aufteilung so sinnvoll oder sollte ich die Daten noch mehr unterteilen.

Danke für die Hilfestellung :D
Frank
acco
***
Beiträge: 52
Registriert: So, 04.05.2014 19:54

Re: erstellen einer DB zur Erfassung von Rapportzettel

Beitrag von acco »

Hallo Frank,

das kommt darauf an. Beispielsweise auf die Menge der zu verarbeitenden Daten. Sind sehr viele einzugeben und zu verarbeiten, ist von Vorteil einzelne Datenfelder die häufig den gleichen Inhalt haben in separate Tabellen auszulagern. Sinnvoll finde ich, statt "Garmisch-Patenkirchen" 389 mal einzugeben, nur eine ID-Nr in der Tabelle zu haben, die auf "Garmisch-Patenkirchen" in einer anderen Tabelle hinweist.

Aber all das wird die Praxis zeigen. Da es vermutlich Deine erste Datenbank ist, fange einfach an. Erweitern kannst Du die Struktur später immer noch. Das ist nichts außergewöhnliches, denn im Alltagsgebrauch zeigt sich erst, welche Funktionen noch erforderlich oder wünschenswert sind. Das kann man dann einbauen.

Deine 3 Tabellen reichen für den Anfang. Ich hätte sie genannt: Auftrag (Baustelle), Mitarbeiter und Einsatz. In Tabelle Einsatz werden dann aus den Tabellen Auftrag und Mitarbeiter die IDs zusammengeführt, so das Du sehen kannst wann auf welcher Baustelle welche Mitarbeiter beschäftigt waren oder sind. So habe ich jedenfalls Deinen Post verstanden. Fange also einfach an und wenn es nicht weitergeht, melde Dich wieder mit einer Frage und lade gegebenenfalls hier eine Beispiel-DB hoch, das macht es Anderen meist einfacher das Problem nachzuvollziehen.

Gruß

acco
openSUSE 13.1, LibreOffice 4.3.2.2
ichweißnix
Beiträge: 4
Registriert: Mi, 07.05.2014 16:56

Re: erstellen einer DB zur Erfassung von Rapportzettel

Beitrag von ichweißnix »

Danke acco, für deine Hilfestellung.

Es ist meine erste Datenbank. Aber du scheinst ein Hellseher zu sein. :lol: In der Erfassung für Mai wird Garmisch tatsächlich auftauchen.

Es gibt hier eine fertige DB, die einzelne Tabellen für Kunde und Baustelle hat. Mit den entsprechenden ID´s. Aus diesen beiden Werten wird eine Baustellennummer gebildet, welche ich auch in einer Spalte der Tabelle Baustellen habe. Da es aber monatlich nur so an die 25 Baustellen sind, kann ich das im Moment noch von Hand bewerkstelligen. Eine Anbindung an die bestehende Datenbank (komplettes Bauprogramm) möchte ich nicht wagen. Das System läuft und möchte mit Samthandschuhen angefasst werden.

Mir geht es um die Stundenauswertung. Ob beschissen wurde, Stundenaufwand pro Baustelle usw und um schnell nachzusehen, wer wann wo war.

Muss ich für das Zusammenführen der ID Mitarbeiter und ID Auftrag in der Tabelle Einsatz schon eine Beziehung zwischen den 3 Tabellen herstellen?

Meine Anfänge könnt Ihr euch gerne Ansehen. Verbesserungsvorschläge sind immer willkommen.
Morgen müsste ich mich mal an Berichte wagen. Und wie ich die Stunden subtrahieren kann? In EXEL kann ich es.Nur ist das hier leider etwas komplizierter.

Danke schon mal für eure Unterstützung.
Frank
Dateianhänge
Stundenauswertung_forum.odb
für das Forum etwas angepasste Tabellen. Datenschutz und so.
(62 KiB) 217-mal heruntergeladen
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: erstellen einer DB zur Erfassung von Rapportzettel

Beitrag von RobertG »

Hallo Frank,

zuerst einmal ist mir aufgefallen, dass Du zwar verschiedene Tabellen definierst, aber die Beziehung über Felder nicht herstellst. In der Tabelle "Einsatz" stehen die Mitarbeiter ausgeschrieben statt die Mitarbeiter_ID, ebenso die Baustellen ausgeschrieben und das Feld Baustellen_ID ist unbenutzt.

Diese ausgeschriebenen Felder sollten raus, dafür die Felder, die auf die Fremdschlüssel verweisen, rein.
Dann gibt es noch 2 Felder, die für mich nicht einleuchtend sind:

"wer noch?" - das betrifft mehrere Personen.
Haben die grundsätzlich die gleichen Zeiten? Dann müssten sie zur besseren Auswertung in eine separate Tabelle ausgelagert werden, in der nur der Primärschlüssel der Tabelle "Einsatz" und der Primärschlüssel der Tabelle "Name" zusammen abgelagert werden. Dann kann auch das Name_ID-Feld aus der Tabelle "Einsatz" wieder raus.
Haben die nicht die gleichen Zeiten? Dann gehören separate Einträge zum Einsatz in die Tabelle, damit die Zeiten nachvollzogen werden können.

"Summe_GPS" - soll das die Stundenzahl ergeben? Also die Differenz von Endzeit und Startzeit? Dann gehört das nicht in die Tabelle. Das wird nicht eingetragen, sondern in einer Abfrage berechnet. Schwierigkeiten bekommst Du, wenn die Arbeitszeiten nicht an dem Tag enden, an dem sie angefangen haben (Nachtdienst). Dann muss da kein Zeitfeld sondern ein Timestamp-Feld hin.

Gruß

Robert
acco
***
Beiträge: 52
Registriert: So, 04.05.2014 19:54

Re: erstellen einer DB zur Erfassung von Rapportzettel

Beitrag von acco »

Hallo Frank,

damit Du einen Anfang hast, findest Du in der beigefügten DB einige Änderungen umgesetzt.

In der Tabelle Einsatz habe die erforderlichen ID-Felder ergänzt und einige Felder umbenannt. Die Zeiterfassungsfelder sind noch nicht auf Timestamp geändert.

Im Formular "Einsatz" hast Du Schwierigkeiten mit den Listenfeldern. In der Select-Klausel hat jeweils das "ID"-Feld gefehlt. Die jeweilige ID wird jetzt in die Tabelle Einsatz geschrieben, in den Listenfeldern im Formular aber Name und Baustelle angezeigt. Im Formular habe ich noch die Eigenschaften so verändert, das man nicht nur Eingaben machen kann, sondern auch Änderungen. So kannst Du vergleichen, was im Formular gezeigt und was in der Tabelle gespeichert wird. Ach ja, auch die Beziehungen habe ich eingefügt.

Schau es Dir an, baue es nach wenn Du willst und ergänze es dann um Roberts Hinweise. Viel Spaß.

Gruß

acco
Dateianhänge
Stundenauswertung_forum_2.odb
(55.49 KiB) 261-mal heruntergeladen
openSUSE 13.1, LibreOffice 4.3.2.2
Antworten