员工工资管理系统设计
2.5.5工种表实体E-R图
Job jobID jobname d 图7 工种表E-R图
2.5.6实体与实体之间的E-R模型如图8所示
salardepti 考勤管理 员工考勤 部门 属于 员工 加班管理 计算工资 员工工资 人事变动 9 员工加班
人员变动
员工工资管理系统设计
图8 实体间的E–R模型
三、数据库逻辑设计 3.1表的定义
3.1.1员工表 employee 字段名 EmpID Name Sex age address emptel JobID deptID 数据类型 Char(6) varChar(10) Char(2) int Varchar(100) Varchar(15) Char(6) Char(6) 表1
3.1.2部门表
department 字段名 deptID deptName deptallowance manager depttel
10
含义说明 况 职工编号 字 职工姓名 性别 年龄 地址 联系电话 工种编号 部门编号 空值情主关键不为空 不为空 不为空 不为空 数据类型 Char(6) Varchar(20) money Varchar(20) Varchar(15) 表2
含义说明 况 部门编号 部门名称 部门津贴 0 部门经理 办公室电话 空值情主键 不为空 默认为
员工工资管理系统设计
3.1.3工种表: Job 字段名 jobID jobname deptid salary 数据类型 Char(6) Varchar(20) Char(6) money 表3 3.1.4加班类型表(类型,加班名称,加班薪酬)
extraWorkType
字段名 ewtypeID ewtypeName ewtypePay
加班表(职工号,日期,加班类型,加班时间,加班津贴) Extrawork
字段名 empID ewdate ewtypeID ewtime ewpay Char(6) date Char(3) Number(2) Number 员工编号 加班日期 加班类型 加班时间 加班薪酬 表5
考勤表(日期,职工编号,是否出勤) Attendance
字段名 Attdate empID ifattd 数据类型 Date Char(6) Char(1) 表6
11
含义说明 况 工种编号 工种名称 部门编号 基本工资 空值情主键 不为空 不为空 不为空 数据类型 Char(3) Char(20) number 表4 含义说明 况 加班类型 加班名称 加班薪酬 空值情主键 不为空 数据类型 含义说明 况 空值情不为空 不为空 不为空 不为空
含义说明 况 日期 职工编号 是否出勤 空值情不为空 不为空 不为空
员工工资管理系统设计
考勤类型表(出勤类型,出勤名字,扣除工资)
attendancetype
字段名 attID attName attSal 数据类型 char(3) char(20) number 表7
含义说明 出勤类型 出勤名字 扣除工资 空值情况 主键 3.2代码
在主界面中,员工管理菜单是此系统的重要组成部份,其中包括4个主要功能模块:员工基本信息模块,员工考勤模块,员工评价模块和员工工资管理模块。
在编写程序的具体代码之前首先要创建公用模块,VB中可以用公用模块来存放整个工程项目公用的函数,过程和全局变量等。这样可以极大的提高代码的效率。在项目资源管理器中为项目添加一个Module,并保存就可以开始添加代码了。公用代码如下:
Public Function ExecuteSQL(ByVal SQL _ As String, MsgString As String) _ As ADODB.Recordset
Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String
On Error GoTo ExecuteSQL_Error sTokens = Split(SQL)
Set cnn = New ADODB.Connection cnn.Open ConnectString
If InStr(\UCase$(sTokens(0))) Then cnn.Execute SQL
MsgString = sTokens(0) & _ \Else
Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, _ adOpenKeyset, _ adLockOptimistic Set ExecuteSQL = rst
MsgString = \查询到\条记录 \End If
ExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit Function
12
员工工资管理系统设计
ExecuteSQL_Error:
MsgString = \查询错误: \Err.Description
Resume ExecuteSQL_Exit End Function
Public Function ConnectString() As String ConnectString = \End Function
以上两个函数代码分别用来完成执行各种SQL语句和连接数据库。
四、物理结构设计
4.1存储结构设计
经过分析可知,本酒店管理系统中信息处理的特点如下: (1)职员基本信息、职员考勤信息子系统的数据不仅经常需要查询,而且更新速度快,例如新职员的到来后要进行登记,职员每个月都要进行要作考勤等。
(2)各个部门信息要求共享的信息较多。例如员工信息,来客信息等。但财务信息一般不共享。
(3)人事部门有一定的特殊职能:汇总财务信息;对于被辞退的员工从系统中级联删除其信息、如从员工表中删除其基本信息、从它所服务的工作部门中删除该员工的工作名额,结算支付其工资、奖金;同时补充新的员工,代替它的工作。
针对这些特点,设计如下:
4.2确定数据库的存放位置
为了提高系统性能,现根据应用情况将数据按照易变部分和稳定部分、经常存取部分和存取频率较低的部分分别在两个磁盘上存放。同时,考虑到本系统是多用户的,为了提高效率,数据库的备份的数据和日志文件将保存在磁带中。
(1) 经常存取部分:
职员(职员编号、职员姓名、性别、年龄、工龄、民族编号、生日、政治面貌、婚姻状况、所在部门编号、入职时间、文化程度编号、籍贯、身份证号、电子邮箱、办公电话、职员状态、居住地址、邮政编码、户口所在地);
职员家庭(职员编号、家庭成员编号、家庭成员姓名、家庭成员性别、家庭成员年龄、与本人关系、所在单位)
职员月考勤(考勤年月、职员编号、所在部门编号、请假天数、旷工天数、加班天数、当月全勤天数)
(2) 存取频率较低的部分:
文化程度(文化程度编码、文化程度名称) 民族(民族编码、民族名称)
部门(部门编号、部门名称、部门职能描述)
13