人事管理系统 2.docx
- 文档编号:15706200
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:25
- 大小:188.71KB
人事管理系统 2.docx
《人事管理系统 2.docx》由会员分享,可在线阅读,更多相关《人事管理系统 2.docx(25页珍藏版)》请在冰点文库上搜索。
人事管理系统2
数据库课程设计报告
设计题目:
人事管理系统
学生姓名:
系别:
专业:
班级:
学号:
指导教师:
目录
一系统概述3
二、系统数据流图和数据字典3
2.1用户需求调查3
2.2.系统数据流图4
2.3.系统数据字典5
三、数据库结构设计6
3.1概念结构设计6
3.2逻辑结构设计7
3.3数据库结构的详细设计8
四、核心代码:
10
五,总结18
六,参考文献19
一系统概述
本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个人事管理系统数据库系统的设计。
最终,在SQLSEVER2000完成的人事管理系统,可以实现:
对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。
功能模块图
二、系统数据流图和数据字典
2.1用户需求调查
本系统需要人事管理(档案管理、考勤管理、奖惩管理、培训管理),待遇管理(帐套管理、人员设置、报表等)等功能。
对员工档案信息进行添加、修改和查看操作。
对管理员信息进行添加、删除和冻结/解冻操作,对账套信息进行添加、修改、删除和对项目信息进行添加和删除操作同时设置金额操作。
对人员信息进行添加及删除操作。
对考勤信息进行添加操作。
对奖惩信息进行添加操作。
对培训信息进行添加、取消培训及查看操作。
对员考勤、奖惩、工资等信息进行统计操作。
对基本资料信息进行添加和删除操作。
2.2.系统数据流图
2.3.系统数据字典
个人信息=QQ+邮件+电话+地址+邮编+..(其余如下表所示)
档案信息=档案号+名字+性别+头像+…(其余如下表所示)
培训内容=姓名+培训内容+培训主题+开始时间+..(其余如下表所示)
考勤=出勤编号+开始时间+结束时间+…(其余如下表所示)
奖惩=出勤编号+奖惩类型+奖惩原因+奖惩内容+..(其余如下表所示)
帐套(工资单)信息=帐套项目编号+帐套编号+工资
三、数据库结构设计
3.1概念结构设计
根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用E-R图表示的人事管理系统的概念模型。
最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。
3.2逻辑结构设计
将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:
员工实体图
档案实体图
总E-R图
根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用E-R图表示的人事管理系统的概念模型。
最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。
3.3数据库结构的详细设计
经过检查,此数据库的详细逻辑设计满足第3范式的要求。
人事管理系统中各表的属性设计情况如下表1:
表名
属性名
数据类型
长度
允许空
主码或索引
约束条件
部门
部门号
Int
4
No
主码
部门名
varchar
10
No
领导人号
int
4
No
索引、外码
值为职工编号
管理人员
管理员账号
int
4
No
主码
职工编号
int
4
No
外码
密码
varchar
6
No
输入时不显示
级别
varchar
4
No
“管理员”或“系统管理员”
员工
员工编号
Char
5
No
主码
姓名
Char
10
No
学历
VarChar
8
No
索引项
性别
Char
2
“男”或“女”
电话
varchar
索引项
身份证号
VarChar
32
No
邮编
VarChar
16
职称
VarChar
10
部门号
Char
4
外码
出勤号
Char
6
No
主码
出勤
员工编号
Char
4
No
外码
上班日期
Datetime
No
索引
上班时间
Datetime
下班时间
Datetime
No
工资编号
Char
6
No
主码
工资
员工编号
Char
4
No
外码
基本工资
Money
No
索引
罚款
Money
起始时间
Datetime
截止时间
Datetime
发薪日期
Datetime
No
索引
奖惩编号
Char
6
No
主码
奖惩记录
员工编号
Char
4
No
外码
奖惩类型
Char
4
No
索引项
奖惩金额
Money
奖惩日期
Datetime
值为员工受奖惩日期
批复部门号
Char
4
外码
批复日期
Datetime
No
值为领导批复日期
奖惩原因
VarChar
50
请假编号
Char
6
No
主码
请假记录
员工编号
Char
5
No
外码
请假时间
Datetime
No
值为假期开始日期
销假时间
Datetime
No
值为假期结束日期
请假天数
int
索引项
审批人编号
Char
4
索引项
值为职工编号
表1
四、核心代码:
packagecom.mwq.hibernate;
//Downloadby
importjava.text.DateFormat;
importjava.text.ParseException;
importjava.util.Date;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Set;
importorg.hibernate.HibernateException;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.Transaction;
importcom.mwq.hibernate.mapping.TbRecord;
importcom.mwq.hibernate.mapping.TbTimecard;
publicclassBaseDao{
//query
protectedObjectqueryObject(Stringhql){
Sessionsession=HibernateSessionFactory.getSession();
Queryquery=session.createQuery(hql);
Objectobject=query.uniqueResult();
returnobject;
}
protectedListqueryList(Stringhql){
Sessionsession=HibernateSessionFactory.getSession();
Queryquery=session.createQuery(hql);
Listlist=query.list();
returnlist;
}
publicstaticvoidmain(String[]args){
BaseDaodao=newBaseDao();
dao.queryList("fromTbAccessionForm");
}
//filter
publicListfilterSet(Setset,Stringhql){
Sessionsession=HibernateSessionFactory.getSession();
Queryquery=session.createFilter(set,hql);
Listlist=query.list();
returnlist;
}
//save
publicbooleansaveObject(Objectobj){
booleanisSave=true;
Sessionsession=HibernateSessionFactory.getSession();
Transactiontr=session.beginTransaction();
try{
session.save(obj);
mit();
}catch(HibernateExceptione){
isSave=false;
e.printStackTrace();
}
returnisSave;
}
//update
publicbooleanupdateObject(Objectobj){
booleanisUpdate=true;
Sessionsession=HibernateSessionFactory.getSession();
Transactiontr=session.beginTransaction();
try{
session.update(obj);
mit();
}catch(HibernateExceptione){
isUpdate=false;
tr.rollback();
e.printStackTrace();
}
returnisUpdate;
}
//saveOrUpdate
publicbooleansaveOrUpdateObject(Objectobj){
booleanisUpdate=true;
Sessionsession=HibernateSessionFactory.getSession();
Transactiontr=session.beginTransaction();
try{
session.saveOrUpdate(obj);
mit();
}catch(HibernateExceptione){
isUpdate=false;
tr.rollback();
e.printStackTrace();
}
returnisUpdate;
}
//delete
publicbooleandeleteObject(Objectobj){
booleanisDelete=true;
Sessionsession=HibernateSessionFactory.getSession();
Transactiontr=session.beginTransaction();
try{
session.delete(obj);
mit();
}catch(HibernateExceptione){
isDelete=false;
tr.rollback();
e.printStackTrace();
}
returnisDelete;
}
//deleteOfBatch
publicbooleandeleteOfBatch(Stringhql){
booleanisDelete=true;
Sessionsession=HibernateSessionFactory.getSession();
Transactiontr=session.beginTransaction();
try{
Queryquery=session.createQuery(hql);
query.executeUpdate();
mit();
}catch(HibernateExceptione){
isDelete=false;
tr.rollback();
e.printStackTrace();
}
returnisDelete;
}
}
Dao
packagecom.mwq.hibernate;
importjava.util.List;
publicclassDaoextendsBaseDao{
privatestaticDaodao=null;
publicstaticDaogetInstance(){
if(dao==null)
dao=newDao();
returndao;
}
privateDao(){
}
//Downloadby
//TbDutyInfo
publicListqueryDutyInfoOfAccessionDateMax(Stringdate){
returnthis.queryList("fromTbDutyInfowhereaccessionDate<=to_date('"
+date+"','yyyy-mm-dd')");
}
//AccessionForm
publicListqueryAccessionForm(){
returnthis.queryList("fromTbAccessionForm");
}
publicObjectqueryAccessionFormByName(Stringname){
returnthis.queryObject("fromTbAccessionFormwherename='"+name
+"'");
}
publicvoidinitAccessionForm(){
deleteOfBatch("deletefromTbAccessionFormwhereid>2");
}
//AccountItem
publicListqueryAccountItem(){
returnthis.queryList("fromTbAccountItem");
}
publicListqueryAccountItemUsedTimecard(){
returnthis.queryList("fromTbAccountItemwhereisTimecard='是'");
}
publicObjectqueryAccountItemByName(Stringname){
returnthis.queryObject("fromTbAccountItemwherename='"+name+"'");
}
publicObjectqueryAccountItemByNameUnit(Stringname,Stringunit){
returnthis.queryObject("fromTbAccountItemwherename='"+name
+"'andunit='"+unit+"'");
}
publicvoidinitAccountItem(){
deleteOfBatch("deletefromTbAccountItemwhereid>6");
}
//BringUpContent
publicListqueryBringUpContent(){
returnthis.queryList("fromTbBringUpContent");
}
publicObjectqueryBringUpContentById(Stringid){
returnthis.queryObject("fromTbBringUpContentwhereid="+id);
}
publicvoidinitBringUpContent(){
deleteOfBatch("deletefromTbBringUpContent");
}
//BringUpOntent
publicvoidinitBringUpOntent(){
deleteOfBatch("deletefromTbBringUpOntent");
}
//Dept
publicListqueryDept(){
returnthis.queryList("fromTbDept");
}
publicObjectqueryDeptById(intid){
returnthis.queryObject("fromTbDeptwhereid="+id);
}
publicObjectqueryDeptByName(Stringname){
returnthis.queryObject("fromTbDeptwherename='"+name+"'");
}
publicvoidinitDept(){
deleteOfBatch("deletefromTbDeptwhereid>8");
}
//Duty
publicListqueryDuty(){
returnthis.queryList("fromTbDuty");
}
publicObjectqueryDutyByName(Stringname){
returnthis.queryObject("fromTbDutywherename='"+name+"'");
}
publicvoidinitDuty(){
deleteOfBatch("deletefromTbDutywhereid>4");
}
//Record
publicListqueryRecord(){
returnthis.queryList("fromTbRecord");
}
publicObjectqueryRecordByNum(Stringnum){
returnthis.queryObject("fromTbRecordwhererecord_number='"+num
+"'");
}
publicObjectqueryRecordOfMaxRecordNum(){
returnthis.queryObject("selectmax(recordNumber)fromTbRecord");
}
publicObjectqueryRecordOfMinAccessionDate(){
returnthis.queryObject("selectmin(accessionDate)fromTbDutyInfo");
}
publicvoidinitRecord(){
deleteOfBatch("deletefromTbRecord");
}
//Reckoning
publicListqueryReckoning(){
returnthis.queryList("fromTbReckoning");
}
//Manager
publicListqueryManager(){
returnthis.queryList("fromTbManager");
}
publicListqueryManagerOfNatural(){
returnthis.queryList("fromTbManagerwherestate='正常'");
}
publicvoidinitManager(){
deleteOfBatch("deletefromTbManager");
}
//Nation
publicListqueryNation(){
returnthis.queryList("fromTbNation");
}
publicObjectqueryNationByName(Stringname){
returnthis.queryObject("fromTbNationwherename='"+name+"'");
}
publicvoidinitNation(){
deleteOfBatch("deletefromTbNationwhereid>4");
}
//NativePlace
publicListqueryNativePlace(){
returnthis.queryList("fromTbNativePlace");
}
publicObjectqueryNativePlaceByName(Stringname){
returnthis.queryObject("fromTbNativePlacewherename='"+name+"'");
}
publicvoidinitNativePlace(){
deleteOfBatch("deletefromTbNativePlacewhereid>6");
}
//Reckoning
publicvoidinitReckoning(){
deleteOfBatch("deletefromTbReckoningwhereid>2");
}
//ReckoningInfo
publicvoidinitReckoningInfo(){
deleteOfBatch("deletefromTbReckoningInfo");
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统