Zum Inhalt springen

Datenbank erstellen


Filou

Empfohlene Beiträge

Hi!

Ich möchte mal euere Meinung wissen.

Ich soll ein Programm zur Arbeitszeiterfassung schreiben.

Ich würde die Datenbank wie folgt aufbauen.

Bin mir aber nicht sicher...

[Personal]

(PersonalNr.) KEY

(Benutzername)

(Passowort)

(Vorname)

(Nachname)

[TestUser]

(PersonalNr.) KEY

(Kommt) TT:MM:JJJJ:STD:MIN:SEK

(Geht) TT:MM:JJJJ:STD:MIN:SEK

(Unterbrechnung) TT:MM:JJJJ:STD:MIN:SEK

(Pause) TT:MM:JJJJ:STD:MIN:SEK

Wie würdet Ihr es machen?

LG, Filou

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also "Passowort" würde bei mir "Passwort" heißen... :D

Ich würde mir außerdem noch überlegen, ob ich nicht das Datum und die Zeit bei "Kommt" und "Geht" nicht trennen würde.

Eigentlich reicht nur ein Datum, oder? Oder arbeiten bei euch welche in der Nachtschicht?

Man muss es halt abwägen...

Mir ist noch nicht schlüssig, was Du unter "Unterbrechung" und "Pause" erfassen willst. Müßte bei Pause nicht ein Minutenwert reinkommen?

Gruß

JayN

Link zu diesem Kommentar
Auf anderen Seiten teilen

Uuups, vertippt :)

Nur das Datum reicht nicht. Bei uns kann jeder kommen und gehen, wann er will. Man muss nur im Monat auf seine Zeit kommen. Deshalb brauch die Zeit. Ohne währe es witzlos.

Und das Datum und die Zeit ist zusammen in einem Feld, weil ich das Programm mit C++ mache, das dann auf die Datenbank zugreift und da muss ich die Klasse COleDateTime verwenden.

Ich habs mittlerweile ganz anders gemacht.

Ich lege nicht für jeden Benutzer eine Tabelle an, sondern mache eine Tabelle "Zeiterfassung" in der alle Benutzer und alle Zeiten drin sind.

Dann noch eine mit "Berechtigungen" und eine "Personal", in denen die allgemeinen sachen drin stehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Unter dem Punkt der ... etz hab ich vergessen wies heist, aber :

Die Personaltabelle würde ich spalten:

[uSERS]

(ID) KEY

(Username)

(Password)

[uSERS_real]

(ID) KEY

(Name)

(Vorname)

[uSERS_anschrift]

(ID) KEY

(Stadt)

(PLZ)

(Land)

(und so weiter)

so kannst du ggf. auf Bereits bestehende Mitarbeitertabellen zugreifen, welche von z.B. der Personalabteilung verwaltet werden. So gibts bei euch nur eine einzige Tabelle mit den Namen der Mitarbeiter usw., nicht das es da zu redundanzen kommen kann ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ach, es heist Normalisierung!

Des Gschmarri mit 1. 2. und 3. Normalform, des meinte ich, hatte nur grad vergessen wies heist, habs aus meine gedanken verdrengt ;)

Na, Normalisierung is schon nützlich aber auch kompliziert, vor allem die zweite:

Sind in einer Relation Attribute, welche nur von einem Teil des Primärschlüssels abhängig sind, so muss dieses Attribut in eine neue Relation, in welcher dieses Attribut mit dem zugehörigen Primärschlüssel steht. Also sind die Primärschlüssel Personennummer und ISBN-Nummer, die weiteren Attribute Name und Buchtitel, dann muss der Name mit der Personennummer in eine neue Relation. Aus der ersten Relation muss dann noch der Name raus, Personennummer bleibt aber da.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ach, es heist Normalisierung!

Des Gschmarri mit 1. 2. und 3. Normalform, des meinte ich, hatte nur grad vergessen wies heist, habs aus meine gedanken verdrengt ;)

Na, Normalisierung is schon nützlich aber auch kompliziert, vor allem die zweite:

Ja, das weiß ich :) Danke!

Meine Stechuhr - Programm ist nur ein kleiner Teil eines Personalverwaltungsprogramms, dass ich im anschluss programmieren muss.

Da werden dann alle Daten über den Mitarbeiter gespeichert.

Mir gings hier hautsächlich um die Zeiterfassung.

Hallo,

Wenn im Feld Pause das Datum verwendest, dann solltest du es trennen zwischen Pause beginnt, Pause endet. Ich würde Allerdings nur die Zeit reinschreiben z.B. 30 min.

evtl. noch die unterteilung in abteilungen?

Antibiotik

Ich dachte, das Feld Pause enthält nur die Dauer der Pause.

Also 30 Min oder 45 Min. Wann die Pause gemacht worden ist, ist doch egal, oder?

Das Wort Zeiterfassung kommt mir sehr bekannt vor

Was willst Du mir damit sagen???? :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit "zeiterfassung kommt mir bekannt vor" meinte er vllt. das ich gesat hab, ich hab vergessen wies heist ;)

Wegen der Pausenlänge ...

es kommt halt drauf an wie genau die werte sien sollen,

wenn man aber mehr über seine Angestellten erfahren will dann würd ich den anfang das Ende und die Dauer aufnehmen also wenns echt nur um die länge geht dann würd zwei tabellen nehmen:

[pause_temp]

(Mitarbeiter ID)

(Anfangszeit)

[pausenzeit]

(date() - pause_temp.Anfangszeit) - where id = id blah blah blah

-> funktion: löche den eintrag mit ID xyz aus der temp tabelle

Wenn ich das mal wieder etwas verwirrt geschreiben haben sollte, einfach sagen, dann glieder ich des n bisserl und schreibs ausführlicher genauer usw ;):D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...