数据库课程设计员工信息管理系统.docx
- 文档编号:28035210
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:41
- 大小:703.78KB
数据库课程设计员工信息管理系统.docx
《数据库课程设计员工信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计员工信息管理系统.docx(41页珍藏版)》请在冰豆网上搜索。
数据库课程设计员工信息管理系统
课程设计任务书
姓名
学号
班级
课题组
成员
姓名
性别
班级
在本项目中的分工
VB界面设计、系统查询功能、SQL表的创建完善及权限、触发器设计、系统健壮性维护
VB界面设计、系统添加功能、SQL表的建立及索引设计、数据字典、系统测试、系统逻辑设计
系统修改功能、SQL表的创建、需求分析、
系统用户注册、考勤修改功能、SQL表的创建、功能设计分析
课程名称
数据库系统原理
课程性质
专业必修课
设计时间
2009年5月3日——2009年6月15日
设计名称
员工信息管理系统
设计要求
1、 对实际系统要有恰当的需求分析过程,内容至少应包含主要数据流图、基本数据字典等信息的描述及相关系统功能的分析。
2、 设计过程应体现和侧重对数据库的分析和设计过程,内容至少包含E-R图设计,关系模式设计及优化,表间关系的分析等内容(至少有4张以上基表的设计)。
3、 要有数据库和表的创建脚本,输入必要的初始数据(每表至少有20条以上记录)。
4、 要有体现数据库安全性策略的设计过程,包括必要的权限设计与管理。
5、 要有数据完整性设计,应包括必要的数据完整性校验、一致性检查等。
6、 对典型功能鼓励使用存储过程、函数和触发器的设计与应用。
7、 系统前台的设计,可由学生自选开发工具完成,但要完成与数据库连接配置与相关数据控件的绑定。
8、 成果提交形式:
课程设计报告+完成系统功能的、有一定健壮性的系统。
设计思路
与
设计过程
1、需求分析;
2、进行数据库的概念设计;
3、进行数据库的逻辑设计;
4、进行数据库的物理设计;
5、进行应用程序设计;
6、编程实现。
7、调试完善
计划与进度
1、2009.05.3-2009.05.5需求分析
2、2009.05.7-2009.05.10概念设计
3、2009.05.10-2009.05.14逻辑设计
4、2008.05.15-2009.06.2系统设计
5、2009.06.5-2009.06.15课程设计报告撰写
任课教师
意见
说明
设计名称:
员工信息管理系统日期:
2009年5月3日
设计内容:
1、员工信息添加
2、员工信息修改
3、员工信息删除
4、员工信息查询(多种方式)
5、员工考勤信息添加
6、员工考勤信息修改
7、员工考勤信息删除
8、员工考勤信息查询
9、用户注册
10、SQL基本表建立
11、SQL权限、索引、触发器、函数的创建
12、ODBC连接
设计目的与要求:
1)加深对数据库系统原理、软件工程、程序设计语言的理论知识的理解和应用水平。
2)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
3)通过设计,掌握数据库应用系统综合开发的方法与技能。
设计环境或器材、原理与说明:
VB6.0
SQL SERVER 2000
设计过程(步骤)或程序代码:
1需求分析
1.1系统需求分析
在人才过剩的今天,企业对于有用人才的需求逐步加大,企业内部的人事变动和部门规划也开始加速,传统的人事档案已经不能满足各个企业的人员流动速度,迫使人们起用新的管理方法来管理员工的相关信息。
科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。
信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。
因此,员工管理系统也以方便、快捷、费用低、绿色环保的优点正慢慢地进入各个行业和领域,将传统的员工管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,加速信息的更新速度,使企业管理层第一时间了解到员工的信息,从而进一步的进行对员工的调配。
功能需求详细说明:
—增加—
增加员工的基本信息、考勤信息
—编辑—
用户可以对员工信息、考勤信息进行删除
用户可以对员工的姓名、编号等员工基本信息进行修改
用户可以对员工的出勤天数、请假天数等考勤信息进行修改
—查询—
用户可以根据姓名、编号,准确的查到要找的员工,也可以选择部门,查看选中的部门的所有员工。
1.2可行性分析
本次课程设计题目:
“员工信息管理系统”,主要目的是编制一个登陆系统,连接数据库系统,用以实现员工个人信息与考勤信息的管理。
同时对整个系统的分析、设计过程给出一个完整的论证。
由于本系统管理的对象简单,且每个数据内容之间都具有关联性,涉及过程并不是很复杂。
因此,比较适合于采用数据库管理。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上和图书馆资料,特别是参考其它程序的功能,因此完全可以实现。
2数据库的概念设计
实体设计:
员工(员工编号,姓名,性别,出生日期,籍贯,专业,学历编号,职称编号,职务编号,部门编号,参加工作时间,进入公司时间,员工备注,政治面貌,员工技术特长,毕业学校,用工性质,工资等级,合同期限)
考勤(员工编号,考勤日期,姓名,应出勤天数,迟到次数,早退次数,请假天数,旷工天数,加班天数,加班天数,补休天数,加班费,扣款,备注)
根据以上需求分析,可画出E-R模型图(图1.1):
图1.1
E-R图
3数据库的逻辑设计
根据系统功能设计的要求以及功能模块的划分,对员工信息管理系统可以列出以
下数据项及数据结构:
员工个人基本信息:
包括员工编号、姓名、性别、出生日期、籍贯、专业、学历编号、职称编号、职务编号、部门编号、参加工作时间、进入公司时间、员工备注、政治面貌、员工技术特长、毕业学校、用工性质、合同期限。
员工考勤基本信息:
包括员工编号、姓名、应出勤天数、迟到次数、早退次数、请假天数、旷工天数、加班天数、加班天数、补休天数、加班费、扣款、备注。
部门信息:
包括部门编号、部门名称、部门简介
职称信息:
包括职称序号、职称名称、备注
学历信息:
包括学历序号、学历名称、备注
职务信息:
包括职务序号、职务名称、备注
用户信息:
包括用户的帐号及密码。
4数据库的物理设计
4.1数据字典与关系图
根据系统需求及逻辑结构设计,本网站基于SQLServer2000数据库,建立如下数据库表(表1.1):
表1.1
库名(员工数据库)
用户信息表(sysuser)
字段
类型
说明
大小
是否为空
user_id
nvarchar
用户账号
8
NOTNULL
user_pwd
nvarchar
密码
8
NOTNULL
部门信息表(department)
字段
类型
说明
大小
是否为空
dept_id
int
部门编号
4
NOTNULL
dept_name
nvarchar
部门名称
20
NOTNULL
dept_des
nvarchar
部门简介
50
员工基本信息表(employee)
字段
类型
说明
大小
是否为空
emp_id
int
员工编号
4
NOTNULL
emp_name
nvarchar
姓名
20
NOTNULL
sex
nvarchar
性别
2
NOTNULL
birthday
smaldatetime
出生日期
4
NOTNULL
native
nvarchar
籍贯
20
profession
nvarchar
专业
20
edu_id
int
学历编号
4
NOTNULL
title_id
int
职称编号
4
NOTNULL
dept_id
int
部门编号
4
NOTNULL
duty_id
int
职务编号
4
NOTNULL
emp_date1
smaldatetime
参加工作时间
4
NOTNULL
emp_date2
smaldatetime
进入公司时间
4
NOTNULL
emp_des
nvarchar
员工备注
255
zzmm
nvarchar
政治面貌
50
ygjstc
nvarchar
员工技术特长
50
bisx
nvarchar
毕业学校
50
ygxz
nvarchar
用工性质
50
htqx
nvarchar
合同期限
50
职称信息表(title)
字段
类型
说明
大小
是否为空
title_id
int
职称序号
4
NOTNULL
title_name
nvarchar
职称名称
20
NOTNULL
title_des
nvarchar
备注
255
学历信息表(education)
字段
类型
说明
大小
是否为空
edu_id
int
学历序号
4
NOTNULL
edu_name
nvarchar
学历名称
20
NOTNULL
edu_des
nvarchar
备注
255
职务信息表(duty)
字段
类型
说明
大小
是否为空
duty_id
int
职务序号
4
NOTNULL
duty_name
nvarchar
职务名称
20
NOTNULL
duty_des
nvarchar
备注
255
考勤信息表(checkin)
字段
类型
说明
大小
是否为空
emp_id
int
员工编号
4
NOTNULL
check_ym
nvarchar
员工姓名
6
NOTNULL
w_day
real
应出勤天数
4
NOTNULL
l_nums
int
迟到次数
4
NOTNULL
e_nums
int
早退次数
4
NOTNULL
h_days
real
请假天数
4
NOTNULL
n_days
real
旷工天数
4
NOTNULL
o_days
real
加班天数
4
NOTNULL
r_days
real
补休天数
4
NOTNULL
overtime_s
real
加班费
4
NOTNULL
d_check
real
扣款
4
NOTNULL
check_des
nvarchar
备注
255
注:
波浪线为主键。
图1.2
关系图
4.2数据库建立与初始化
4.2.1建立数据库
Createtableemployee
(
emp_idint(4)notnull,
emp_namenvarchar(20)notnull,
sexnvarchar
(2)notnull,
birthdaysmaldatetime(4)notnull,
nativenvarchar(20),
professionnvarchar(20),
edu_idint(4),notnull,
title_idint(4),notnull,
dept_idint(4),notnull,
duty_idint(4),notnull,
emp_date1smaldatetime(4),notnull,
emp_date2smaldatetime(4),notnull,
emp_desnvarchar(255),
zzmmnvarchar(50),
ygjstcnvarchar(50),
bisxnvarchar(50),
ygxznvarchar(50),
htqxnvarchar(50),
constraintEmPKprimarykey(emp_id),
constraintEduFKforeignkey(edu_id)referenceseducation(edu_id),
constraintTitleFKforeignkey(title_id)referenceseducation(title_id),
constraintDuFKforeignkey(duty_id)referenceseducation(duty_id),
constraintDeFKforeignkey(dept_id)referenceseducation(dept_id),
)
Createtabletitle
(
title_idint(4)notnull,
title_namenvarchar(20)notnull,
title_desnvarchar(255)
constraintTiPKprimarykey(title_id),
)
Createtableeducation
(
edu_idint(4)notnull,
edu_namenvarchar(20)notnull,
edu_desnvarchar(255)
constraintEdPKprimarykey(edu_id),
)
Createtableduty
(
duty_idint(4)notnull,
duty_namenvarchar(20)notnull,
duty_desnvarchar(255)
constraintDuPKprimarykey(duty_id),
)
Createtabledepartment
(
dept_idint(4)notnull,
dept_namenvarchar(20)notnull,
dept_desnvarchar(255)
constraintDePKprimarykey(dept_id),
)
4.2.2安全性(权限)
grantallprivilegesonemployeetosasa
grantallprivilegesoncheckintosasa
grantallprivilegesonsysusertosasa
grantallprivilegesondutytosasa
grantallprivilegesontitletosasa
grantallprivilegesondepartmenttosasa
grantallprivilegesoneducationtosasa
4.2.3触发器
功能:
使姓名中不能出现数字。
CREATETRIGGERT_IN
ONdbo.employee
FORINSERT,Update
AS
IFEXISTS(
SELECT*
FROMemployee
WHEREemp_namelike'%[0-9]%'
)
BEGIN
RAISERROR('错误!
姓名中不可出现数字',16,1)
ROLLBACK
RETURN
END
4.2.4建立索引
createclusterindexpk_dutyonduty_id
createclusterindexpk_departmentondept_id
createclusterindexpk_titleontitle_id
createclusterindexpk_educationonedu_id
createclusterindexpk_sysuseronuser_id
createclusterindexpk_employeeonemp_id
createclusterindexpk_checkinon(emp_id,check_ym)
4.2.5VB数据库连接语句
OptionExplicit
PublicdbConnAsNewADODB.Connection
PublicloginUserAsString
PublicloginOKAsBoolean
PubliccmdTypeAsString
PublictUser_idAsString
PublictDept_idAsInteger
PublictEmp_idAsInteger
PublictCheck_ymAsString
PublictQxAsString
SubMain()
IfConnectToDatabase=FalseThen
MsgBox"连接数据库出错!
"
End
EndIf
loginOK=False
cmdType=""
frmLogin.ShowvbModal
UnloadfrmLogin
IfloginOKThen
MDIForm1.Show
EndIf
EndSub
'连接到数据库
FunctionConnectToDatabase()AsBoolean
OnErrorGoToERR_CONN
'设置服务器名称,数据库名称,登录名(此时假设密码为空)
dbConn.ConnectionString="dsn=rsgl;Database=man;uid=ZFS;pwd="
'dbConn.ConnectionString="Provider=msdasql;Database=man;server=computer;uid=sa;pwd="
dbConn.Open
ConnectToDatabase=True
ExitFunction
ERR_CONN:
ConnectToDatabase=False
EndFunction
4.2.6ODBC连接
连接数据库方法如下:
1、打开我的电脑---控制面板---管理工具。
2、双击“数据源(ODBC)”,打开“ODBC数据源管理器”对话框,如图(图1.3)所示。
3、在“系统DSN”选项卡下,单击“添加”按钮,弹出如图(图1.4)所示对话框,在该对话框中选择SQLServer选项。
4、单击“完成”按钮。
5、在该对话框中输入数据源名“emp”、服务器名,按要求填空完成后,即可完成数据源的连接设置(图1.6)。
图1.3
图1.4图1.5
图1.6
5应用程序设计
5.1系统功能分析
员工信息管理系统基于用户验证登录的方式实现员工个人信息管理和员工考勤信息管理。
其功能结构如图(图1.7):
图1.7:
系统功能结构图
5.2系统功能模块设计
员工信息管理系统主要包含用户登录、新增、编辑、查询功能模块。
1、用户登陆
员工信息管理系统采用用户名及密码验证方式,进入员工信息管理系统前,用户必须在登录窗口输入用户名及密码,只有验证通过的用户方可进入员工信息管理系统操作主页面。
2、新增功能模块
包含2个功能模块:
员工个人信息的添加、员工考勤信息的添加
3、编辑功能模块
包含2个功能模块:
员工个人信息的删除、按月份进行员工考勤信息编辑与删除
4、查询功能模块
包含2个功能模块:
员工个人信息查询、按月份进行员工考勤信息查询
系统操作流程图(图1.8):
图1.8:
设计结果与分析(可以加页):
1、员工信息查询(frmEmpInfo2.frm)
图1.9:
员工信息查询界面
主要代码如下:
PrivateSubCommand1_Click()
DimstrIdAsString
DimstrNameAsString
DimstrDeptAsString
DimstrTitleAsString
DimstrDutyAsString
DimstrEduAsString
DimstrSexAsString
'设置错误陷阱
OnErrorGoToERR_CONN
IfTrim(MskId)=""Then
strId=""
Else
strId="anda.emp_id='"&MskId&"'"
EndIf
IfTrim(Text2)=""Then
strName=""
Else
strName="anda.emp_name='"&Trim(Text2)&"'"
EndIf
IfcboDept.ListIndex=0Then
strDept=""
Else
strDept="andc.dept_name='"&cboDept.Text&"'"
EndIf
IfcboTitle.ListIndex=0Then
strTitle=""
Else
strTitle="ande.title_name='"&cboTitle.Text&"'"
EndIf
IfcboDuty.ListIndex=0Then
strDuty=""
Else
strDuty="andd.duty_name='"&cboDuty.Text&"'"
EndIf
IfcboEdu.ListIndex=0Then
strEdu=""
Else
strEdu="andb.edu_name='"&cboEdu.Text&"'"
EndIf
IfcboSex.ListIndex=0Then
strSex=""
Else
strSex="anda.sex='"&cboSex.Text&"'"
EndIf
'打开一个数据集
strSql="selecta.emp_id,a.emp_name,a.sex,b.edu_name,c.dept_name,d.duty_name,e.title_namefromemployeea,educationb,departmentc,dutyd,titleewherea.edu_id=b.edu_idanda.dept_id=c.dept_idanda.duty_id=d.duty_idanda.title_id=e.title_id"&strId&""&strName&""&strDept&""&strTitle&""&strTitle&""&strDuty&""&strEdu&""&strSex&"orderbya.emp_id"
rs.OpenstrSql,dbConn,adOpenForwardOnly,adLockReadOn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 员工 信息管理 系统