数据库设计
数据库分析
通过系统管理,能够增强员工之间的沟通,更好地协调员工之间的协作关系;对员工基础信息管理和薪资管理更加科学;能够全程跟踪员工的培训,通过信息的记录,更好地作出员工培训方案。在设计工资管理信息系统时,主要从模块组成、数据连接、功能实现、应用意义等方面着手。模块组成主要包括该工资管理信息系统的主要组成模块以及每个模块所要达到的功能。每个模块基本上脱离不了数据,所以在数据库设计时,要充分考虑数据的高效性,减少数据冗余,保证系统运行速度。
数据库概念设计
根据以上各节对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体分别为管理员实体、招聘人员实体、员工信息管理实体、薪资管理实体、培训信息实体及部门信息实体。系统总体ER图如图所示:
奖惩信息 档案信息 管理 管理管系统信息 理 员 管理 理 管部门信息 管理 管理 图 E-R图 户 系统账
员工职薪 下面将介绍几个关键实体的E-R图。 1、管理员实体
管理员实体包括管理员帐号、管理员密码及管理员级别属性。其中管理员级别信息中,1代表系统管理员,0代表普通管理员。
管理员管理员
管理员管理员
图 5-1 管理员实体 2、员工信息管理实体
员工信息管理实体包括员工编号、员工姓名、员工年龄、员工性别、出生日期、员工身份证号、民族、婚姻状况、政治面貌、籍贯、联系电话、家庭住址、员工毕业学校、员工所学专业、文化程度、上岗时间、部门名称、部门工种、登记人、登记时间及备注信息属性。
员工所属员工性别 员工工种 员工编号 员工管员工年龄 员工毕业… 图 5-3 员工信息管理实体 员工所学3、薪资管理实体
薪资管理实体包括员工编号、工资发放时间、基本工资、加班次数、工龄、全勤奖、旷工费及保险费等属性。
员工编号 工资发放基本工资 薪资管奖金 … 图 5-4 薪资管理实体 实发工资 数据库逻辑结构
数据的概念结构设计完之后,可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。系统数据库中各表的详细SQL语句。
CREATE TABLE `dep` ( //部门表
`id` int(10) unsigned NOT NULL auto_increment COMMENT '自动编号', `dep_id` varchar(16) default NULL COMMENT '部门编号', `dep_name` varchar(16) default NULL COMMENT '部门名称', `dep_info` varchar(512) default NULL COMMENT '部门简介',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=gbk;
CREATE TABLE `rp` ( //奖惩表
`id` int(10) unsigned NOT NULL auto_increment COMMENT '自动编号', `staff_id` varchar(16) default NULL COMMENT '员工编号', `way` varchar(16) default NULL COMMENT '奖惩方式', `delmoney` varchar(16) default NULL COMMENT '奖惩名称', `reason` varchar(512) default NULL COMMENT '奖惩原由', PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=gbk;
CREATE TABLE `wage` (//工资表
`id` int(10) unsigned NOT NULL auto_increment COMMENT '自动编号', `staff_id` varchar(16) default NULL COMMENT '员工编号', `addmoney` int(10) default NULL COMMENT '当月奖金', `realmoney` int(10) default NULL COMMENT '实发工资', `sendtime` varchar(16) default NULL COMMENT '发放时间', PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=gbk;
CREATE TABLE `staff` ( //员工档案表
`id` int(10) unsigned NOT NULL auto_increment COMMENT '自动编号', `staff_id` varchar(10) NOT NULL COMMENT '员工编号',
`staff_password` varchar(16) default NULL COMMENT '登录密码', `staff_name` varchar(16) default NULL COMMENT '员工姓名', `staff_birth` varchar(16) default NULL COMMENT '员工生日', `staff_sex` varchar(16) default NULL COMMENT '员工性别',
`staff_dep_name` varchar(16) default NULL COMMENT '员工所属部门名称', `staff_position` varchar(16) default NULL COMMENT '员工职务', `staff_power` varchar(16) default NULL COMMENT '员工权限', `staff_wage` int(10) default NULL COMMENT '员工基本工资', `staff_exp` varchar(512) default NULL COMMENT '员工个人经历', `staff_degree` varchar(16) default NULL COMMENT '员工学历',