Datenbank-schema zur effizienten Anwesenheits-management-system

Ich entwickle eine Teilnahme-system für die Schule, die sorgen sowohl für Mitarbeiter als auch für Studenten.

Dem aktuellen db-schema ist

attendance Tabelle

id - primary key for this table
daydate  int(11) - stores timestamp of current day
timing_in varchar(18) - Start time for institution
timing_out - Closing time for institution
status - Status for the day, can be working day - 1 or holiday - 2

Dann gibt es verschiedene Tische für Personal & Studenten, die für die Speicherung der tatsächlichen Teilnahme-Werte.

Für die Mitarbeiter, die Teilnahme ist gespeichert in attendance_staff. Das Datenbank-schema ist

attendance_id - foreign key, references attendance table
staff_id - id of staff member, references staff master table
time_in - stores in timing of a staff member
time_out - stores out timing of a staff member
status - attendance status - can be one among the list, like present, absent, casual leave, half day, late mark, on duty, maternity leave, medical leave etc

Für die Mitarbeiter, ich bin die Speicherung sowohl vorhanden als auch nicht vorhanden Einträge in der Tabelle.

Nun die Teilnahme für Studenten hat, zu enthalten.

Da Stand jeder Tag ist schon gespeichert in attendance Tabelle, können wir speichern nicht vorhanden ist-Werte für jeden Schüler, der in der Anwesenheit der Schüler-Tabelle.

Wie die Anwesenheit der Schüler-Tabelle gespeichert werden nur die Einträge für diese Tage, die sind nicht auf einen bestimmten Tag.

Schema für attendance_student werden

attendance_id - references attendance table
student_id - references student table
status - will be leave / absent etc other than present.

Wird es sein, die effiziente Berechnung der Gegenwart aus Magnettafel mit outer-join??

Vielen Dank im Voraus.

InformationsquelleAutor Ehs4n | 2012-12-31
Schreibe einen Kommentar