员工管理系统数据库设计及报告
C HINA
数据库设计及报告
数据库设计及报告
姓名:齐欢 (同组者王鑫)
班级:河北科技师范学院数信学院 网络工程0802班 09 号
课程设计名称:人事管理系统
项目背景
在当今人才流动快速的今天,传统的人事档案已经不能满足各企业人员流动的速度。在计算机技术快速发展的今天,其已经在和各行各业得到广泛的应用。因此,人事管理也以应方便、快捷、费用低、绿色环保的优点进入各个行业和领域,将传统的人事管理方式彻底的解脱出来,提高效率,减轻人事管理人员以往繁忙的工作,加速信息的更新速度,使企业管理层第一时间了解到员工的信息,从而进一步加强对员工的调配。 数据流程图:
面试
(1.1一层数据流图)
员工信息表
(1.2一层数据流图)
2
(2.1二层数据流图)
(3.11三层数据流图)
3
(3.12三层数据流图)
(3.13三层数据流图)
(3.1三层数据流图)
4
E_R图:
(1.1员工属性)
(1.2系统用户属性)
5
(1.4部门属性)
6
(2.1各实体间关系)
(2.2联系图)
7
数据字典:
数据项:工号
含义说明:唯一标识每一名员工 别名:员工编号 类型:字符型 长度:10
取值范围为:0000000000——[1**********]
取值含义:前两位标识该员工所在的部门,后8位表示该员工的岗位及姓名编码
数据结构; 员工
含义说明:是人事管理系统的主体数据结构,定义了一个员工的有关信息
组成:工号、身份证号、姓名、政治面貌、所属部门、职位、职称、学历、出生日期、婚姻、备注、
参加工作时间
数据结构:岗位
含义说明:是人事管理系统的主体数据结构,定义了一个工作岗位的有关信息 组成:岗位编号、岗位名称
数据结构:部门
含义说明:是人事管理系统的主体数据结构,定义了一个工作部门的有关信息 组成:部门编号、部门名称
数据流:处理过程
说明:处理的操作分类及相关说明 数据来源:员工及部门、岗位的相关信息 数据去向:管理员录入数据库
组成:部门信息管理、岗位信息管理、员工信息管理、用户信息管理 平均流量:300\月 高峰期流量:200\天
数据存储:员工信息登记表 说明:记录员工的基本信息 流入数据:员工注册的基本信息
流出信息:员工离休、辞职等删除基本信息
组成:工号、身份证号、姓名、政治面貌、所属部门、职位、职称、学历、出生日期、婚姻、备注、
参加工作时间
数据量:每年500张 存取方式:随机存取
数据存储:部门信息登记表 说明:记录部门的基本信息 流入数据:部门注册关信息
8
流出数据:部门撤销或新的部门生成时,部门信息的修改 组成:部门编号、部门名称 存取方式:随机存取
数据存储:岗位信息登记表 说明:记录岗位的基本信息 流入数据:岗位册关信息
流出数据:岗位撤销或新的岗位生成时,岗位信息的修改 组成:岗位编号、岗位名称 存取方式:随机存取
处理过程:管理、位部门
说明:为所有员工分配部门及工作岗位 输入:员工,岗位,部门 输出:岗位,门安排
处理:在新的员工报到后或出现工作岗位的调动时,为所有的员工分配部门和岗位。要求工作岗位,
职称与员工的资历(工作时间)、工作业绩等有相关的关系,每个部门不多于20人,每个岗位不多于3人
物理存储: 系统用户表:
部门信息表:
工作岗位表:
员工信息表:
9
物理存储表关系:
(3.1表间关系图)
SQL 建表语句:
create table 员工信息表 (
e_code varchar(10) not null, id_code varchar(10) not null, b_code varchar(10) null, g_code varchar(10) null, e_name varchar(10) null, e_zhengzhi varchar(10) null, e_zhicheng varchar(10) null, e_eduction varchar(10) null, e_birth datetime null, e_marry varchar(10) null, e_time datetime null, beizhu varchar(1024) null, constraint PK_员工信息表 primary key (e_code, id_code) )
10
create table 岗位信息 (
g_code varchar(10) not null, g_name varchar(10) null, constraint PK_岗位信息 primary key (g_code) )
create table 系统用户 (
user_name varchar(10) not null, user_id varchar(10) null, password varchar(10) null, quanxian varchar(10) null, constraint PK_系统用户 primary key (user_name) )
create table 部门信息 (
b_code varchar(10) not null, b_name varchar(10) null, constraint PK_部门信息 primary key (b_code) )
表间外键创建:
alter table 员工信息表
add constraint FK_员工信息表_REFERENCE_部门信息 foreign key (b_code) references 部门信息 (b_code)
alter table 员工信息表
add constraint FK_员工信息表_REFERENCE_岗位信息 foreign key (g_code) references 岗位信息 (g_code) 表截图:
(4.1系统用户表)
(4.2部门信息表)
(4.3岗位信息表)
(4.4员工信息表)
前台界面:
(5.1用户登录)
(5.2主界面)
(5.3员工信息添加界面)
部门和岗位信息的增删大同小异,在此不再累述
(5.4员工信息删除界面)
(5.5按婚姻状况查询结果)
(5.6按学历状况查询结果界面)
(5.7按工作岗位查询界面)
(5.8按学历统计信息界面)
(5.9按婚姻状况统计界面)
(5.10按岗位统计界面)
(5.11按参加工作时间统计界面)
(5.12添加用户界面)
(5.13删除用户界面)
(5.14系统用户密码修改界面)
前台代码介绍
系统登录:
Dim constr, sql As String
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
Dim rs, rss As New ADODB.Recordset
Set rs = conn.Execute("select * from 系统用户 where user_id='" & Trim(Text1.Text) & "'and password='" & Trim(Text2.Text) & "'")
If rs.EOF Then
MsgBox "用户名或密码错误", , "错误"
Text1.Text = ""
Text2.Text = ""
rs.Close
End
Else
firmain.Show
Unload Me
End If
conn.Close
员工信息添加:
Dim constr, sql As String
Dim conn As Connection
Set conn = New ADODB.Connection
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
sql = "insert into 员工信息表( e_code,id_code,b_code,g_code,e_name,e_zhengzhi,e_zhicheng,e_eduction,e_birth,e_marry,e_time,beizhu) values ('" & Trim(Text1.Text) & "','" & Trim(Text2.Text) & "','" & Trim(Text3.Text) & "','" & Trim(Text4.Text) & "','" & Trim(Text5.Text) & "','" & Trim(Text6.Text) & "','" & Trim(Text7.Text) & "','" & Trim(Text8.Text) & "','" & Trim(DTPicker1.Value) & "','" & Trim(Text10.Text) & "','" & Trim(DTPicker2.Value) & "','" & Trim(Text11.Text) & "')"
conn.Execute (sql)
conn.Close
员工信息查询和删除:
查询:Dim constr, sql As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
sql = "select * from 员工信息表 where e_name='" & Trim(Text1.Text) & "'"
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
删除:
Dim constr, sql As String
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
sql = "delete from 员工信息表 where e_name='" & Trim(Text1.Text) & "'"
conn.Execute (sql)
conn.Close
(部门和岗位信息的添加和删除语句大同小异,在此不再累述……)
按工作岗位查询:
im constr, sql As String
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
sql = "select 员工信息表.* ,岗位信息.g_name from 员工信息表, 岗位信息 where 岗位信息.g_name='" & Trim(Text1.Text) & "' and 员工信息表.g_code=岗位信息.g_code"
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
(婚姻状况查询和学历查询语句大同小异,在此不再累述……)
按参加工作时间查询及统计:
Dim constr, sql As String
Dim rs As ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
sql = "select * from 员工信息表 where e_time>='" & Trim(DTPicker1.Value) & "'" rs.Open sql, conn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rs
Text1.Text = rs.RecordCount
DataGrid1.Refresh
(其余统计查询的语句不再累述……)
密码修改:
Dim constr, sql As String
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=nightkid;Data Source=PC4150-20100301"
conn.Open (constr)
Dim rs, rss As New ADODB.Recordset
Set rs = conn.Execute("select * from 系统用户 where user_id='" & Trim(Text1.Text) & "'and password='" & Trim(Text2.Text) & "'")
If rs.EOF Then
MsgBox "用户名或密码错误", , "错误"
Text1.Text = ""
Text2.Text = ""
rs.Close
End
Else
sql = "update 系统用户 set password = '" & Trim(Text3.Text) & "' where user_id='" & Trim(Text1.Text) & "'"
conn.Execute (sql)
End If
conn.Close
(用户添加删除和员工信息管理语句基本思路相同,不再累述……)
全文完
指导老师:蔡黔鹰
参考资料:《数据库系统概论》等……