人事管理系统数据库设计 sql代码
人力资源管理系统数据库说明

数据库名:Hr表名:bestirinfo(激励信息表)序号 列名 数据类型 长度 小数位 说明1 bestirId int 4 0 主键,自增2 bestirType varchar 50 0 激励管理类型3 BestirContext varchar 5000 0 激励管理内容4 human_id int 4 0 激励人编号5 humanName varchar 50 0 激励人名字表名:bonus序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值说明1 bon_id int 4 0 是 是 否 奖金信息2 major_id char 2 0 是 职位ID3 major_name varchar 60 0 是 职位名称4 human_id varchar 30 0 是 奖励人ID5 human_name varchar 60 0 是 奖励人名字6 bonus_item varchar 60 0 是 奖励项目7 bonus_worth money 8 4 是 奖金金额9 remark text 16 0 是 备注信息10 register varchar 60 0 是 注册人11 checker varchar 60 0 是 复核人12 regist_time datetime 8 3 是 注册时间13 check_time datetime 8 3 是 复合时间14 check_status smallint 2 0 是 复合状态(0未通过,1通过) 表名:config_file_first_kind(系统管理中,一级机构)序号 列名 数据类型 长度 小数位 标识 主键 允许空说明1 ffk_id int 4 0 是 是 否 一级机构编号2 first_kind_name varchar 60 0 是 一级机构名字3 key_man varchar 50 0 是 机构负责人4 first_desc varchar 800 0 是 机构描述5 isdelete bit 1 0 是(1)否(0)删除6 salary_grant_man varchar 50 0 薪酬发放负责人表名:config_file_second_kind(二级机构)序号 列名 数据类型 长度 小数位标识 主键 说明1 second_kind_id int 4 0 是 是 二级机构编号2 second_kind_name varchar 60 0 二级机构名称3 second_kind_des varchar 5000 0 二级机构描述4 isdelete bit 1 0 是(1)否(0)删除5 first_kind_id int 4 0 所属一级结构编号6 salary_grant_man varchar 50 0 薪资发放人表名:config_file_third_kind(三级结构)序号 列名 数据类型 长度 小数位标识主键说明1 third_kind_id int 4 0 是 是 三级机构编号2 second_kind_id int 4 0 所属二级机构编号3 third_kind_name varchar 60 0 三级机构名称4 third_kind_des varchar 3000 0 三级机构描述5 third_kind_is_delete bit 1 0 是(1)否(0)删除6 salary_grant_man varchar 50 0 薪资发放人表名:config_major(职位信息表)序号 列名 数据类型 长度 小数位 标识 主键 说明1 major_id int 4 0 是 是 职位编号2 major_name varchar 60 0 职位名称3 major_des varchar 500 0 职位描述4 Third_kind_id int 4 所属部门表名:config_msg(系统消息表)序号 列名 数据类型 长度 小数位 标识 主键 说明1 msgid int 4 0 是 是 消息编号2 msgcontext varchar 5000 0 消息内容3 nsgSendManId int4 0 消息发送人4 msgSnendMan varchar 50 0 消息发送人名称5 msgRceiveMan varchar 50 0 消息接受人6 nsgRceiveId int 4 0 消息接受人编号7 sendTime datetime 8 3 消息发送时间8 isPublic bit 1 0 是否为共有消息表名:config_question_first_kind(招聘考试题目分类)序号 列名 数据类型 长度 小数位 标识 主键 说明1 qfk_id int 4 0 是 是 题目大类编号2 first_kind_name varchar 60 0 细目大类名字3 first_kind_des varchar 5000 0 题目大类描述表名:config_question_second_kind(招聘考试题目小类)序号 列名 数据类型 长度 小数标识 主键 说明位1 qsk_id int 4 0 是 是 题目小类编号2 second_kind_name varchar 60 0 题目小类名称3 first_kind_id int4 0 所属大类编号表名:engage_answer(考试结果信息表)序号 列名 数据类型 长度 小数位 标识 主键 说明1 ans_id int 4 0 是 是2 exam_number varchar 30 0 试卷编号3 human_id int4 0 考试人编号4 human_name varchar 60 0 考试人名字5 human_idcard varchar 30 0 身份证号6 major_id char 10 0 职位ID7 major_name char 10 0 职位名字8 test_time datetime 8 3 测试时间9 answers varchar 500 0 答案不同题目答案用|隔开10 total_point numeric 5 2 总分表名:engage_exam(试卷信息表)序号 列名 数据类型 长度 小数位 标识 主键 说明1 exam_number int 4 0 是 是 试卷编号2 exam_name varchar 50 0 试卷名称3 subjectIds varchar 50 0 考题编号,所有考题号码,用|隔开4 usertime int 4 0 考试用时5 margeId int 4 0 所属职位表名:engage_interview(面试信息表)序号 列名 数据类型 长度小数位标识主键说明1 ein_id smallint2 0 是 是 面试信息编号2 human_id int 4 0 面试人3 human_major_name varchar 30 0 面试职位4 native_language_degree varchar 20 0 母语程度5 foreign_language_degree varchar 20 0 外语程度6 response_speed_degree varchar 20 0 反映程度7 EQ_degree varchar 20 0 EQ程度8 IQ_degree varchar 20 0 IQ程度9 register varchar 60 0 面试人10 registe_time datetime 8 3 面试时间11 interview_comment text 16 0 面试评价12 result varchar 20 0 面试结果13 interview_number int 4 0 面试次数14 mark varchar 20 0 综合素质表名:engage_major_release(职位发布信息表)序号 列名 数据类型 长度 小数位标识 主键 说明1 mre_id smallint2 0 是 是 主键2 first_kind_id char 2 0 职位所属一级结构3 first_kind_name varchar 60 0 所属一级机构名字4 second_kind_id char 2 0 所属二级机构编号5 second_kind_name varchar 60 0 所属二级机构名字6 third_kind_id char 2 0 三级机构编号7 third_kind_name varchar 60 0 三级机构名字10 major_id char 2 0 职位ID11 major_name varchar 60 0 职位名称12 human_amount smallint 2 0 招聘人数13 engage_type varchar 60 0 招聘类型14 deadline datetime 8 3 截至时间15 register varchar 60 0 发布人16 changer varchar 60 0 变更人17 regist_time datetime 8 3 发布时间18 change_time datetime 8 3 修改时间19 major_describe text 16 0 职位描述20 engage_required text 16 0 招聘描述表名:engage_subjects(考试题目)序号 列名 数据类型 长度 小数 标识 主键 说明1 sub_id int 4 0 是 是 考题编号2 first_kind_id int 4 0 一级机构编号3 first_kind_name varchar 60 0 一级机构名字4 second_kind_id int 4 0 二级机构编号5 second_kind_name varchar 60 0 二级机构名字6 register varchar 60 0 出题人7 regist_time datetime 8 3 出题时间8 context varchar 1000 0 题干部分9 key_a varchar 500 0 选项A10 key_b varchar 500 0 选项B11 key_c varchar 500 0 选项C12 key_d varchar 500 0 选项D13 key_e varchar 500 0 选项E14 correct_key varchar 10 0 正确答案表名:human_file序号 列名 数据类型 长度 标识 说明1 huf_id int 4 是 职员ID2 first_kind_id varchar 50 所属一级机构编号3 first_kind_name varchar 60 所属一级机构名字4 second_kind_id varchar 50 所属二级机构编号5 second_kind_name varchar 60 所属二级机构名字6 third_kind_id varchar 50 所属三级机构编号7 third_kind_name varchar 60 所属三级机构名字8 human_name varchar 60 员工名字9 human_address varchar 200 员工地址10 human_postcode varchar 10 员工邮编11 human_pro_designation varchar 6012 human_major_id varchar 50 职位编号13 hunma_major_name varchar 60 员工职位名称14 human_telephone varchar 20 职工电话15 human_mobilephone varchar 50 手机号码16 human_bank varchar 50 开户银行17 human_account varchar 30 银行卡号18 human_qq varchar 1519 human_email varchar 5020 human_hobby varchar 60 业余爱好21 human_speciality varchar 60 专业, 特长22 human_sex varchar 5023 human_religion varchar 50 宗教信仰24 human_party varchar 50 党籍25 human_nationality varchar 50 国籍26 human_race varchar 50 名族27 human_birthday datetime 8 生日28 human_birthplace varchar 50 出生地29 human_age smallint 2 年龄30 human_educated_degree varchar 60 教育程度31 human_educated_years smallint 2 教育年限32 human_educated_major varchar 60 所学专业varchar 30 社保号码33 human_society_security_id34 human_id_card varchar 20 身份证号35 remark varchar 5000 备注36 salary_standard_id int 4 工资标准编号37 salary_standard_name varchar 60 工资标准名称38 salary_sum money 8 基本工资39 human_histroy_records text 16 职员履历表text 16 家庭关系40 human_family_membership41 human_picture varchar 255 员工图片42 register varchar 60 登记人43 checker varchar 60 复核人44 changer varchar 60 更改人45 regist_time datetime 8 注册时间46 check_time datetime 8 (getdate())复核时间47 change_time datetime 8 (getdate())更改时间48 lastly_change_time datetime 8 (getdate())最后修改时间 49 delete_time datetime 8 (getdate())删除时间50 recovery_time datetime 8 (getdate())恢复时间51 human_file_status int 4 待删除员工 0注册员工 1待面试员工 2面试通过员工 3带笔试员工 4笔试通过员工 5待入职员工 6准入职员工 7正式员工 8完整员工 952 hu_Number varchar 5053 human_type nvarchar 50表名:major_change(职位变更)序号 列名 数据类型 长度标识主键说明1 mch_id smallint2 是 是 主键2 first_kind_id char 2 原所在一级机构3 first_kind_name varchar 60 原一级机构名称4 second_kind_id char 2 原二级机构编号5 second_kind_name varchar 60 原二级机构名字6 third_kind_id char 2 原三级机构编号7 third_kind_name varchar 60 原三级机构名字8 major_id char 2 原职位编号9 major_name varchar 60 原职位名字10 new_first_kind_id char 2 新一级机构编号11 new_first_kind_name varchar 60 新一级机构名字12 new_second_kind_id char 2 新二级机构编号13 new_second_kind_name varchar 60 新二级机构名字14 new_third_kind_id char 2 新三级机构编号15 new_third_kind_name varchar 60 新三级机构名字16 new_major_id char 2 新职位ID17 new_major_name varchar 60 新职位名字18 human_id varchar 30 员工编号19 human_name varchar 60 员工名字20 salary_standard_id varchar 30 原工资标准ID21 salary_standard_name varchar 60 原工资标准名字22 salary_sum money 8 原工资总额23 new_salary_standard_id varchar 30 新工资标准ID24 new_salary_standard_name varchar 60 新工资标准名字25 new_salary_sum money 8 新工资总额26 change_reason text 16 转职原因27 check_reason text 16 复合意见28 check_status smallint 2 复核状态29 register varchar 60 登记人30 checker varchar 60 复核人31 regist_time datetime 8 登记时间32 check_time datetime 8 复核时间表名:pay_delails序号 列名 数据类型 长度 小数位 标识 主键 说明1 base_pay money 8 4 基本工资2 standard_id int 4 0 是 主键,自增3 traffic_pay money 84 交通补助4 msg_pay money 8 4 通讯补助5 direft_pay money 8 4 浮动工资6 common money 8 4 常规7 lunch_pay money 8 4 午餐步骤8 year_pay money 8 4 交通补助9 car_pay money 8 4 车补表名:salary_grant(工资发放信息)序号 列名 数据类型 长度标识主键说明1 sgr_id smallint2 是 主键自增2 salary_grant_id varchar 30 发放编号按照时间自动生成4 first_kind_id char 2 一级机构编号5 first_kind_name varchar 60 一级机构名称6 second_kind_id char 2 二级结构编号7 second_kind_name varchar 60 二级机构名称8 third_kind_id char 2 三级机构编号9 third_kind_name varchar 60 三级机构名称10 human_amount smallint 2 职工人数11 salary_standard_sum money 8 标准工资总数12 salary_paid_sum money 8 实际发放总数13 register varchar 60 登记人数14 regist_time datetime 8 登记时间15 checker varchar 60 复核人16 check_time datetime 8 复核时间17 check_status smallint 2 状态(复核1 未复核0)表名:salary_grant_details(薪资发放明细)序号 列名 数据类型 长度标识主键说明1 grd_id smallint2 是 明细主键2 salary_grant_id varchar 30 发放明细编号3 human_id varchar 30 员工ID4 human_name varchar 60 员工名称6 sale_sum money 8 个人工资总额7 deduct_sum money 8 扣除总额8 salary_standard_sum money 8 标准总额salary_paid_sum money 8 实际工资总额表名:salary_standard序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明1 standard_id int 4 0 是 是 否2 standard_name varchar 60 0 是 工资标准名称 3 designer varchar 60 0 是 制定人5 checker varchar 60 0 是 复核人6 changer varchar 60 0 是 修改人7 regist_time datetime 8 3 是 制定时间 8 check_time datetime 8 3 是 复核时间 9 change_time datetime 8 3 是 修改时间10 salary_sum money 8 4 是 总金额11 check_status smallint 2 0 是 状态 13 check_comment text 16 0 是 复核说明 14 remark text 16 0 是 备注表名:salary_standard_details序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明1 standard_id varchar 30 0 否2 standard_name varchar 60 0 是 标准名称3 item_name varchar 60 0 是 项目名称4 salary money 8 4 否 总金额5 S_id int 4 0 是 是 否表名:training序号 列名 数据类型 长度 小数位 标识 主键 允许空默认值说明1 tra_id int 4 0 是 是 否 课程名称 2 trining_humanName varchar 50 0 是 培训师 3 training_item varchar 60 0 是 培训项目 4 training_time datetime 8 3 是 培训时间 5 training_hour int 4 0 是 培训周期 6 training_degree varchar 60 0 是 培训方式 7 register varchar 60 0 是 历史培训记录 8 regist_time datetime 8 3 是 历史培训时间 9 remark text 16 0 是 培训反馈表名:training_feedback序号 列名 数据类型 长度 小数位 标识 主键 允许空默认值说明1 t_id int 4 0 是 否2 h_id int 4 0 否3 Satisfaction int4 0 否 此次培训满意程度等级1-5 4 interesting int 4 0 否 此次培训是否有趣等级1-5 5 Interaction int 4 0 否 培训师是否和学员有交互等级1-5 6 Instrumentation int 4 0 是 讲师仪容仪表等级1-5 7 attitude int 4 0 是 讲师授课态度等级1-5 8 Curriculum_design int 4 0 否 课程设计等级1-5 9 Remark varchar 500 0 否 备注信息 10 tfid int 4 0 否表名:training_participation序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明1 ptid int 4 0 是 否2 humanid int 4 0 否3 traiingid int4 0 否表名:user_notebook序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明1 noteId int 4 0 是 是 否2 NoteTitle varchar 50 0 是3 NoteContext varchar 5000 0 否4 userId int 4 0 否5 noteTime datetime 8 3 否表名:users序号 列名 数据类型 长度 小数位 标识 主键 说明1 u_id int 4 0 是 是 登录人ID2 u_name varchar 60 0 登录人名字3 u_true_name varchar 60 0 真实名字4 u_password varchar 60 0 登录密码6 u_face varchar 60 0 用户头像7 Role_id int 角色ID表名:role(角色信息表)序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明1 roleId int 4 0 是 是 角色ID2 role_name nvarchar 50 0 角色名称3 roleDes nvarchar 1000 0 角色描述表名:role_module序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 URId int 4 0 是 是 主键3 modleId int4 0 模块ID4 role_id int 4 0 角色ID表名:module(模块信息表)序号 列名 数据类型 长度 标识 主键 允许空 默认值 说明1 module_id int 4 是 是 模块主键2 module_name varchar 50 模块名称3 modle_des varchar 500 模块描述4 parent_id int 4 父模块ID。
人事管理系统(数据库课程设计)

人事管理系统(数据库课程设计)课程设计报告课程设计名称:数据库原理与应用系部:学生姓名:班级:学号:成绩:指导教师:开课时间:2011-2012 学年 1 学期一.设计题目:人事管理系统在当前中国教育形式下,对学生的评价很大程度上还是侧重于学生的成绩,所以老师对学生的试卷测试势必不可少的。
那么,要提高测试的质量,让学生得到一次良好的测试体验,更好的提高学习水平,就必须在试卷上下足功夫。
随着IT业的迅速发展,计算机的应用已逐渐进入到社会生活中的各个领域,数据库系统也越来越多的被人们使用。
本次设计就是为了解决学校平时对学生进行测试时遇到的一些问题,使得老师的工作量大大减少,而且也提高了学校对学生水平的测试质量,使学生能够得到更大的提高。
最终达到提高学校的教学质量的目的。
三.具体要求1.课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2.后台数据库采用MS SQL SERVER2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;四.进度安排课程设计安排:16周星期一讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二需求分析:给出系统的功能需求、性能需求,并绘制DFD 和DD;星期三概念结构设计:绘制实体属性图(可选),局部ER图和全局ER图;星期四逻辑结构设计:转换、优化、外模式的设计;星期五物理结构设计及数据库实施;17周星期一应用程序编制调试、整理课程设计报告,并检查;星期二根据反馈结果修改课程设计;星期三提交作业上交的材料:课程设计的电子稿、打印稿、源码(SQL代码和程序代码)考核方法:现场验收(占50%),课程设计报告(占50%)。
考核内容:学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。
成绩评定:优,良,中,及格,不及格。
特别说明:(1)如发现抄袭,按照不及格处理。
(2)材料不齐的,考核等级降一级。
机关事业单位人事管理系统

毕业设计(论文、作业)毕业设计(论文、作业)题目:组织人事信息管理系统目录内容摘要 (1)ABSTRACT (2)文献综述 (3)第一章绪论 (4)一、课题背景 (4)二、人事管理系统的发展和现状 (5)三、系统开发平台简介 (5)(一)软件工程概述 (6)(二)开发工具 (6)(三)数据库SQL Server 2000简介 (7)第二章系统需求分析 (8)一、可行性分析 (8)二、系统功能分析 (9)三、数据流程图 (9)第三章系统设计与数据库设计 (11)一、业务流程 (11)二、功能模块设计 (12)三、数据结构设计 (12)四、概念模型(E-R) (14)五、系统数据库DB_Mispersonal (16)第四章系统模块实现 (18)一、系统总框图 (18)二、模块实现 (19)(一)登陆界面实现 (19)(二)基本信息管理模块 (22)(三)部门信息管理模块 (24)(五)用户管理模块 (32)第五章系统测试 (34)一、软件测试方法的描述 (34)二、功能模块测试 (35)第六章系统维护 (35)一、维护的内容 (35)二、维护的类型 (36)参考文献: (36)致谢 (37)组织人事信息管理系统的设计与实现内容摘要:人事管理是企业信息管理的重要部分,面对大量的人事信息,人事部门采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。
因此,开发一个界面友好,易于操作的人事管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。
本文介绍了人事管理系统的开发过程。
论文详尽论述了从需求分析、系统分析、概要设计、详细设计以及测试的整个开发过程。
本系统使用基于.NET Framework(.NET框架)的为开发工具,C#为主要设计语言,在数据存取上,使用最新的数据存取技术来实现对SQL数据库的操作,使用Session对象进行Web页之间的数据传递。
关键字: 组织人事管理系统 SQL数据库ABSTRACTThe personnel management is an importance of the business enterprise information management part, face a great deal of personnel information, the personnel section adoption the manpower processing will waste a great deal of time, manpower and material resourceses, and the accuracy of the data is low.Therefore, develop an interface amity, be easy to the personnel of the operation management software to carry on the automation processing's become very important, this is exactly this system development of the purpose and the meaning.This text introduced the development process of the personal management.The thesis discussed in details analytical from the need, system analysis, essentials design, detailed design, and test.This system usage according to in order to develop the tool, the of the .NET Framework(frame ), C# for main design language.Access in the data up, use the latest data access technique to carry out the operation toward the database of SQL.The data that uses the object of Session to carry on the of Web page deliver.Key words ;;Personal management system;SQL database文献综述人事管理系统是一个现代化的企业在竞争中立于不败之地的必要部分,它能够为查询人事信息提供充足的信息和快捷的查询手段。
VC+SQL综合人事管理系统-详细设计说明

1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2程序系统的结构 (3)3程序1(标识符)设计说明 (4)3.1程序描述 (4)3.2功能 (4)3.3性能 (4)3.4输人项 (5)3.5输出项 (5)3.6算法 (5)3.7流程逻辑 (5)3.8接口 (5)3.9存储分配 (6)3.10注释设计 (6)3.11限制条件 (6)3.12测试计划 (6)3.13尚未解决的问题 (6)4程序2(标识符)设计说明 (6)详细设计说明书1引言1.1编写目的对综合人事管理系统进行具体的划分,以利于软件设计人员进行设计预期读者:软件设计师,程序设计人员1.2背景说明:a.开发软件系统的名称:综合人事管理系统b.本项目的任务提出者:朱学泓c.开发者:朱学泓1.3定义1.4参考资料列出有关的参考文件,如:2程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
数据库类:对话框类:3程序1(标识符)设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
3.1程序描述1.数据库类主要是为连接数据库,对数据的数据进行管理和操作2.对话框类主要是为用户设计良好的图形界面,使对话框的数据与数据相连接。
3.2功能性能说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
3.4输人项给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。
数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
3.5输出项给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
员工管理系统SQL

员工管理系统SQL员工管理系统SQL一、简介员工管理系统SQL是一种用于员工管理的软件,它可以帮助企业管理人员记录和追踪员工的信息,包括工资、工作时长、出勤记录等。
本文将介绍员工管理系统SQL的相关内容。
二、系统功能员工管理系统SQL的功能主要分为以下几类:1.员工信息管理:包括员工姓名、身份证号、联系方式、职位、入职时间、离职时间等基本信息的录入和修改。
2.出勤记录管理:员工每日的出勤记录可以被系统实时记录,包括迟到早退、请假等情况。
系统能够根据这些记录自动计算出勤率,并生成相关报表。
3.工资管理:员工的薪资信息可以被系统储存和更新,并根据考勤记录等信息自动生成月度工资表。
4.权限管理:不同职位的员工拥有不同的权限,管理员可以通过员工管理系统SQL来设置每个员工的权限,并限制他们使用系统的功能。
5.报表制作:员工管理系统SQL可以生成各种类型的报表,如员工出勤率报表、薪资报表等,利于企业管理人员进行决策和统计分析。
三、系统架构员工管理系统SQL的架构主要包括以下几个组件:1.数据库:数据库是员工管理系统SQL的核心组件,包括员工信息、出勤记录、薪资信息等。
2.前端界面:前端界面是员工管理系统SQL的用户接口,可以让用户轻松地浏览系统功能和信息。
3.逻辑代码:逻辑代码是员工管理系统SQL的实现代码,包括员工信息的查询、更新、删除等。
四、系统实现员工管理系统SQL的实现过程主要包括以下几个步骤:1.设计数据库:首先需要设计一个数据库,储存员工信息、出勤记录、薪资信息等。
2.开发前端界面:根据企业用户的需求和设计要求,开发前端界面,实现用户与系统的交互。
3.编写逻辑代码:根据企业用户要求和设计需求,编写逻辑代码,实现员工信息的录入、查询、更新、删除等功能。
4.测试和维护:系统完成开发后,需要进行测试,确保系统能够正常工作。
在日后的使用中,还需要对系统进行维护和更新。
五、总结员工管理系统SQL是一种功能强大的企业管理软件,可以实现员工信息管理、工资管理、出勤记录管理等功能。
VC+SQL综合人事管理系统-数据库设计说明

1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2外部设计 (2)2.1标识符和状态 (2)2.2使用它的程序 (3)2.3约定 (3)2.4专门指导 (4)2.5支持软件 (4)3结构设计 (4)3.1概念结构设计 (4)3.2逻辑结构设计 (7)3.3物理结构设计 (7)4运用设计 (11)4.1数据字典设计 (11)4.2安全保密设计 (11)数据库设计说明书(GB8567——88)1引言1.1编写目的对综合人事管理系统的数据进行组织。
预期读者:系统分析师,软件设计人员1.2背景说明:a.开发的数据库的名称:HrSysb.使用此数据库的软件系统的名称:Sql Server 2000c.系统开发项目的任务提出者:朱学泓d.用户以及将安装该软件和这个数据库的计算站(中心):cthily服务中心。
1.3定义列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
1.4参考资料列出有关的参考资料:a.本项目的经核准的计划任务书或合同、上级机关批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
2外部设计2.1标识符和状态联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。
如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
2.2使用它的程序2.3约定陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、记录、数据项的命名约定等。
数据项名字采用:大小写结合的方式第一个字母大写其余的都小写如下:1.部门表(Departments)2.4专门指导向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。
数据库课程设计------人事管理系统设计

《数据库系统概论》课程设计课程设计题目人事管理系统设计一.摘要为了完善全面的人事管理功能,使人事企业管理流程合理化和自动化处理和分析各种有价值的信息,以支持决策者制定人事企业管理战略发展计划。
该系统采用了SQLServer2000数据库开发环境,使用专用数据库接口连接,其存取速度快、安全性好,便于管理和操作。
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事管理全过程,包括员工的基本信息、学历和任职信息、家庭状况、奖惩信息、员工各种信息的修改、对于转出、辞职、退休员工信息的删除等管理工作。
经过实际使用证明,该文所设计的人事管理系统可以满足公司人事管理方面的需要。
二、前言随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事档案的管理势在必行。
人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。
人事管理系统可以用于支持企业完成劳动人事管理工作,有如下3个方面的目标。
1.支持企业实现规范化的管理。
2.支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。
3.支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。
三、系统设计3.1设计思想尽量采用学校现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平和应用的目的。
1.系统应符合学校人事管理的规定,满足学校日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。
2.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
3.系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
3.2 系统功能分析该系统需要完成如下功能:1. 实现部门、职务、职称等信息的管理;2. 实现职工信息的管理:3. 实现职工学习经历和任职经历的管理;4. 实现职工家庭关系的管理;5. 实现奖惩信息的管理;6. 创建存储过程查询各部门各种职称的职工数量;7. 创建视图查询各职工的工号、姓名、部门、职务信息;8.创建触发器当增加、删除职工和修改职工部门信息时自动修改相应部门的职工人数;9.建立数据库相关表之间的参照完整性约束。
人事管理系统sql课程设计

人事管理系统sql课程设计一、课程目标知识目标:1. 学生能够理解人事管理系统的基本概念和功能需求;2. 学生掌握SQL语言的基本语法结构,能够运用SELECT、INSERT、UPDATE和DELETE命令进行数据库操作;3. 学生能够了解数据库表的设计原则,根据实际需求创建表格并定义字段属性;4. 学生掌握基本的数据库查询技巧,能够编写简单的查询语句获取所需信息。
技能目标:1. 学生能够独立使用SQL语句创建、修改和删除数据库中的表格;2. 学生能够运用SQL语句进行数据的插入、更新、查询和删除操作;3. 学生能够结合实际案例,设计简单的人事管理系统数据库查询功能;4. 学生通过课程实践,培养解决实际问题的能力和团队协作能力。
情感态度价值观目标:1. 学生树立正确的信息素养观念,认识到数据库技术在日常工作和学习中的重要性;2. 学生通过课程学习,培养对数据库技术的兴趣和热情,激发自主学习动力;3. 学生在学习过程中,注重团队协作,学会倾听他人意见,提高沟通能力;4. 学生能够遵守数据库操作规范,养成良好的数据管理习惯,尊重和保护个人隐私。
课程性质:本课程为人事管理系统SQL课程设计,旨在帮助学生将所学数据库知识应用于实际案例,提高解决实际问题的能力。
学生特点:学生已具备一定的数据库理论基础,但对SQL语言的实际应用尚不熟练,需要通过课程实践来提高操作技能。
教学要求:注重理论与实践相结合,以实际案例为主线,引导学生主动参与课堂讨论和课程实践,提高学生的操作技能和团队协作能力。
通过课程目标分解,确保学生能够达到预期的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 人事管理系统概述:介绍人事管理系统的基本概念、功能模块和应用场景。
教材章节:第一章 数据库基础2. SQL语言基础:讲解SQL语言的基本语法结构,包括数据定义、数据操纵和数据查询等。
教材章节:第二章 SQL语言3. 数据库表设计:分析人事管理系统中的数据需求,讲解数据库表的设计原则和方法。
SQL Server 2008创建人事管理数据库

创建人事管理数据库该人事管理数据库是对公司工作人员进行管理,使公司人事管理部门了解员工的基本信息,一般在人事管理数据库中创建员工的姓名、性别、年龄等字段,方便以后进行其他操作。
所有这些新建立的数据库都是基于model系统数据库的,本练习将使用SQL Server Management Studio来创建一个人事管理数据库。
操作步骤:(1)单击【开始】菜单,并执行【所有程序】|【Microsoft SQL Server 2008 R2】|【配置工具】|【SQL Server 配置管理器】命令,打开SQL Server Management Studio窗口。
(2)在【对象资源管理】窗格中展开【服务器】节点,右击【数据库】节点然后执行【新建数据库】命令,如图2-1所示。
图2-1 执行【新建数据库】命令(3)在弹出的【新建数据库】对话框中,选择【常规】选项,在【数据库名称】文本框中输入“人事管理”文本。
(4)在【数据库文件】列表中默认【逻辑名称】为“人事管理”的数据文件【初始大小】为“3MB”;【逻辑名称】为“人事管理_log”的日志文件【初始大小】为“1MB”。
默认“人事管理”数据文件的自动增长为1MB,日志文件“人事管理_log”是按百分比10%进行自动增长,不限制增长。
(5)单击【添加】按钮,添加一个【逻辑名称】是“人事管理_DA T A1”、【初始大小】为“3MB”的数据文件,自动增长的增长量为1MB,不限制增长,如图2-2所示。
图2-2 创建人事管理管理数据库(5)单击【选项】页面,在【其他选项】列表中找到【自动关闭】选项,更改值为T rue;设置【自动收缩】选项为TRUE,数据和日志文件会自动缩小尺寸和压缩。
如图2-3所示。
图2-3 设置自动关闭(6)完成了以上操作以后,单击【确定】按钮关闭【新建数据库】对话框。
至此,成功创建了一个数据库,可以在【对象资源管理器】窗格中看到新建的数据库。
人事管理系统的数据库设计

东方学院实验(实训)报告项目名称人事管理系统数据库分析与设计所属课程名称数据库原理及应用项目类型设计、综合型实验(实训)日期班级信息1班学号082040姓名陈文军潘炜剑指导教师严素蓉人事管理系统的数据库设计1 需求分析1.1功能与信息要求通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。
系统功能的主要描述如下。
(1)员工档案管理1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。
2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。
3)当员工的信息发生变动时,修改员工档案记录中相应的属性。
(2)员工职务调动管理对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。
(3)奖惩管理对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。
(4)考勤管理1)对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。
2)对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。
(5)请销假管理1)对员工请假的记录进行统一编号;登记员工请假时间、请假类型。
2)对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。
(6)工资管理1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。
(7)部门管理1)对公司所有的部门进行编号,建立部门记录。
1.2 安全性与完整性要求安全与保密要求:此系统可以分为用户和管理员,用户可以浏览自己的个人信息,但不能修改自己的信息,凡要修改都需通过管理员去修改。
管理员主要管理系统的各种信息。
目标:在于开发一个功能使用、操作方便,简单明了的人事管理系统。
再设计出功能强大的软件的同时,尽可能地减少对系统资源的占用,并且还要力求做到通过使用本系统,尽量使单位的人事管理工作系统化、自动化和规范化,从而达到提高企、事业单位管理效率的目的,同时也希望此次工程加强我们自身的小组协作意识,加深程序设计思想,同时要学习工程设计思想,再技术和软件工程思想上同时得到锻炼和提高。
SQL数据库课程设计-人事管理系统设计

一、引言1.1 选题目的及意义人事管理系统是一个比较复杂的工作,管理人事要跟公司的具体情况结合起来。
一般说来,公司都会分比较多的部门,每一个员工都属于一个部门,担任不同的职务,在人事管理系统时都要考虑各种情况。
在现实生活中,公司部门的调整,员工的聘请、辞退、升迁是很平常见,为了了解各种情况,在数据库中不仅要保存员工的基本资料,同时这些变动也要能反映到数据库中。
作为计算机应用的一部分,使用计算机对人事进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高商场人事管理的效率,也是科学化、正规化管理的重要条件。
1.2 主要内容概要经过简单的分析,初步确定系统的主要功能:(1)友好的用户界面,操作简单。
(2)具有良好的安全措施,能够保证系统数据不被非法使用。
(3)按照某种条件,查询、统计符合条件的员工信息。
(4)能动态更新部门,人事资料。
1.3系统功能结构图及其相关模块描述功能模块名:员工资料管理模块模块功能:作为本系统的核心模块,为了方便处理,人事变更如调动、离职等操作都放在这个模块的修改中,当然在实用系统中,这些功能可能会独立实现。
功能模块名:数据库管理模块模块功能:主要实现数据库备份。
注:由于篇幅有限,本课程设计只实现了具有代表性和在系统中占核心地位的员工资料管理模块,同时也讲解了如何实现数据库备份。
1.4系统的数据字典A.员工基本资料(描述员工的考勤信息,便于查询、操作):员工号,员工名,性别,年龄,部门,职务,合同开始时间结束时间,工作状态,住址,联系电话,手机,邮箱,备注B.人事更新表(描述员工的人事变动信息):记录号、工号、原部门、新部门、原职务、新职务、操作、日期C.部门表(描述员工所在部门):部门号、部门名称、上级部门D.职务表(描述员工所属部门):职务二、 数据库概念模型设计2.1数据实体—关系图系统的概念结构设计设计就是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。
SQL人事档案管理系统

摘要由于计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。
因此,本文围绕一个“人事档案管理系统”程序的设计和应用系统的开发课题为背景,详细介绍了以VB和SQL SERVER为语言编写管理系统的过程。
该程序通过VB的ADO数据对象来实现VB前台与后台SQL SERVER数据库的连接,并具有典型的数据库应用系统的特征,完成了系统结构与现实生活的紧密结合。
该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,逐一介绍开发本系统的步骤:系统分析、系统设计、系统实现、系统实施。
首先对现行人事档案管理系统进行分析,并找出其存在的问题,并提出解决方案,主要讲述了程序的总体设计、详细设计阶段,对程序进行不断修正和改进。
在系统结构设计中先后用数据流图、系统的功能结构图分析了系统所需要的各种数据。
在系统的设计中,详细的展现了系统的各个功能模块、所需的数据库表及表字段、系统菜单的设计等。
在系统的实现中,给出了系统的界面登录、实现表单中相应的功能控件的事件代码等。
在系统的实施概况中给出了系统的开发环境、系统的运行与维护、系统的安全性与可靠性设计。
同时利用SQL SERVER 的强大数据库功能,直到形成一个完善的可行性系统.优美、秀丽的界面,方便实用的查询与维护功能共同构成了“人事档案管理系统”。
关键词:VB;SQL SERVER;数据库;人事管理系统目录第1章系统功能概述 (1)1.1 设计目的及意义 (1)1.2 功能模块划分 (1)1.3 系统结构总图 (2)第2章数据库设计 (2)2.1 需求分析 (2)2.2 E-R模型 (3)2.3 关系模型 (5)2.4 表结构设计 (5)2.4.1 表的建立 (5)2.4.2 信息表 (6)2.4.3 基本数据 (6)第3章系统各功能模块的详细设计 (7)3.1 进入系统页面 (7)3.2 登录页面 (9)3.2.1 员工登录 (9)3.2.2管理员登录 (14)3.3 档案存入与转出页面 (16)3.4 编辑页面 (17)3.4.1 档案存入 (17)3.4.2 档案转出 (22)3.5 查询 (26)总结 (28)参考文献 (29)第1章系统功能概述1.1 设计目的及意义掌握数据库的创建方法。
用t╠sql语句修改表格中的字段

用t╠sql语句修改表格中的字段篇一:实验4 使用T-SQL语言创建和修改表答案实验4 使用T-SQL语言创建和修改表一、实验目的1. 掌握使用查询分析器利用T-SQL语句创建数据库表的方法。
2. 掌握使用查询分析器利用T-SQL语句修改数据库表结构、删除数据库表的方法。
3. 掌握如何使用查询分析器利用T-SQL语句创建和使用用户自定义数据类型。
二、实验内容新建人事管理系统数据库,包括三个表:员工基本信息表、部门信息表、员工工资信息表。
三个表的结构如表3-7、表3-8、表3-9。
完成以下各题。
表3-7 员工基本信息表表3-8部门信息表表3-9员工工资信息表1. 使用T-SQL语句自定义一个数据类型TELEPHONE_COD,为字符型CHAR(15),允许空值。
SQL代码如下:USE 人事管理系统EXEC SP_ADDTYPE TELEPHONE_CODE,'CHAR(15)','NULL ' 2. 使用查询分析器利用T-SQL语句创建员工基本信息表。
SQL代码如下:USE 人事管理系统CREATE TABLE 员工基本信息表( 员工编号INTNOT NULLCONSTRAINT PK_YGIDPRIMARY KEY,员工姓名NV ARCHAR(50) NOT NULL, 员工登录名NV ARCHAR(20) NOT NULL,员工登录密码BINARY(20)NULL,员工电子邮件NVARCHAR(50) NOT NULL, 员工所属部门编号INTNULL,员工基本工资INTNULL,员工职位名称NVARCHAR(50)NULL,员工电话TELEPHONE_CODE NULL, 员工报到日期DATETIMENOT NULL, 员工自我介绍NV ARCHAR(200) NULL, 员工剩余假期INT NULL, 员工的级别INT NULL,员工照片IMAGENULL)3. 使用查询分析器利用T-SQL语句创建部门信息表。
9个vb6 + sql2000的数据库系统实例源程序

9个vb6 + sql2000的数据库系统实例源程序VB6和SQL2000是一种经典的数据库系统开发组合,VB6作为一种编程语言,可以用于创建Windows应用程序,而SQL2000则是一种强大的关系型数据库管理系统,用于存储和管理大量数据。
在本文中,我们将介绍9个不同的VB6和SQL2000的数据库系统实例,并进行详细的说明。
1.学生管理系统这个实例是一个简单的学生管理系统,它可以用于存储和管理学生的基本信息,包括学生的姓名、学号、年龄等。
通过VB6的界面,可以实现学生信息的录入、查询、编辑和删除等功能。
2.图书管理系统这个实例是一个用于管理图书信息的系统,它可以存储和管理图书的基本信息,包括书名、作者、出版社等。
通过VB6的界面,可以实现图书信息的录入、查询、编辑和删除等功能。
3.购物系统这个实例是一个简单的购物系统,它可以用于管理商品信息和顾客的购买记录。
通过VB6的界面,顾客可以浏览和搜索商品,选择商品并添加到购物车中,然后结算和下单。
4.订餐系统这个实例是一个简单的订餐系统,它可以用于顾客选择菜品并下单,然后厨房进行菜品制作和配送。
通过VB6的界面,顾客可以浏览菜单,选择菜品和数量,然后下单。
厨房人员可以通过VB6的界面查看菜品订单和制作进度。
5.酒店管理系统这个实例是一个用于管理酒店房间和客户信息的系统,它可以存储和管理房间的基本信息,包括房间号、类型、价格等。
通过VB6的界面,可以实现房间的预订、查询、编辑和取消等功能。
6.学生成绩管理系统这个实例是一个用于管理学生成绩信息的系统,它可以存储和管理学生的考试成绩。
通过VB6的界面,可以实现学生成绩的录入、查询、编辑和删除等功能。
7.银行管理系统这个实例是一个简单的银行管理系统,它可以用于存储和管理客户的基本信息和银行账户信息。
通过VB6的界面,可以实现客户信息的录入、查询、编辑和删除等功能。
8.售后服务系统这个实例是一个简单的售后服务系统,它可以用于管理产品售后服务的记录和处理。
人事管理系统数据库设计

考勤信息表:包括员工编号、考勤日期、 考勤时间、考勤状态等信息
薪资信息表:包括员工编号、薪资金额、 薪资发放日期等信息
培训信息表:包括员工编号、培训课程、 培训时间、培训地点等信息
数据表关系设计
员工信息表:存储员工基本信息,如姓名、性别、年龄等 部门信息表:存储部门基本信息,如部门名称、部门负责人等 职位信息表:存储职位基本信息,如职位名称、职位描述等 员工-部门关系表:存储员工所属部门信息,如员工ID、部门ID等 员工-职位关系表:存储员工担任职位信息,如员工ID、职位ID等 部门-职位关系表:存储部门下设职位信息,如部门ID、职位ID等
人事管理系统数据库概述
数据库设计的目的和意义
提高数据存储效率
保证数据完整性和一致性
便于数据查询和分析
提高系统安全性和稳定性
数据库设计的基本原则
数据完整性:确保数据的准确性和 一致性
数据安全性:保护数据不被非法访 问和修改
数据冗余:避免数据重复,提高查 询效率
数据一致性:确保数据的逻辑一致 性和物理一致性
恢复策略:根据备份策略制 定恢复计划,确保数据可恢
复
数据库性能优化
优化查询语句:使用索引、减少JOIN操作、避免使用子查询等 优化数据库结构:合理设计表结构、减少冗余数据、使用分区表等 优化数据库配置:调整内存、CPU、磁盘等资源分配,优化数据库参数 定期维护:定期备份数据、检查数据库完整性、修复数据库错误等
人事管理系统数据库物理设计
物理结构设计概述
数据库物理设计:将逻辑设计转换为物理存储结构
物理存储结构:包括表空间、数据文件、索引等
物理设计原则:性能、可扩展性、安全性、可维护性 物理设计方法:基于经验的设计、基于规则的设计、基于成本的设 计
基于SQL Server数据库的人事管理系统的研究与开发.doc

基于SQL Server数据库的人事管理系统的研究与开发作者:范玉红来源:《信息安全与技术》2012年第07期【摘要】随着信息技术的飞速发展,信息化系统在企业管理中应用的普及,利用计算机实现人事管理势在必行。
企业利用人事管理系统,使公司管理者和管理部门能够更科学、合理、公平地对企业人事进行管理。
文章基于SQL Server数据库对人事管理系统进行研究与开发。
【关键词】 SQL Server数据库;人事管理系统Based on SQL Server Database Management System Research and DevelopmentFan Yu-hong(Cangzhou Normal University Hebei Cangzhou 061001)【 Abstract 】 With the rapid development of information technology, information system in the business management the application popularization, uses the computer realization of personnel management be imperative. Enterprises using personnel management system, the company managers and management can more scientific reasonable and fair for business and personnel management. In this paper, based on the SQL SERVER database of personnel management system research and development.【 Keywords 】 SQL server database;personnel management system0 引言随着社会经济的不断发展,对于一些中小型的企业来说,人力资源成为企业发展的重要因素。
基于JavaWeb人事管理系统的设计与实现_毕业设计论文

基于JavaWeb人事管理系统的设计与实现摘要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本,提高工作效率的首选。
考虑到当前大量企业的人事管理尚处于单机系统阶段,不但效率低下、因为管理的不慎而出现纰漏,还常常形成信息孤岛。
因此根据现在大多数企业的需求,设计此人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。
本人事管理系统采用面向对象语言JavaWeb进行设计与实现,数据库采用SQL Server 2005。
开发之前,首先经过调研,得到系统功能需求,根据需求分析确定开发的内容,其次对系统功能进行模块化设计,得到初步的系统总体结构,然后编写代码具体实现,最后对各个模块进行测试优化。
本次开发的功能是人力资源管理系统中的一部分,主要有权限控制、查询员工信息、增加员工信息、批量增加员工信息、控制员工工作状态、签到、生日提醒等功能。
通过本次系统的设计与开发,旨在对公司的人力资源进行个性化管理,从而提高公司的运作效率。
本文详细介绍了人事管理系统的功能需求,系统设计和具体实现。
简要介绍了系统开发采用的过程方法。
关键词:人事管理系统,JavaWeb,数据库,批量增加,生日提醒JAVAWEB PERSONNEL MANAGEMENT SYSTEMBASED ON THE DESIGN AND IMPLEMENTATIONABSTRACTIn today's society, the Internet unprecedented development, to people's work and life has brought great convenience and efficiency, information technology, electronic technology has become operational cost savings, improve efficiency of choice. Considering the current large number of companies still in the stand-alone system, personnel management stage, not only inefficient, because of careless management flaws, often forming islands of information. Therefore, according to the needs of most businesses now, this personnel management system designed to help companies achieve the personnel management office automation, saving management costs, improve work efficiency. The personnel management system using object-oriented language design and implementation JavaWeb the database using SQL Server 2005. Development, first through research, get the system functional requirements, according to the development needs analysis to determine the content, followed by the modular design of the system function, the preliminary overall system structure, and then write the code specific implementation, the final test of each module optimization. The development of the human resource management function is part of the system, there are access control, query employee information, and increase employee information, batch add employee information, control staff working status, attendance, birthday reminders and other functions. Through this system design and development, aimed at the company's human resources personalized management, thereby enhancing its operational efficiency. This paper describes the personnel management system functional requirements, system design andimplementation. Briefly describes the process of system development methods used.KEY WORDS:Management Information System,JavaWeb,Database ,Batch increase employee information ,Birthday reminders目录前言 (1)第1章问题陈述 (3)§1.1项目背景 (3)§1.2开发语言和环境 (3)§1.2.1B/S架构 (3)§1.2.2配置环境 (4)第2章需求分析 (5)§2.1需求分析内容的收集 (5)§2.1.1调查的目的 (5)§2.1.2调查内容 (5)§2.1.3调查方式 (5)§2.2需求分析内容的整理 (6)第3章系统分析 (7)§3.1系统的初步调查 (7)§3.2系统的可行性研究 (7)§3.2.1营运可行性 (7)§3.2.2 技术可行性 (7)§3.2.3营运可行性 (8)第4章系统设计 (9)§4.1系统功能设计 (9)§4.2系统的功能模块图 (10)§4.3系统业务流程设计 (11)第5章数据库的设计 (12)§5.1 数据库表的设计 (12)§5.1.1概念模型设计 (12)§5.1.2数据库物理设计 (14)§5.2安全设计 (16)第6章系统详细设计与实现 (17)§6.1系统的功能概述 (17)§6.1.1系统的登录功能 (17)§6.1.2修改密码功能 (17)§6.1.3请假功能 (18)§6.2管理员的功能概述 (18)§6.2.1登录后的界面 (18)§6.2.2增加员工的设计与界面 (18)§6.2.3更新员工的设计与界面 (21)§6.2.4查询员工的设计与界面 (22)§6.3部门经理的功能概述 (23)§6.3.1登录后的界面 (23)§6.3.2查询部门员工的设计与实现 (23)§6.4普通员工的功能概述 (24)第7章测试 (25)§7.1测试目的 (25)§7.2测试设计 (25)结论 (27)参考文献 (28)致谢 (29)附录 (30)前言随着信息化、自动化时代的到来,电脑在我们生活中扮演重要的角色,特别是对公司而言,如果公司采用电脑来管理员工,公司的运行效率将会得到很大的提高。
人事管理系统数据库设计

《数据库原理与应用》课程设计报告设计题目:人事管理系统小组成员:2011 年12 月目录前言 (2)第一部分:基本情况与小组介绍 (3)1基本情况 (3)2小组介绍 (3)第二部分:课程设计内容 (4)第一章绪论 (4)1课题简介 (4)2设计目的 (4)3设计内容 (5)第二章需求分析 (6)1功能需求 (6)2数据流图 (7)3数据字典 (9)第三章概念结构设计 (18)1局部E-R图 (18)2全局E-R图 (19)第四章逻辑结构设计 (20)1关系模式 (20)2数据库结构的详细设计 (20)第五章物理结构设计 (24)1建立索引 (24)2存储结构 (24)3数据库的建立 (24)第三部分:分析与总结 (28)1数据库分析 (28)2课题总结 (28)参考文献 (30)前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。
其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。
随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径。
利用计算机支持教学高效率,完成人事管理的日常事务,是适应现代教学制度要求、推动人事管理走向科学化、规范化的必要条件;而人事管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行人事管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
《数据库应用》课程设计——人事管理系统(java源代码)

《数据库应用》课程设计——人事管理系统(java源代码)//用户登陆类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Land extends JFrame{JFrame jf ;JTextField textName=new JTextField(); JPasswordField textage=new JPasswordField(); JLabel label = new JLabel("员工管理系统");JLabel labelName=new JLabel("用户名:");JLabel labelage=new JLabel("密码:");JButton buttonEnter=new JButton("登录");JButton buttoncancel=new JButton("清空");public Land(){jf=this;setTitle("登录");Font f = new Font("新宋体",Font.PLAIN,12); Container con = getContentPane();con.setLayout(null);label.setBounds(95,10,110,20);label.setFont(new Font("新宋体",Font.PLAIN,14));con.add(label);labelName.setBounds(45,40,55,20);labelName.setFont(f);con.add(labelName);textName.setBounds(95,40,120,20);con.add(textName);labelage.setBounds(45,70,45,20);con.add(labelage);labelage.setFont(f);textage.setBounds(95,70,120,20);con.add(textage);buttonEnter.setBounds(90,110,60,20);buttonEnter.setFont(f);con.add(buttonEnter);//登陆的鼠标监听buttonEnter.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent me){if(textName.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!"); }else if(textage.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!"); }else{String sql="select * from UserInformation where User_Name = '" + textName.getText() + "' and Password = '" + textage.getText()+ "'";System.out.println(sql);Judge(sql);}}});buttoncancel.setBounds(155,110,60,20);buttoncancel.setFont(f);con.add(buttoncancel);//清空按钮的鼠标监听方法buttoncancel.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent me){textName.setText("");textage.setText("");}});setResizable(false);Image img=Toolkit.getDefaultToolkit().getImage("image\\main.gif");setIconImage(img);Toolkit t = Toolkit.getDefaultToolkit();int w = t.getScreenSize().width;int h = t.getScreenSize().height;setBounds(w/2-150,h/2-90,300,180);setVisible(true);}private void Judge(String sqlString) {if (Database.joinDB()) {if (Database.query(sqlString))try{if(Database.rs.isBeforeFirst()) {System.out.println("密码正确");jf.setVisible(false);.close();new Main();}else {System.out.println("错误");new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);}}catch(Exception ex) {System.out.println(ex.getMessage());}}else{System.out.println("连接数据库不成功");}}public static void main(String args[]){new Land();}}//主函数类,可以独立运行package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class Main extends JFrame implements Runnable{ Thread t=new Thread(this);JDesktopPane deskpane = new JDesktopPane();JPanel p = new JPanel();Label lp1=new Label("欢迎使用员工管理系统 !"); ImageIcon icon1=new ImageIcon("imagetjsc.gif"); ImageIcon icon2=new ImageIcon("imagecxdl.gif"); ImageIcon icon3=new ImageIcon("imagexgmm.gif"); ImageIcon icon4=new ImageIcon("imagetcxt.gif"); ImageIcon icon5=new ImageIcon("imagejj.gif"); ImageIcon icon6=new ImageIcon("imagehelp.gif"); ImageIcon icon7=new ImageIcon("imagecx.gif"); ImageIcon icon8=new ImageIcon("imagegl.gif");ImageIcon icon9=new ImageIcon("imagext.gif");ImageIcon icon10=new ImageIcon("imagexxgl.gif");ImageIcon icon11=new ImageIcon("imagexxcx.gif");ImageIcon icon12=new ImageIcon("imagebz.gif");ImageIcon icon13=new ImageIcon("imagegy.gif");ImageIcon icon14=new ImageIcon("imageglxx.gif");ImageIcon icon15=new ImageIcon("imagecxxx.gif");//完--------------------------------------------------------------------------------public Main(){setTitle("员工管理系统");Container con = getContentPane();con.setLayout(new BorderLayout());con.add(deskpane,BorderLayout.CENTER);Font f =new Font("新宋体",Font.PLAIN,12);JMenuBar mb = new JMenuBar();JMenu systemM = new JMenu("系统管理");systemM.setFont(f);JMenu manageM = new JMenu("信息管理");manageM.setFont(f);JMenu employeeMM = new JMenu("员工信息管理");employeeMM.setFont(f);JMenu selectM = new JMenu("信息查询");selectM.setFont(f);JMenu employeeSM =new JMenu("员工信息查询"); employeeSM.setFont(f);JMenu helpM = new JMenu("帮助");helpM.setFont(f);JMenu aboutM=new JMenu("关于");aboutM.setFont(f);JMenuItem password = new JMenuItem("密码修改"); password.setFont(f);JMenuItem land = new JMenuItem("重新登陆");land.setFont(f);JMenuItem addDelete = new JMenuItem("添加/删除用户"); addDelete.setFont(f);JMenuItem exit = new JMenuItem("退出系统");exit.setFont(f);systemM.add(password);systemM.add(land);systemM.add(addDelete);systemM.add(exit);//为系统管理菜单加事件password.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("AmendPassword");deskpane.add(new AmendPassword());}});land.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Land");setVisible(false);new Land();}});addDelete.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ deskpane.add(new AddDeleteUser());}});exit.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//new JOptionPane().showMessageDialog(setVisible(false);}});JMenuItem departmentM = new JMenuItem("部门信息管理"); departmentM.setFont(f);JMenuItem employeeM = new JMenuItem("基本信息管理"); employeeM.setFont(f);JMenuItem trainM = new JMenuItem("培训信息管理");trainM.setFont(f);JMenuItem encouragementPunishM = new JMenuItem("奖罚信息管理"); encouragementPunishM.setFont(f);JMenuItem wageM =new JMenuItem("薪资信息管理");wageM.setFont(f);employeeMM.add(trainM);employeeMM.add(employeeM);employeeMM.add(encouragementPunishM);employeeMM.add(wageM);manageM.add(employeeMM);manageM.add(departmentM);//为管理菜单加事件departmentM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Departmentmanage");deskpane.add(new Departmentmanage());}});employeeM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Employeemanage");deskpane.add(new Employeemanage());}});trainM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Trainmanage");deskpane.add(new Trainmanage());}});encouragementPunishM.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("EncouragementPunish");deskpane.add(new EncouragementPunish());}});wageM.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("WageManage");deskpane.add(new WageManage());}});JMenuItem departmentS = new JMenuItem("部门信息查询"); departmentS.setFont(f);JMenuItem employeeS = new JMenuItem("基本信息查询"); employeeS.setFont(f);JMenuItem trainS = new JMenuItem("培训信息查询");trainS.setFont(f);JMenuItem encouragementPunishS = new JMenuItem("奖罚信息查询"); encouragementPunishS.setFont(f);JMenuItem wageS =new JMenuItem("薪资信息查询");wageS.setFont(f);employeeSM.add(trainS);employeeSM.add(employeeS);employeeSM.add(encouragementPunishS);employeeSM.add(wageS);selectM.add(employeeSM);selectM.add(departmentS);//为查询菜单加事件departmentS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("DIQ");deskpane.add(new DIQ());}});employeeS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("BIQ");deskpane.add(new BIQ());}});trainS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("TIQ");deskpane.add(new TIQ());}});encouragementPunishS.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){System.out.println("EPIQ");deskpane.add(new EPIQ());}});wageS.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("SIQ");deskpane.add(new SIQ());}});JMenuItem help = new JMenuItem("帮助");help.setFont(f);JMenuItem about =new JMenuItem("关于");about.setFont(f);helpM.add(help);aboutM.add(about);//为帮助菜单加事件about.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new About());}});mb.add(systemM);mb.add(manageM);mb.add(selectM);mb.add(helpM);mb.add(aboutM);setJMenuBar(mb);Image img=Toolkit.getDefaultToolkit().getImage("imagemain.gif"); setIconImage(img);systemM.setIcon(icon9);manageM.setIcon(icon8);selectM.setIcon(icon7);helpM.setIcon(icon6);addDelete.setIcon(icon1);land.setIcon(icon2);password.setIcon(icon3);exit.setIcon(icon4);employeeMM.setIcon(icon5);employeeSM.setIcon(icon5);departmentM.setIcon(icon10);departmentS.setIcon(icon11);help.setIcon(icon6);aboutM.setIcon(icon13);about.setIcon(icon13);employeeM.setIcon(icon14);trainM.setIcon(icon14); encouragementPunishM.setIcon(icon14); wageM.setIcon(icon14);employeeS.setIcon(icon15);trainS.setIcon(icon15); encouragementPunishS.setIcon(icon15); wageS.setIcon(icon15);JToolBar jToolBar1 = new JToolBar(); jToolBar1.setLayout(new GridLayout(9,1)); JButton jButton1 = new JButton();jButton1.setToolTipText("员工基本信息管理"); JButton jButton2 = new JButton();jButton2.setToolTipText("员工基本信息查询"); JButton jButton3 = new JButton();jButton3.setToolTipText("修改密码");JButton jButton5 = new JButton();jButton5.setToolTipText("计算器");JButton jButton6 = new JButton();jButton6.setToolTipText("退出系统");jToolBar1.setMaximumSize(new java.awt.Dimension(600, 50)); jToolBar1.setMinimumSize(new java.awt.Dimension(600, 50)); //添加工具栏中按钮的方法jButton1.setIcon(new ImageIcon("image1.png"));jButton1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Employeemanage");deskpane.add(new Employeemanage());}});jToolBar1.add(jButton1);jButton2.setIcon(new ImageIcon("image2.png"));jButton2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new BIQ());}});jToolBar1.add(jButton2);jButton3.setIcon(new ImageIcon("image3.png"));jButton3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deskpane.add(new AmendPassword());}});jToolBar1.add(jButton3);jButton5.setIcon(new ImageIcon("image5.png"));jButton5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.out.println("Calculator");deskpane.add(new Calculator());}});jToolBar1.add(jButton5);jButton6.setIcon(new javax.swing.ImageIcon("image6.png")); jButton6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});jToolBar1.add(jButton6);jToolBar1.setBounds(0, 0, 30, 600);jToolBar1.setEnabled(false);con.add(jToolBar1,BorderLayout.WEST);p.setLayout(new BorderLayout());p.add(lp1,BorderLayout.EAST);t.start();con.add(p,BorderLayout.SOUTH);Toolkit t = Toolkit.getDefaultToolkit();int width = t.getScreenSize().width - 200; int height = t.getScreenSize().height - 100; setSize(width,height);setLocation(150,100);setVisible(true);setResizable(false);}//线程的方法public void run(){System.out.println("线程启动了!");Toolkit t = Toolkit.getDefaultToolkit();int x=t.getScreenSize().width;System.out.println("x=" + x);lp1.setForeground(Color.red);while(true){if(x<-600){x=t.getScreenSize().width;}lp1.setBounds(x,0,700,20);x-=10;try{Thread.sleep(100);}catch(Exception e){} }}public static void main(String[] args){new Main();}}//数据库联接类package classsource;import java.sql.*;public class Database {public static Connection cn;public static Statement st;public static ResultSet rs;public static boolean joinDB() {boolean joinFlag;try {joinFlag = true;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");cn =DriverManager.getConnection("jdbc:odbc:EmployeeInformationMS","sa"," ");cn.setCatalog("EmployeeInformationMS");System.out.println("数据库连接成功");st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);return joinFlag;} catch (SQLException sqlEx) {System.out.println(sqlEx.getMessage());joinFlag = false;return joinFlag;} catch (ClassNotFoundException notfoundEX) { System.out.println(notfoundEX.getMessage());joinFlag = false;return joinFlag;}}public static boolean executeSQL(String sqlString) { boolean executeFlag;try {st.execute(sqlString);executeFlag = true;} catch (Exception e) {executeFlag = false;System.out.println("sql exception:" + e.getMessage()); }return executeFlag;}public static boolean query(String sqlString) {try {rs = null;//System.out.println(sqlString);rs = st.executeQuery(sqlString);} catch (Exception Ex) {System.out.println("sql exception:" + Ex);return false;}return true;}}//添加删除用户类package classsource;import java.awt.event.*;import java.awt.*;import javax.swing.*;import java.sql.*;public class AddDeleteUser extends javax.swing.JInternalFrame { private JButton butACancel,butDCancel,butDelete,butOk;private JComboBox cbUserName;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5;private JPasswordField pas1,pas2,pas3;private JTextField txtname;public AddDeleteUser() {initComponents();this.setVisible(true);this.setClosable(true);this.setSize(268,350);}private void initComponents() { jLabel1 = new JLabel();jLabel2 = new JLabel();jLabel3 = new JLabel();txtname = new JTextField();pas1 = new JPasswordField();pas2 = new JPasswordField(); butOk = new JButton();butACancel = new JButton();jLabel4 = new JLabel(); cbUserName = new JComboBox(); jLabel5 = new JLabel();pas3 = new JPasswordField(); butDelete = new JButton(); butDCancel = new JButton(); getContentPane().setLayout(null); jLabel1.setText("新用户名:"); getContentPane().add(jLabel1); jLabel1.setBounds(30, 30, 70, 20); jLabel2.setText("输入密码:");getContentPane().add(jLabel2);jLabel2.setBounds(30, 60, 70, 18); jLabel3.setText("确认密码:"); getContentPane().add(jLabel3);jLabel3.setBounds(30, 90, 60, 18); getContentPane().add(txtname); txtname.setBounds(100, 30, 130, 24); getContentPane().add(pas1);pas1.setBounds(100, 60, 130, 24); getContentPane().add(pas2);pas2.setBounds(100, 90, 130, 24); butOk.setText("添加");getContentPane().add(butOk);butOk.setBounds(80, 130, 70, 27); butACancel.setText("清空"); getContentPane().add(butACancel); butACancel.setBounds(160, 130, 70, 27); jLabel4.setText("已有用户名:"); getContentPane().add(jLabel4);jLabel4.setBounds(30, 180, 80, 18); getContentPane().add(cbUserName); cbUserName.setBounds(100, 180, 130, 24); jLabel5.setText("密码:"); getContentPane().add(jLabel5);jLabel5.setBounds(30, 210, 60, 18);getContentPane().add(pas3);pas3.setBounds(100, 216, 130, 24);butDelete.setText("删除");getContentPane().add(butDelete);butDelete.setBounds(79, 260, 70, 27);butDCancel.setText("清空");getContentPane().add(butDCancel);butDCancel.setBounds(160, 260, 70, 27);//将所有用用户名读出来Database.joinDB();String sql="select * from UserInformation";try{if(Database.query(sql)){while(Database.rs.next()){String name=Database.rs.getString("User_Name");cbUserName.addItem(name);}}}catch(Exception e){}//为添加和取消按钮加事件----------------------------------------- butOk.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(txtname.getText().equals("")){new JOptionPane().showMessageDialog(null,"用户名不能为空!");}else if(pas1.getText().equals("")){new JOptionPane().showMessageDialog(null,"密码不能为空!");}else if(pas1.getText().equals(pas2.getText())){String sql="insert UserInformation values('"+ txtname.getText() +"','"+ pas1.getText() +"','B')";try{if(Database.executeSQL(sql)){new JOptionPane().showMessageDialog(null,"添加成功!");cbUserName.addItem(txtname.getText());}}catch(Exception ea){}}}});butACancel.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){txtname.setText("");pas1.setText("");pas2.setText("");}});//为删除和取消按钮加事件--------------------------------------- butDelete.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + cbUserName.getSelectedItem();String sql="select * from UserInformation where User_Name='"+ name +"'";try{if(Database.query(sql)){Database.rs.next();String pas=pas3.getText();String password=Database.rs.getString("Password");System.out.println(password);if(pas.equals(password)){String sdelete="delete from UserInformation where User_Name='"+ name +"'";if(Database.executeSQL(sdelete)){new JOptionPane().showMessageDialog(null,"删除成功!");pas3.setText("");cbUserName.removeAllItems();String sql1="select * from UserInformation";if(Database.query(sql1)){while(Database.rs.next()){Stringname1=Database.rs.getString("User_Name"); cbUserName.addItem(name1);}}}}else{new JOptionPane().showMessageDialog(null,"密码不正确!");}}}catch(Exception el){System.out.println(el);}}});butDCancel.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){pas3.setText("");}});}}//修改密码类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class AmendPassword extends JInternalFrame { JLabel lbe1=new JLabel("修改密码");JPanel p=new JPanel();public AmendPassword(){setTitle("修改密码");p.add(lbe1);AmendPanel panel=new AmendPanel();Container contentPane=getContentPane(); contentPane.add(p,"North");contentPane.add(panel,"Center");setBounds(100, 100, 280, 260);this.setClosable(true);setVisible(true);}}class AmendPanel extends JPanel {JButton b1,b2;JLabel lbe2,lbe3,lbe4,lbe5; JPasswordField pas1,pas2,pas3; JComboBox tf;public AmendPanel(){lbe2=new JLabel("用户名:");lbe3=new JLabel("输入旧密码:"); lbe4=new JLabel("输入新密码:"); lbe5=new JLabel("确定新密码:"); tf=new JComboBox();pas1=new JPasswordField();pas2=new JPasswordField();pas3=new JPasswordField();b1=new JButton("确定");b2=new JButton("清空");add(lbe2);lbe2.setBounds(16,10,90,25); this.add(tf);tf.setBounds(100,10,120,25); add(lbe3);lbe3.setBounds(16,45,90,25);add(pas1);pas1.setBounds(100,45,120,25);add(lbe4);lbe4.setBounds(16,80,80,25);add(pas2);pas2.setBounds(100,80,120,25);add(lbe5);lbe5.setBounds(16,115,80,25);add(pas3);pas3.setBounds(100,115,120,25);add(b1);b1.setBounds(100,160,60,30);add(b2);b2.setBounds(160,160,60,30);setLayout(null);//将所有用用户名读出来Database.joinDB();String sql="select * from UserInformation";try{if(Database.query(sql)){while(Database.rs.next()){String name=Database.rs.getString("User_Name"); tf.addItem(name);}}}catch(Exception e){}//为确定取消按钮加事件b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){String name="" + tf.getSelectedItem();System.out.println(name);String sql="select * from UserInformation where User_Name='"+ name +"'";System.out.println(sql);try{if(Database.query(sql)){Database.rs.next();String ps1=pas1.getText();String password=Database.rs.getString("Password");if(ps1.equals(password)){if(pas2.getText().equals(pas3.getText())){String supdate="update UserInformation set Password='"+pas3.getText()+"' where User_Name='"+ name +"'";Database.executeSQL(supdate);new JOptionPane().showMessageDialog(null,"密码更改成功!");}else{new JOptionPane().showMessageDialog(null,"两次密码不同!");}}else{new JOptionPane().showMessageDialog(null,"旧密码不正确!");}}}catch(Exception el){System.out.println(el);}}});b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){pas1.setText("");pas2.setText("");pas3.setText("");}});}}//关于类package classsource;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class About extends JInternalFrame {JLabel label = new JLabel("运行环境:Windows");JLabel labe2 = new JLabel("开发语言:JAVA");JLabel labe3 = new JLabel("数据库类型:SqlServer2000"); public About(){setTitle("关于");Container con=getContentPane();con.setLayout(new GridLayout(4,1));con.add(label);con.add(labe2);con.add(labe3);con.setBackground(Color.white);setResizable(false);setSize(380,220);setVisible(true);setClosable(true);}}//员工信息查询类package classsource;import java.awt.*;import javax.swing.*;import javax.swing.table.*;import java.awt.event.*;import java.util.*;import javax.swing.JScrollPane.*;import java.sql.*;public class BIQ extends JInternalFrame{JLabel lbl1=new JLabel("基本信息查询");JLabel lbl2=new JLabel("员工编号:");JLabel lbl3=new JLabel("员工姓名:");JTextField btxtid=new JTextField(10);JTextField btxtname=new JTextField(10);JButton btn1=new JButton("查询");JTable table;DefaultTableModel dtm;String columns[] = {"员工编号","员工姓名"," 性别 ","出生日期","婚姻状况","政治面貌"," 学历 ","进入公司时间","转正时间"," 部门 "," 职务 ","员工状态"," 备注"};public BIQ(){setTitle("基本信息查询");dtm = new DefaultTableModel();table = new JTable(dtm);JScrollPane sl = new JScrollPane();sl.getViewport().add(table);dtm.setColumnCount(5);dtm.setColumnIdentifiers(columns); getContentPane().setLayout(null);lbl1.setBounds(240,10,300,30);lbl1.setFont(new Font("宋体",Font.BOLD,24)); getContentPane().add(lbl1);Font f=new Font("宋体",Font.PLAIN,12);lbl2.setBounds(10,60,80,25);lbl2.setFont(f);getContentPane().add(lbl2);btxtid.setBounds(80,60,80,23);btxtid.setFont(f);getContentPane().add(btxtid);lbl3.setBounds(10,90,80,25);lbl3.setFont(f);getContentPane().add(lbl3);btxtname.setBounds(80,90,80,23);btxtname.setFont(f);getContentPane().add(btxtname);btn1.setBounds(90,130,60,25);btn1.setFont(f);getContentPane().add(btn1);sl.setBounds(180,60,500,370);getContentPane().add(sl);//设置边框btxtid.setBorder(BorderFactory.createLineBorder(Color.black));btxtname.setBorder(BorderFactory.createLineBorder(Color.black));btn1.setBorder(BorderFactory.createRaisedBevelBorder());sl.setBorder(BorderFactory.createLineBorder(Color.black));//----连接数据库--------------------------------------------------------------------------Database.joinDB();String sql="select * from EmployeeInformation";if(Database.query(sql)){System.out.println(sql);try{while(Database.rs.next()){String eNumber=(""+Database.rs.getInt("E_Number"));System.out.println(eNumber);String eName=Database.rs.getString("E_Name");System.out.println(eName);String eSex=Database.rs.getString("E_Sex");System.out.println(eSex);String eBornDate=Database.rs.getString("E_BornDate");System.out.println(eBornDate);String eMarriage=Database.rs.getString("E_Marriage");System.out.println(eMarriage);StringePoliticsVisage=Database.rs.getString("E_PoliticsVisage"); System.out.println(ePoliticsVisage);String eSchoolAge=Database.rs.getString("E_SchoolAge"); System.out.println(eSchoolAge);String eEnterDate=Database.rs.getString("E_EnterDate"); System.out.println(eEnterDate);String eInDueFormDate=Database.rs.getString("E_InDueFormDate"); System.out.println(eInDueFormDate);String eDepartment=Database.rs.getString("E_Department"); System.out.println(eDepartment);String eHeadship=Database.rs.getString("E_Headship");System.out.println(eHeadship);String eEstate=Database.rs.getString("E_Estate");System.out.println(eEstate);String eRemark=Database.rs.getString("E_Remark");System.out.println(eRemark);Vector v=new Vector();v.add(eNumber);v.add(eName);v.add(eSex);v.add(eBornDate);v.add(eMarriage);v.add(ePoliticsVisage);v.add(eSchoolAge);v.add(eEnterDate);v.add(eInDueFormDate);v.add(eDepartment);v.add(eHeadship);v.add(eEstate);v.add(eRemark);dtm.addRow(v);}}catch(Exception eBIQ){System.out.println("初始化数据失败!");}}//为查询按钮加事件btn1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent eBIQ){ System.out.println("按钮事件");String esql;int rc=dtm.getRowCount();for(int i=0;i<rc;i++){dtm.removeRow(0);}if(btxtid.getText().equals("")&&btxtname.getText().equals("")){ esql="select * from EmployeeInformation";}else if(btxtname.getText().equals("")){esql="select * from EmployeeInformation where E_Number = '" + btxtid.getText() +"'";}else{esql="select * from EmployeeInformation where E_Number = '" + btxtid.getText() +"' or E_Name like '%"+ btxtname.getText() +"%'";}System.out.println(esql);if(Database.query(esql)){try{while(Database.rs.next()){String eNumber=(""+Database.rs.getInt("E_Number"));System.out.println(eNumber);String eName=Database.rs.getString("E_Name");System.out.println(eName);。
人员管理经典数据表设计方案

人员管理经典数据表设计方案设计一个人员管理的经典数据表,通常需要考虑人员的基本信息、联系方式、工作经历、教育背景等。
以下是一个简单的人员管理数据表设计方案,基于SQL语言:1. 人员信息表 (Personnel)PersonnelID (主键, 自增)FirstNameLastNameDateOfBirthGenderAddressPhoneNumberEmailJoinDateStatus (例如:在职、离职、实习生等)2. 部门信息表 (Department)DepartmentID (主键, 自增)DepartmentNameDepartmentDescription3. 职位信息表 (Job)JobID (主键, 自增)JobTitleJobDescription4. 人员与职位关联表 (PersonnelJob)ID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID) JobID (外键, 关联到Job表的JobID)5. 员工入职表 (Hire)HireID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID)DepartmentID (外键, 关联到Department表的DepartmentID) JobID (外键, 关联到Job表的JobID)HireDate6. 员工离职表 (Quit)QuitID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID)QuitDate7. 员工教育背景表 (Education)EducationID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID)DegreeType (例如:学士、硕士、博士等)SchoolNameGraduationDate8. 员工工作经历表 (Experience)ExperienceID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID)CompanyNamePositionTitleStartDateEndDate9. 员工培训记录表 (Training)(如果需要)TrainingID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID)TrainingNameTrainingDate10. 员工奖惩记录表 (Recognition)(如果需要)RecognitionID (主键, 自增)PersonnelID (外键, 关联到Personnel表的PersonnelID)RecognitionType (例如:奖励、惩罚等)DescriptionDateAwarded/DatePenalized(根据RecognitionType判断)这只是一个基础的人员管理数据表设计方案,根据实际需求,可能还需要添加更多的字段或关联更多的表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
建立数据库:
create database 数据库
建表:
create table 部门信息表
(部门编号char(2) primary key ,
部门名称nchar(14) ,
部门职能nchar(14),
部门人数char (4)
)
go
create table 管理员信息表
(用户名nchar(4) primary key ,
密码char(10) ,
)
go
create table 用户信息表
(用户名char(10) primary key ,
用户类型char(10),
密码char(10)
)
go
create table 员工工作岗位表
(姓名nchar(4) primary key ,
员工编号char(4)
工作岗位nchar(3) ,
部门名称nchar(10),
参加工作时间char (4)
)
go
create table 员工学历信息表
(姓名nchar(4) primary key ,
员工编号char(4)
学历nchar(2) ,
毕业时间char(10),
毕业院校nchar (10),
外语情况nchar(10),
专业nchar(10)
)
go
create table 员工婚姻情况表
(姓名nchar(4) primary key ,
员工编号char(4)
婚姻情况nchar(2) ,
配偶姓名nchar(4),
配偶年龄char (3),
工作单位nchar(10),
)
go
create table 员工基本信息表
(员工编号char(4) primary key ,
姓名nchar(4) ,
性别nchar(1),
民族nchar (3),
出生年月char(14),
学历nchar(10),
政治面貌nchar(3),
婚姻状况nchar(2),
部门名称nchar(10),
工作岗位nchar(10),
)
建立视图:
CREATE VIEW 按员工工作岗位查询
as
SELECT 员工工作岗位表.工作岗位, 员工基本信息表.员工编号,
员工基本信息表.姓名, 员工基本信息表.性别, 员工基本信息表.出生年月, 员工基本信息表.学历, 员工基本信息表.婚姻状况,
员工基本信息表.部门名称
FROM 员工工作岗位表INNER JOIN
员工基本信息表ON 员工工作岗位表.姓名= 员工基本信息表.姓名
go
CREATE VIEW 按员工详细信息查询
as
SELECT 员工基本信息表.*
FROM 员工基本信息表
go
CREATE VIEW 按参加工作时间查询
as
SELECT 员工工作岗位表.参加工作时间, 员工工作岗位表.工作岗位, 员工基本信息表.员工编号, 员工基本信息表.姓名, 员工基本信息表.性别,
员工基本信息表.出生年月, 员工基本信息表.部门名称
FROM 员工工作岗位表INNER JOIN
员工基本信息表ON 员工工作岗位表.姓名= 员工基本信息表.姓名触发器的建立
delete触发器:
create trigger 删除员工1 ON 员工工作岗位表
for delete
AS
BEGIN
DELETE FROM 员工基本信息表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工2 ON 员工学历信息表
for delete
AS
BEGIN
DELETE FROM 员工基本信息表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工3 ON 员工婚姻情况表
for delete
AS
BEGIN
DELETE FROM 员工基本信息表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工4 ON 员工基本信息表
for delete
AS
BEGIN
DELETE FROM 员工工作岗位表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工5 ON 员工基本信息表
for delete
AS
BEGIN
DELETE FROM 员工学历信息表WHERE 员工编号IN( SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工6 ON 员工基本信息表
for delete
AS
BEGIN
DELETE FROM 员工婚姻情况表WHERE 员工编号IN( SELECT 员工编号FROM DELETED
)
end
Update触发器:
Create Trigger 修改编号1
On 员工基本信息表
for Update
As
if Update(员工编号)
begin
Update 员工工作岗位表
Set 员工编号=i.员工编号
From 员工工作岗位表br , Deleted d ,Inserted i
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改编号2
On 员工基本信息表
for Update
As
if Update(员工编号)
begin
Update 员工学历信息表
Set 员工编号=i.员工编号
From 员工学历信息表br , Deleted d ,Inserted i
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改编号3
On 员工基本信息表
for Update
As
if Update(员工编号)
begin
Update 员工婚姻情况表
Set 员工编号=i.员工编号
From 员工婚姻情况表br , Deleted d ,Inserted i
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号1
On 员工工作岗位表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表a , Deleted d ,Inserted i
Where a.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号2
On 员工学历信息表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表a , Deleted d ,Inserted i
Where a.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号3
On 员工婚姻情况表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表a , Deleted d ,Inserted i
Where a.员工编号=d.员工编号
end
存储过程的建立:
CREATE PROC 按婚姻查找
@婚姻状况nchar(2)
AS select 员工基本信息表.员工编号,员工基本信息表.姓名,员工婚姻情况表.婚姻情况,员工婚姻情况表.配偶姓名
from 员工基本信息表inner join
员工婚姻情况表on 员工基本信息表.员工编号=员工婚姻情况表.员工编号
where 员工婚姻情况表.婚姻情况=@婚姻状况
order by 员工基本信息表.员工编号
CREATE PROC 按学历查找
@员工学历nchar(4)
AS select 员工基本信息表.员工编号,员工基本信息表.姓名,员工学历信息表.学历,
员工学历信息表.毕业院校,员工学历信息表.专业
from 员工基本信息表inner join
员工学历信息表on 员工基本信息表.员工编号=员工学历信息表.员工编号
where 员工学历信息表.学历=@员工学历
order by 员工基本信息表.员工编号。