- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在为学校开发一个考勤系统,该系统将同时满足员工和学生的需求。
当前的数据库模式是
考勤
表
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.
用outer join从出勤表中计算出现在的天数效率高吗??
提前致谢。
最佳答案
您不需要外部联接来计算学生的出勤率。您可以简单地计算出勤表中的记录(一次,因为它对所有学生都是一样的),然后从学生出勤表中选择以获得缺勤。
如果您更愿意使用外部联接来计算出勤率,您可以这样做。如果您在出勤表主键和从学生出勤表到出勤表的外键上有一个索引,那么效率可能会更高。
关于mysql - 高效考勤管理系统的数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14098346/
我正在为员工建立一个时间登记系统。我开始将时间保存为 mysql 中的“Datetime”。问题是,当我有两列日期时间时,注册时间只会填充一列,第二列(取决于登录或退出)设置为“0000-00-00
我正在制作一个小程序,员工可以在其中上下类。员工有一个员工 ID,必须使用该 ID 才能上下类。 计时没问题,但我的问题是员工可以多次计时而不会超时。 我想做的是,每当员工计时时,他/她就不允许再次计
我有一个文本框(用于员工 ID)和一个在单击时将员工 ID、当前日期和当前时间(不同列)保存到数据库的时间按钮。问题是我怎样才能将时间限制在每天一次。 这是我的代码: exec($sql);
根据下面给定的模式,我想在我的数据库中查询员工每天进出的时间。 注意:员工的工作时间很灵活,他们可以上夜类或白类(正如您在员工 #1 中看到的那样)。 架构:出勤表 | id | employee_i
我是一名优秀的程序员,十分优秀!