私は、従業員と学生の両方に対応する学校への出席システムを開発しています。
現在のdbスキーマは
attendance
テーブル
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
次に、実際の出席値を格納するスタッフと学生用のさまざまなテーブルがあります。
スタッフの場合、出席はに保存されattendance_staff
ます。データベーススキーマは
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
スタッフのために、私はテーブルに存在するエントリと存在しないエントリの両方を保存しています。
今、学生の出席はそれに含まれている必要があります。
毎日のステータスはすでにテーブルに保存されているのでattendance
、各学生の現在価値を学生出席テーブルに保存できますか。
同様に、学生出席テーブルには、特定の日に出席していない日のエントリのみが保存されます。
のスキーマattendance_student
は
attendance_id - references attendance table
student_id - references student table
status - will be leave / absent etc other than present.
外部結合を使用して出席テーブルから現在の日数を計算するのは効率的ですか?
前もって感謝します。