Microsoft Access 掲示板

勤怠管理のデータとレポートについて / 1

3 コメント
views
4 フォロー
1

出勤と退勤は一対(出勤だけ、退勤だけというのは通常はない)のものなので、それを1レコードすると考えるか、
時刻データで種類のことなるものなので別レコードにすると考えるか、
データベース的にはどちらもありです。

それぞれメリット、デメリットがあるので運用や処理においてどちらが使いやすいかで決めればいいと思います。

人間が見たときに、見やすいのは前者ですが、後者でもクロス集計クエリで簡単に前者の形に変換できます。
レポートで出力するときは、「重複データ非表示」プロパティで簡単に、下記の見た目にすることもできます。
2024/04/25□AAA□出勤□9:00
□□□□□□□□□□退勤□17:00
□□□□□□□BBB□出勤□9:00
□□□□□□□□□□退勤□17:00

前者の設計が多いのは、
勤怠管理で一番多い処理は、勤務時間の集計だと思いますが、
前者だと、退勤時間-出勤時間 で簡単に計算できるからだと思います。
日付をまたぐ場合の対応は、日付も持たせるか、退勤時間<出勤時間 なら24時間足すという対応でもいいでしょう(24時間以上の連続勤務はないと思いますので)

後者でもクロス集計クエリで前者の形に変換できますので、それで同様のことは可能になります。ただし、クロス集計クエリを間にいれることでパフォーマンスに影響があるかも知れません。

結局、データ入力をどうするか、次第ではないかなと。
例えばタイムカードを使っているなら、それが出力する形式に合わせるとか(たいてい前者のレイアウトになっているかな?)

通報 ...