数据库设计是信息系统开发的重要环节,它确保数据的高效存储、管理和检索。在这个“数据库设计1”的案例中,涉及了多个实体及其之间的关系,包括员工、部门、职位、权限、请假类别、请假记录、考勤结果、考勤记录、班次管理、加班申请以及调班申请。以下是这些实体的具体说明: 1. **员工信息表**: - `userid` 是主键,自增,用于唯一标识每个员工。 - `username` 是员工工号,唯一且不可重复。 - `password` 使用MD5加密存储,保护员工密码安全。 - `name` 存储员工姓名。 - `phone` 保存员工的手机号码。 - `department` 指示员工所在的部门。 - `position_id` 关联员工的职位。 - `shift_id` 表示员工的班次。 - `photo` 存储员工的头像信息。 - `status` 描述员工的状态,如在职或离职。 - `level` 定义员工的权限等级,0为普通员工,1为部门管理员,2为超级管理员。 2. **部门表**: - `departmentid` 是主键,自增,表示部门编号。 - `name` 保存部门的名称。 - `punch_address` 记录部门的打卡地址。 - `method_id` 关联考勤方式。 - `number` 为部门的员工数量。 3. **职位表**: - `positionid` 是主键,自增,标识职位编号。 - `name` 描述职位名称,如总经理、项目经理。 - `mechanism_id` 用于关联职位所属的企业机构。 - `permission_id` 关联职位的权限。 4. **权限表**: - `permissionid` 主键,自增,权限编号。 - `userPermission` 用户权限的集合。 - `namePermission` 权限的名称。 5. **请假类别表**: - `id` 主键,自增,标识请假类别编号。 - `name` 请假类别的名称。 - `type` 说明处理方式,如补考勤或请假处理。 6. **请假记录表**: - `id` 主键,自增,请假记录编号。 - `name` 请假员工的姓名。 - `user_id` 请假员工的编号。 - `leave_type` 请假类型,关联请假类别。 - `leava_start` 请假开始时间。 - `leava_stop` 请假结束时间。 - `status` 审核状态,如待审核、通过或不通过。 - `reason` 请假的理由。 7. **考勤结果表**: - `resultid` 考勤结果编号。 - `name` 考勤结果名称,如正常出勤、迟到等。 - `minutes` 迟到或早退的分钟数。 8. **考勤记录表**: - `attendid` 主键,自增,打卡记录编号。 - `user_id` 打卡员工ID。 - `date` 打卡日期。 - `attend_week` 打卡的星期几。 - `attend_start` 打卡开始时间。 - `attend_stop` 打卡结束时间。 - `absenbce` 缺勤的时间长度。 - `status` 考勤结果,如正常、迟到等。 - `address` 打卡地址。 9. **班次管理表**: - `id` 班次编号,主键,自增。 - `name` 班次名称,如早班、晚班。 - `on_time` 上班时间。 - `off_time` 下班时间。 - `week` 对应的星期几。 10. **加班申请**: - `id` 加班申请编号。 - `user_id` 申请人ID,即员工编号。 - `name` 申请人姓名。 - `date` 申请时间。 - `why` 申请加班的原因。 - `over_start` 加班开始时间。 - `over_sleep` 加班结束时间。 - `over_date` 加班时长。 11. **调班申请**: - `id` 调班编号。 - `apply_id` 申请人ID。 - `apply_name` 申请人姓名。 - `it_id` 调换对象ID。 - `it_name` 调换对象姓名。 - `status` 审核状态,如待审核、通过或不通过。 在这个设计中,通过外键关系,不同表之间建立了关联,如员工表与部门表、职位表的关系,以及请假记录表与请假类别表的关系。此外,考虑到不同的考勤方式(如轮值和固定),可能需要额外的逻辑来处理。同时,为了简化查询和数据分析,可以创建视图或逻辑视图,以提供更直观的数据展示和分析。
- 粉丝: 35
- 资源: 321
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0