当前位置:首页 > 高校人力资源管理系统数据库设计与实现 - 图文
以完全决定员工姓名等属性,而身份证号和员工号又是非主属性,则不满足范式的要求。但在实际情况中,公司管理人查看员工和应聘人信息时,应该马上就能得知其身份证号,用以确定其可靠性。因为虽然其没有满足范式要求,但出于实际考虑,也为提高管理者的查询和管理效率,还是将身份证号放入这三个表中。在员工表中,员工工号代表在公司的一种存在,所以员工工号也放入员工表中。
(3)第三个问题是,在员工奖惩、员工考核和员工日常考勤的三个没有联系的表中都出现了工资月份属性,这样会导致数据冗余和更新数据异常、不一致问题的情况。解决的方法是运用SQL语言中Select查询语句的Distinct关键字,该关键字的使用能够在查询结果集中除去重复的行(即冗余数据),根据此思路可以形成一个没有冗余数据的结果表。 3、设置数据约束
(1)CHECK约束(使其填写数据格式和内容满足CHECK约束):员工合同是否转正:是、否;婚姻状况:是、否;电话号码和手机号码为数字等。
(2)默认值约束:默认值不可乱设置,容易造成严重的错误,所以我将性别默认值设为“男”。
(3)有效性约束:将int型(除了自动编号)属性的数值范围做出了规定。如:员工的奖惩金额应该大于零,员工本单位工龄应该是0到40之间等。
(4)主键和外键约束:在每个实体中必须有一个主键,且或有
外键的需要,具体设置在数据库实现部分进行说明。
六、数据库实现
1) 表1 员工信息表 字段名称 员工编号 员工工号 员工姓名 员工身份证号 员工出生年月 员工性别 数据类型 int int char(10) char(18) datetime char(2) 索引 空值 其它 主键 有效性规则“男”or“女”,默认值 “男” 约束名:checksex 员工民族 char(10) 否 有(无重复) 否 否 否 否 否 否 员工婚姻状况 员工籍贯 员工政治面貌 员工电话 员工电子邮箱
char(10) char(20) char(10) int char(30) 否 否 否 否 否 员工信息表在数据库中的实现那如图所示:
2) 表2 员工单位信息表 字段类型 员工部门编号 员工工种 员工行政等级 员工职务 员工职称 数据类型 索引 int 空值 其它 主键 有(无重复) 否 否 否 否 否 char(20) char(20) char(30) char(20) 员工调入时间 datetime 否 否 有效性规则:between 0 and 40 员工本单位工龄 int 员工登记时间 员工简历 员工编号
datetime char(90) int 否 是 外键 有(有重复) 否 员工单位信息在数据库中的实现那如图所示:
3) 表3 员工全月考勤 字段名称 全月考勤编号 应出勤天数 迟到次数 早退次数 数据类型 索引 int int int int 空值 其它 主键 有(无重复) 否 否 是 是 是 是 迟到和早退总数 int 旷工天数 int
共分享92篇相关文档