ER说明
编写人:刘洋
数据库:测试库 admin_coop
版本与日期:V1.2 0000-00-00
确认人:陈静、周敏
一、说明目的
本文说明行政协同平台 V1.2 的业务实体、主外键和容量,供建表、联调和数据核对使用。范围覆盖员工、会议室、预订、请假、访客、用品和申领七类数据。陈静于 9月10日确认实体与四个页面一致,周敏于 9月11日核对访客和用品字段与现有纸质台账能够对上。
二、实体一览
- 员工保存工号、姓名、部门和直属主管,试点范围为主办公点 420 人。
- 会议室保存楼层、名称和容纳人数,当前启用 12 间,停用 2 间只作历史查询。
- 预订保存会议室、日期、起止时间和主题,一张预订对应一名发起员工。
- 请假、访客、申领分别保存各自的状态流转,单据都挂在发起员工名下。
三、关系说明
一名员工可以发起多张预订、请假、访客和申领。一名主管名下有多名员工,审批记录写在请假单上,主管工号取自员工的直属主管字段。一间会议室在同一日期可有多张预订,时段重叠由预订服务拦截,库表用唯一约束挡住完全相同的起止时间。一种用品对应多张申领,申领成功后回写库存数量。访客单由行政员工确认,确认人外键指向员工表。
员工删除采用停用标记。已停用员工的历史单据保留,新的预订、请假、访客和申领在写入前校验员工为在职。会议室停用后,未来日期的新预订被拒绝,已存在的预订仍可查询。
四、核心字段
下表列出联调中最常核对的字段。类型按测试库实际定义,示例取自 9月18日张伟的预订和 9月19日陈静的请假。
五、完整性约束
- 预订的 room_id、员工工号必须已存在,日期、开始和结束时间均必填,结束晚于开始。
- 同一会议室、同一日期、同一起止时间只允许一条有效预订,取消后的记录不占用该约束。
- 请假的开始日期和结束日期必填,类型限定为年假、事假、病假,事由 10 至 200 字。
- 申领数量为 1 至 5,扣减后的库存小于 0 时事务回滚,单据状态保持为未写入。
- 访客来访日期必填,确认人仅在状态变为已确认时写入,待确认记录的确认人为空。
六、索引与容量
预订表按会议室加日期建立组合索引,支撑按日查询占用,9月实测该查询平均 18 毫秒。请假表按员工工号和状态建立组合索引,主管待办按主管工号查询,平均 22 毫秒。用品库存更新走主键。试点按 420 名员工、每日新增预订 80 张、请假 30 张、访客 20 张、申领 25 张估算,单表一年增长约 3 万至 8 万行。刘洋计划在超过 50 万行前评估按年拆分预订表。备份每日 02:10 执行,保留 14 天。