资源描述
China
数据库设计及报告
数据库设计及报告
姓名:齐欢 (同组者王鑫)
班级:河北科技师范学院数信学院 网络工程0802班 09 号
课程设计名称:人事管理系统
项目背景
在当今人才流动快速的今天,传统的人事档案已经不能满足各企业人员流动的速度。在计算机技术快速发展的今天,其已经在和各行各业得到广泛的应用。因此,人事管理也以应方便、快捷、费用低、绿色环保的优点进入各个行业和领域,将传统的人事管理方式彻底的解脱出来,提高效率,减轻人事管理人员以往繁忙的工作,加速信息的更新速度,使企业管理层第一时间了解到员工的信息,从而进一步加强对员工的调配。
数据流程图:
面试
是否通过
通过
前往人事部
没有通过
(1.1一层数据流图)
人员信息
写入数据库
员工信息表
调用
财务部、
人事部…
(1.2一层数据流图)
部门、岗位信息
写入数据库
部门、岗位信息表
调用
各部门
(1.3一层数据流图)
操作请求
识别请求
部门、岗位信息管理
用户信息管理
员工信息管理
(2.1二层数据流图)
部门信息管理
请求分类
部门添加
部门删除
部门信息修改
部门信息查询
(3.11三层数据流图)
岗位信息管理
请求分类
岗位添加
岗位删除
岗位信息修改
岗位信息查询
(3.12三层数据流图)
员工信息管理
请求分类
员工添加
员工删除
员工信息修改
员工信息查询
(3.13三层数据流图)
操作请求
读写数据库
成功
正确的对数据库进行操作
失败
未能对数据库实现应有的操作
(3.1三层数据流图)
E_R图:
员工
备注
婚姻
出生日期
参加工作时间
学历
政治面貌
姓名
身份证号
工号
所属部门
职位
职称
(1.1员工属性)
系统用户
用户账号
权限
密码
用户名
(1.2系统用户属性)
岗位
岗位编号
岗位名称
(1.3岗位属性)
部门
部门编号
部门名称
(1.4部门属性)
员工
任职
岗位
岗位
属于
部门
系统用户
管理
岗位信息
部门信息
员工信息
(2.1各实体间关系)
(2.2联系图)
数据字典:
数据项:工号
含义说明:唯一标识每一名员工
别名:员工编号
类型:字符型
长度:10
取值范围为:0000000000——99999999999
取值含义:前两位标识该员工所在的部门,后8位表示该员工的岗位及姓名编码
数据结构;员工
含义说明:是人事管理系统的主体数据结构,定义了一个员工的有关信息
组成:工号、身份证号、姓名、政治面貌、所属部门、职位、职称、学历、出生日期、婚姻、备注、参加工作时间
数据结构:岗位
含义说明:是人事管理系统的主体数据结构,定义了一个工作岗位的有关信息
组成:岗位编号、岗位名称
数据结构:部门
含义说明:是人事管理系统的主体数据结构,定义了一个工作部门的有关信息
组成:部门编号、部门名称
数据流:处理过程
说明:处理的操作分类及相关说明
数据来源:员工及部门、岗位的相关信息
数据去向:管理员录入数据库
组成:部门信息管理、岗位信息管理、员工信息管理、用户信息管理
平均流量:300\月
高峰期流量:200\天
数据存储:员工信息登记表
说明:记录员工的基本信息
流入数据:员工注册的基本信息
流出信息:员工离休、辞职等删除基本信息
组成:工号、身份证号、姓名、政治面貌、所属部门、职位、职称、学历、出生日期、婚姻、备注、参加工作时间
数据量:每年500张
存取方式:随机存取
数据存储:部门信息登记表
说明:记录部门的基本信息
流入数据:部门注册关信息
流出数据:部门撤销或新的部门生成时,部门信息的修改
组成:部门编号、部门名称
存取方式:随机存取
数据存储:岗位信息登记表
说明:记录岗位的基本信息
流入数据:岗位册关信息
流出数据:岗位撤销或新的岗位生成时,岗位信息的修改
组成:岗位编号、岗位名称
存取方式:随机存取
处理过程:管理、位部门
说明:为所有员工分配部门及工作岗位
输入:员工,岗位,部门
输出:岗位,门安排
处理:在新的员工报到后或出现工作岗位的调动时,为所有的员工分配部门和岗位。要求工作岗位,职称与员工的资历(工作时间)、工作业绩等有相关的关系,每个部门不多于20人,每个岗位不多于3人
物理存储:
系统用户表:
字段名
数据类型
说明
是否为主键
User_name
Char
系统用户的名称
否
User_id
Char
系统用户的账号
是
Password
Char
用户密码
否
Quanxian
Char
用户权限
否
部门信息表:
字段名
数据类型
说明
是否为主键
B_code
Char
部门编号
是
B_name
Char
部门名称
否
工作岗位表:
字段名
数据类型
说明
是否为主键
G_code
Char
岗位编号
是
G_name
Char
岗位名称
否
员工信息表:
字段名
数据类型
说明
是否为主键
E_code
Char
员工编号
是
Id_code
Char
身份证号
是
E_name
Char
员工姓名
否
E-zhengzhi
Char
员工政治面貌
否
E_zhicheng
Char
员工职称
否
E_efucuion
Char
员工学历
否
E_birth
Date
员工日期
否
E_marry
Char
员工婚姻状况
否
E_time
Date
员工参见工作时间
否
E_beizhu
Char
备注
否
物理存储表关系:
(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)
)
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
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
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
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_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
(用户添加删除和员工信息管理语句基本思路相同,不再累述……)
全文完
指导老师:蔡黔鹰
参考资料:《数据库系统概论》等……
[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]
最新可编辑word文档
展开阅读全文