1、人力资源数据库设计说明书一、 数据库概要说明我们分析人力资源信息管理系统一般用有如下功能: 人力资源系统功能描述1.人力资源系统战略性职能 1) 人力资源战略管理功能 包括: 人力资源企业规划 人力资源指标分析 员工素质评测 领导决策支持 领导或经理查询支持 2) 人力资源管理和开发功能 包括: 职员招聘管理 文书档案管理( 文书、 会议记录、 文件) 薪酬福利管理 绩效考核管理 离职调动管理 保险业务管理 员工培训管理 企业合同管理 汇总报表管理 劳动人事法规 企业规章制度2.人力资源系统操作性职能 1)人事信息储存和处理功能 员工信息管理 党团工会管理 机构职位管理 2)日常办公处理功能(
2、 一般企业人力资源软件还带日常办公功能) 证照管理 宿舍管理 车辆管理 物品管理 奖惩记录 考勤管理 日常费用管理 日程安排( 工作日志) 会议安排 3) 系统管理功能( 包括后台) 角色管理 操作员管理 备份管理 网络配置管理 企业基本信息 页面样式管理 元数据与字典 系统帮助文档( 友好性) 关于本系统在此次毕业设计中, 我们不可能完成全部上述功能, 因此相对进行了一些精简, 采用SSH框架技术开发人力资源信息系统, 数据库采用Microsoft SQL Server 。人力资源管理系统在运行过程中需要对大量的表和数据进行增加、 删除、 修改、 检索的操作, 而且还要求对企业人才战略方面提
3、供规划和分析的功能, 对领导决策形成支持, 因此在设计时采用Microsoft SQL Server 数据库来满足运行需求, 数据库名”HRIS”, 共存储了30张表用于存储不同的信息。如下图: 二、 数据库概要设计( E-R图) 1) 用户实体图 2) 员工信息实体3) fdsf4) dsfds5) fdsaf6) fdasf7) fdsafds8) fdsaf9) fdsafd10) fdsafd11) dfsaf12) fdsaf13) fdssaf14) dsaf15) dsaf16) fdsa17) fdsa18) 的萨菲19) 都是20) dsf三、 数据库详细设计( 逻辑结构)
4、人力资源管理系统数据库表设计用户表TB_USER该表主要用于保存用户信息字段名数据类型( 长度) 是否主键允许空外键描述U_IDint是用户IDU_NAMEvarchar(30)用户名称U_PASSvarchar(30)用户密码U_TRUENAMEvarchar(30)是真实姓名CREATE_TIMEdatetime创立的时间STOP_FLAGbit是否禁用U_ROLE_IDint是角色编号注: 禁用状态, 和删除区别。创立时间、 是否停用有默认值。角色表TB_ROLE该表主要用于保存角色信息字段名数据类型(长度)是否主键允许空外键描述ROLE_IDint是角色编号ROLE_NAMEvarch
5、ar(50)角色名称ROLE_REMARKvarchar(200)是角色备注ROLE_FLAGint是角色状态注: 角色状态: 1正常 2禁用 3删除。权限表TB_PREMISSION该表主要用于保存权限信息字段名数据类型( 长度) 是否主键允许空外键描述PREMIS_IDint是权限编号PREMIS_NAMEvarchar( 50) 权限名称PREMIS_REMARKvarchar( 200) 是权限备注权限分配表TB_PREMISSION_ASSIGN该表主要用于保存权限和角色的关联关系字段名数据类型( 长度) 是否主键允许空外键描述ASSIGN_IDint是分配编号ROLE_IDint是
6、角色编号PREMIS_IDint是权限编号数据字典TB_DICT_PUBLIC该表主要用于保存实体表中常见固定不变的信息值字段名数据类型( 长度) 是否主键允许空外键描述AUTO_IDint是自增流水号DICT_IDvarchar(50)字典编号DICT_ITEM_CODEvarchar(10)字典代码ITEM_CONTENTvarchar(50)名词项STOP_FLAGbit停用标识IS_GROUPbit是否是组合码NOTE_INFOvarchar( 100) 是备注注: 字典代码是其它表中的引用项。为了简便, 数据库中我减去了AUTO_ID列( 自增流水号) , 无主键设置。集团公司表TB
7、_COMPANY该表主要用于设置总公司信息, 分公司包含在表内字段名数据类型(长度)是否主键允许空外键描述COMP_IDchar(2)是公司IDCOMP_NAMEvarchar(60)公司名称CONTROLLED_ID char(2)是母公司IDCONTROLLED_COMP_NAMEvarchar(60)是母公司名称REMARK varchar(300)是公司简介CHARGE_ID1char(10)是负责人1CHARGE_ID2char(10)是负责人2TOP_FLAGbit是是否是总公司注: 根据负责人ID在职员表中找到负责人信息部门表TB_DEPARTMENT 该表主要用于保存部门信息,
8、 包括部门之间的关联字段名数据类型长度是否主键允许空外键描述DEPART_IDchar(3)是部门IDDEPART_NAMEvarchar(50)部门名称PARENT_DEPART_IDchar(3)是父部门IDSTOP_FLAGbit是停用标识COMP_IDchar(2)是是公司编号COMP_NAMEvarchar(60)是公司名称CHARGE_ID1char(10)是负责人1CHARGE_ID2char(10)是负责人2部门职位表TB_DEPART_POSITION该表主要用于保存部门和岗位之间的关联字段名数据类型(长度)是否主键允许空外键描述AUTO_IDint是数据库自增标识POSI_
9、IDchar(2)是岗位IDDEPART_IDchar(3)是部门IDSTAFF_NUMint是该岗位人数职位表TB_POSITION该表主要用于职位信息字段名数据类型(长度)是否主键允许空外键描述POSI_IDchar(2)是职位IDPOSI_NAMEvarchar( 30) 职位名称PARENT_POSI_IDchar(2)是上级职位IDPARENT_POSI _NAMEvarchar(30)是上级职位名称POSI_LEVELvarchar(10)是职位级别POSI_REMARKvarchar(300)是职位描述注: 根据职位级别代码去字典中查级别职员表( 注: 职员编号=公司编号(2)+
10、部门编号(3)+职位编号(2)+顺序码(3)=(10) TB_EMPLOYEE用户表主要用于保存员工信息字段名数据类型(长度)是否主键允许空外键描述EMP_IDchar(10)是职员编号EMP_NAMEvarchar(20)职员姓名COMP_IDchar(2)是是公司编号COMP_NAMEvarchar(60)是公司名称DEPART_IDchar(3)是是部门编号DEPART_NAMEvarchar(50)是部门名称POSI_IDchar(2)是是岗位编号DEPART_POSTvarchar(30)是部门岗位POST_LEVELvarchar(10)是岗位级别EMP_TYPEvarchar(1
11、0)是职工类别EMP_STATEvarchar(10)是员工状态EMP_CARD_NOchar(10)是考勤卡号EMP_PAPER_IDvarchar(18)是身份证号EMP_SEXbit是性别EMP_BIRTHDAYdatetime是生日RPR_TYPEvarchar(10)是户口类别RPR_ADDRESSvarchar(100)是户口地址NATIONvarchar(10)是民族NATIVE_PLACEvarchar(10)是籍贯POLITYvarchar(10)是政治面貌MARRIAGEvarchar(10)是婚姻状况CULTURE_LEVELvarchar(10)是学位CULTURE_D
12、EGREEvarchar(10)是学历GRADUTE_SCHOOLvarchar(50)是毕业院校GRADUTE_DATEdatetime是毕业日期SPECIALTYvarchar(10)是所学专业TECHNICALvarchar(10)是技术职称TECHNICAL_DATEdatetime是职称日期BEG_WORK_DATEdatetime是上岗日期(合同开始日期)CREATE_DATEdatetime是建档日期PROBATION_BEG_DATEdatetime是试用开始日期PROBATION_END_DATEdatetime是试用结束日期RECRUIT_SOURCESvarchar(10
13、)是招聘来源CONTRACT_BEG_DATEdatetime是合同开始日期CONTRACT_END_DATEdatetime是合同结束日期CONTRACT_TYPEvarchar(10)是合同类别LEAVE_CAUSEvarchar(10)是离职原因LEAVE_METHODvarchar(10)是离职方式LEAVE_TIMEdatetime是离职时间SALARY_LEVELint是是工资级别BANK_NAMEvarchar(50)是开户银行BANK_ACCOUNTvarchar(20)是工资账号PERSONAL_SPECIALITYvarchar(50)是个人特长WORK_TELEPHONE
14、varchar(15)是工作电话MOBILEvarchar(15)是移动电话APARTMENT_ADDRESSvarchar(50)是居住地址ZIPCODEvarchar(10)是邮政编码HOME_PHONEvarchar(15)是家庭电话URGENT_PHONEvarchar(15)是紧急联系电话E_MAILvarchar(50)是EMAILQQ_NOvarchar(20)是QQ号MSN_NOvarchar(50)是MSN号OTHER_IM_NOvarchar(50)是其它及时通信工具PERSONAL_PAGEvarchar(100)是个人主页EMP_REMARKSvarchar(300)是
15、备注RECORD_STATUSchar(1)是记录删除状态EMP_IMGvarchar(50)是个人照片注: 本表及以下表中红色强调字段取值均来自数据字典表的DICT_ITEM_CODE字段, 代表的含义则是字典的名词项ITEM_CONTENT。希望理解! RecordStatus字段是用来标识该条记录虚拟删除和还原用的。取值 0-正常 1-删除18位身份证号码各位的含义: 1-2位省、 自治区、 直辖市代码; 3-4位地级市、 盟、 自治州代码; 5-6位县、 县级市、 区代码; 7-14位出生年月日, 比如19670401代表1967年4月1日; 15-17位为顺序号, 其中17位( 倒数
16、第二位) 男为单数, 女为双数; 18位为校验码, 0-9和X。作为尾号的校验码, 是由把前十七位数字带入统一的公式计算出来的, 计算的结果是0-10, 如果某人的尾号是09, 都不会出现X, 但如果尾号是10, 那么就得用X来代替, 因为如果用10做尾号, 那么此人的身份证就变成了19位。X是罗马数字的10, 用X来代替10。考勤表考勤卡号=入职年份+月份+4位编号, 长度( 10) 。TB_CHECK_WORK该表主要用于保存员工考勤记录字段名数据类型( 长度) 是否主键允许空外键描述IDInt是流水号CHECK_IDchar(10)考勤卡号SALARY_TIMEdatetime是所属工资
17、月份EMP_IDchar(10)是是员工工号WORK_DAYSsmallint是出勤天数SICK_DAYSsmallint是病假天数AFFAIR_DAYSsmallint是事假天数LATE_LEAVE_COUNTsmallint是迟到早退次数NEGLECTWORK_DAYSsmallint是旷工天数EXTRA_WORK_TIMEsmallint是加班小时数工资标准表TB_SALARY_LEVEL该表主要用于保存工资标准字段名数据类型( 长度) 是否主键允许空外键描述LEVEL_NOint是工资级别号LEVEL_NAMEvarchar( 20) 级别SALARY_BASEmoney基本工资SAL
18、ARY_PERFORMANCEmoney是绩效工资SALARY_ALLOWANCEmoney是岗位津贴SALARY_OTHERmoney是其它补贴PERSON_TAXvarchar(10)是个人所得税率( 字典中起征点是字典代码, 字典项代表税率) 工资发放表TB_SALARY_GRANT该表主要用于保存员工工资发放记录字段名数据类型( 长度) 是否主键允许空外键描述PAYROLL_NOint是工资单据号LEVEL_NOint是是工资级别号GRANT_TYPEvarchar(10)是发放类别CHECK_IDchar(10)是考勤卡号SALARY_TIMEdatetime是所属工资月份GRANT
19、_TIMEdatetime是发放日期EMP_IDchar(10)是是员工工号EMP_NAMEvarchar(20)是员工姓名COMP_IDchar(2)是是公司编号DEPART_IDchar(3)是是部门编号SALARY_YEARmoney是工龄工资SALARY_OVERTIMEmoney是加班费SALARY_NEGLECTmoney是旷工费CHECK_DEDUCTmoney是考勤扣除ENCOURAGE_ALLDAYSmoney是全勤奖励OUGHT_TO_GRANTmoney是应发合计PERSONAL_INCOME_TAXmoney是个人所得税REALITY_GRANTmoney是实际应发合同
20、表TB_CONTRACT该表主要用于保存员工人事合同信息字段名数据类型( 长度) 是否主键允许空外键描述RECORD_IDint是记录编号CONTRACT_NOvarchar(20)是合同编号CONTRACT_STATUSvarchar(10)是合同状态EMP_IDchar(10)是是员工编号EMP_NAMEvarchar(20)是员工姓名SIGN_TIMEdatetime是签订日期CONTRACT_BEG_TIMEdatetime是合同开始日期CONTRACT_END_TIMEdatetime是合同结束日期CONTRACT_AGEint是合同年限TERMINAL_TIMEdatetime是终
21、止日期TERMINAL_CAUSEvarchar(100)是终止原因CONTRACT_REMARKvarchar(200)是备注调动离职表TB_REMOVE_LEAVE该表主要用于保存员工调动离职的信息字段名数据类型( 长度) 是否主键允许空外键描述RECORD_IDint是记录编号EMP_IDchar(10)是是员工工号EMP_NAMEvarchar(20)是员工姓名UNUSUAL_TIMEdatetime是异动日期UNUSUAL_TYPEvarchar(10)是异动类型DEPART_ID1char(3)是部门DEPART_ID2char(3)是原部门POSI_ID1char(2)是岗位PO
22、SI_ID2char(2)是原岗位POST_LEVEL1varchar(10)是岗位级别POST_LEVEL2varchar(10)是原岗位级别EMP_STATEvarchar(10)是员工状态LEAVE_CAUSEvarchar(10)是离职原因LEAVE_WAYvarchar(10)是离职方式RL_REMARKvarchar(200)是备注注: 根据需要看是否要加上区分上岗方式和离岗方式, 字典表中已经写入该字段内容。不加也无所谓。奖励表TB_REWARD该表主要用于保存员工受奖励记录字段名数据类型( 长度) 是否主键允许空外键描述RECORD_IDint是记录编号COMP_IDchar(
23、2)是是公司编号DEPART_IDchar(3)是是部门编号EMP_IDchar(10)是是员工编号REWARD_TIMEdatetime是奖励日期REWARD_TYPEvarchar(10)是奖励种类REWARD_WAYvarchar(10)是奖励方式REWARD_MONEYmoney是奖励金额REWARD_CAUSEvarchar(100)是奖励原因APPROVE_LEADERchar(10)是是批准领导REWARD_REMARKvarchar(200)是备注惩罚表TB_PUNISHMENT该表主要用于保存员工受惩罚记录字段名数据类型( 长度) 是否主键允许空外键描述RECORD_IDin
24、t是记录编号COMP_IDchar(2)是是公司编号DEPART_IDchar(3)是是部门编号EMP_IDchar(10)是是员工编号PUNIS_TIMEdatetime是惩罚日期PUNIS_TYPEvarchar(10)是惩罚种类PUNIS_WAYvarchar(10)是惩罚方式PUNIS_MONEYmoney是惩罚金额PUNIS_CAUSEvarchar(100)是惩罚原因APPROVE_LEADERchar(10)是是批准领导PUNIS_REMARKvarchar(200)是备注招聘需求计划表TB_HIRING_PLAN该表主要用于保存人力资源部招聘计划信息字段名数据类型( 长度) 是
25、否主键允许空外键描述PLAN_IDint是计划编号COMP_IDchar(2)是是公司编号DEPART_IDchar(3)是是部门编号POSI_IDchar(2)是是岗位编号NUM_OF_PEOPLEint是计划人数SALARY_BEGmoney是薪资待遇TO_POSI_TIMEdatetime是到岗日期ARGUMENT_NUMint是增补人数ARGUMENT_CAUSEvarchar(50)是增补原因ENGLISH_REQUIREvarchar(50)是外语要求SPECIALTY_REQUIREvarchar(50)是专业要求DEGREE_REQUIREvarchar(50)是学历要求COM
26、PUTER_REQUIREvarchar(50)是电脑水平EXPER_REQUIREvarchar(50)是经验要求SEX_REQUIREvarchar(50)是性别要求AGE_REQUIREvarchar(50)是年龄要求MARRY_REQUIREvarchar(50)是婚姻要求CHARA_REQUIREvarchar(50)是性格要求HIRING_ STATUSvarchar(50)是招聘状态STATUS_TIMEdatetime是状态日期POSI_RESPONSIBILITYvarchar( )是岗位职责POSI_REQUIREMENTvarchar( )是岗位要求OTHER_REMAR
27、Kvarchar( )是其它备注应聘人员表(简历表)TB_RESUME该表主要用于保存应聘人员的信息字段名数据类型( 长度) 是否主键允许空外键描述TALENTS_IDint是人才编号CADIDATE_NAMEvarchar(20)是姓名CADIDATE_TIMEdatetime是面试时间PINvarchar(20)是身份证号PHOTOvarchar(100)是照片EXPECT_LOWmoney是期望薪水低值EXPECT_HIGHmoney是期望薪水高值CADIDATE_POSIchar(2)是是应聘岗位BIRTHDAYdatetime是出生年月SEXbit是性别NATIVE_PLACEvar
28、char(10)是籍贯NATIONvarchar(10)是民族MARRIAGEvarchar(10)是婚姻状况POLITICS_STATUSvarchar(10)是政治面貌ADDRESSvarchar(100)是家庭住址TELEPHONEvarchar(20)是个人电话E_MAILvarchar(50)是EmailQQ_NOvarchar(20)是QQMSN_NOvarchar(50)是MSNOTHER_IMNOvarchar(50)是其它通信方式HIGHEST_DEGREEvarchar(10)是最高学历GRADUTE_SCHOOLvarchar(50)是毕业院校SPECIALTYvarch
29、ar(10)是所学专业HIGHEST_LEVELvarchar(10)是最高学位ENGLISH_LEVELvarchar(10)是英文水平COMPUTER_LEVELvarchar(10)是计算机水平COMP_BEFOREvarchar(50)是( 以前) 工作单位TECHNICALvarchar(10)是技术职称LINK_MANvarchar(20)是联系人LINK_TELvarchar(20)是联系电话RECORD_STATUSvarchar(10)是记录状态INFO_SOURCEvarchar(10)是信息来源MEDICAL_RESULTSvarchar(10)是体检结果CHECKIN_DATEdatetime是报到日期REFERRERvarchar(20)是推荐人WORK_UNDERGOvarchar( )是工作经历描述INTERVIEW_DESCvarchar( )是面试描述信息EXAMINATION_DESCvarchar( )是笔试描述信息RESUME_REMARKvarchar( )是备注注: 应聘者录用后, 该记录中的有用信息应当根据招聘计划表的公司、 部门、 职位等要求做判断, 后写入职员表中, 以显示该员工成为职员( 包括试用期和实习期和合同期) 。