企业人事管理系统数据库设计

合集下载

企业人事管理系统数据库课程设计

企业人事管理系统数据库课程设计

设计任务书指导教师(签章):年月日摘要:随着网络的发展越来越快,网络办公自动化应运而生,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。

企业人事管理系统的设计,为大小企业的工作管理带来便利,使得管理体制更加完善,工作水平和效率得以提高。

信息技术为企业的发展提供了机遇,也带来了挑战。

如何改良企业内部经营机制,公正、客观、全面、快捷地评估员工的业绩,实现以人为本的经营战略,提高人事管理工作的效率,使人事管理员有更多的精力去做人力资源分析、研究和开发工作,是企业立足发展,开拓未来,领先同行业的关键。

此次的企业人事管理系统是采用Sql Server2005作为开发数据库的工具,还使用Visual Studio2008作为开发平台的动态网站系统。

企业人事管理系统的具体功能可以根据用户的需要来分配,但主要还是包括企业人事的信息添加,删除,修改,查找,同时也包括权限的分配,职务的调动等。

在企业人事管理系统中,用户能够方便的企业人事进行信息的检索与处理。

关键词:企业人事管理系统;信息技术;SQL Server 2005;信息管理目录1 项目需求分析 (1)可行性分析 (1)功能描述 (2)用户活动流程 (2)2 项目概念设计 (3)概念模型 (3)功能模块设计 (4)E-R图表示概念模型 (4)设计原理和算法 (6)3 项目逻辑结构设计 (6)4项目物理结构设计 (7)5 主要代码编写 (9)protected void Button1_Click(object sender, EventArgs e) (11){ (11)SqlConnection conn = new SqlConnection["人事管理系统ConnectionString"].ConnectionString); (11)DataSet ds = new DataSet(); (11)(); (11)string sql = "select * from 人事档案信息表 where 姓名=@name"; (11)SqlCommand cmd = new SqlCommand(sql, conn); (11)"@name", , 50).Value = SqlDataAdapter ad = new SqlDataAdapter(cmd); (11)(ds); (11)if [0]. > 0) (11){ (11)= ; (11)= ds; (11)} (11)else (11){ (11)= "用户名密码错误!"; (11)} (11)6 项目测试 (12)使用说明 (12)功能界面 (12)总结 (16)参考文献 (17)1 项目需求分析企业人事管理系统中,用户可分为两种,一种是系统管理员,维护管理系统中的基础数据;另一种是企业领导,浏览信息。

《企业人事管理系统》数据库设计

《企业人事管理系统》数据库设计

《企业人事管理系统》数据库设计班级:学号姓名:一.需求分析1.1本课题的研究背景互联网的高速发展,信息化的迅速蔓延,使企业的信息化管理出现了新的方向。

一个现代化的企业想要生存和发展,必须跟上信息化的步伐,用先进的信息化技术来为企业的管理节约成本、制定规划。

而人才作为企业生存和发展的根本,在企业的管理中始终占有着重要的地位。

对企业的人才进行良好的人事管理既有助于企业高层和人事管理人员动态、及时地掌握企业的人事信息,制定人才招聘和发展规划,也有利于企业优化改革,精简机构,最终实现人事管理的信息化建设。

在此形势下,我们开发了此套人事管理系统,可应用于大部分的企事业单位,管理人员可查询员工考勤、薪资、档案等相关信息并可对其进行维护,普通员工[1]可在管理人员授权后进行相应的查询等操作。

1.2国内外研究现状国外专家学者对人事管理系统的研究起步比较早,发达国家的企业非常注重自身人事管理系统的开发。

特别是一些跨国公司,更不惜花费大量的人力和物力来开发相应的人事管理系统,通过建立一个业务流的开发性系统实现真正意义上的人事管理目标,挑选和留住最佳人才,同时不断提高这些人才的工作效益。

例如:苹果公司的企业员工人事管理系统便是一个很好的典范。

我国的信息管理系统是九十年代初开始快速发展的。

经过十余年的发展,我国的数据库管理技术也广泛的应用于各个领域,并且形成了产业化。

但是,我们的工厂、企业对信息管理系统的应用比起世界先进水平还相当落后。

主要表现在:人事管理系统范围使用相对狭窄、人事管理系统功能相对欠缺、稳定性较差、功能相对单一等。

1.3本课题的主要工作人事管理系统是一个面向企业人事部门工作人员,为其提供服务的综合信息管理系统。

企业员工通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。

员工的个人信息等都记录在人事系统里进行管理。

企业下设人事部门,[2]全权处理企业内部一切人事事物。

二、概念设计通过了解:一个企业人事管理系统应该包括:职员信息录入、信息查询、信息修改,信息删除,信息维护等模块。

人力资源管理系统数据库设计

人力资源管理系统数据库设计

人力资源管理系统数据库设计人力资源管理系统的数据库设计是一个关键的步骤,它涉及到人事信息管理、员工考勤、薪资管理、招聘管理等多个方面。

一个合理和高效的数据库设计可以提高系统的运行效率和数据的安全性。

以下是一个示例的人力资源管理系统的数据库设计。

首先,我们需要创建员工信息表(Employee)来存储员工的个人信息。

该表包括以下字段:-员工ID:一个唯一的标识符,主键。

-姓名:员工的姓名。

-性别:员工的性别。

-出生日期:员工的出生日期。

-职位:员工的职位。

-部门:员工所属部门。

接下来,我们创建员工考勤表(Attendance)来记录员工的考勤情况。

该表包括以下字段:-考勤ID:一个唯一的标识符,主键。

-员工ID:外键,关联到员工信息表的员工ID字段。

-考勤日期:员工的考勤日期。

-上班时间:员工的上班时间。

-下班时间:员工的下班时间。

然后,我们创建薪资信息表(Salary)来记录员工的薪资信息。

该表包括以下字段:-薪资ID:一个唯一的标识符,主键。

-员工ID:外键,关联到员工信息表的员工ID字段。

-发放日期:薪资的发放日期。

-基本工资:员工的基本工资。

-奖金:员工的奖金。

-扣款:薪资的扣款项。

此外,我们还需要创建招聘信息表(Recruitment)来记录公司的招聘信息。

该表包括以下字段:-招聘ID:一个唯一的标识符,主键。

-职位:招聘的职位。

-部门:招聘的部门。

-公司名称:招聘的公司名称。

-薪资范围:招聘的薪资范围。

-招聘人数:招聘的人数。

最后,我们需要创建管理员信息表(Admin)来存储管理员账号和密码以及其他相关信息。

-管理员ID:一个唯一的标识符,主键。

-用户名:管理员的用户名。

-密码:管理员的密码。

-姓名:管理员的姓名。

以上是一个示例的人力资源管理系统的数据库设计,可以根据实际需求进行调整和扩展。

另外,为了保证数据的安全性,我们还可以对表进行索引和约束的设置,并定期进行数据备份和恢复操作。

人事管理系统数据库设计

人事管理系统数据库设计

人事管理系统数据库设计1.序言在需求剖析阶段已经画出了每个模块需要的数据的E-R 图,在数据库设计阶段依据这些E-R 图写出对应的数据词典。

Induction n. 任职2.数据词典表 2-1 职工任职表 PersonInductionInfo :字段名称数据种类能否为空拘束条件说明PersonnelId CHAR(10) NOT NULL 主键职工号PersonnelName CHAR(10) NOT NULL 无职工姓名Sex CHAR(4) NULL 无职工性别Department CHAR(20) NULL 无所在部门Position CHAR(10) NULL 无职位PositionalTitle CHAR(10) NULL 无职称DateIntoCompany DATETIME NULL 无进企业日期表 2-2 部门表 DepartmentInfo :字段名称数据种类能否为空拘束条件说明DepartmentId CHAR(10) NOT NULL 主键部门编号Department CHAR(10) NULL 无部门名称DeparmentIntroduction CHAR(60) NULL 无简介表 2-3 职位表 PsoitionInfo :字段名称数据种类能否为空拘束条件说明PositionId CHAR(10) NOT NULL 主键职位编号Position CHAR(20) NULL 无职位名表 2-4职称表PositionalTitleInfo:字段名称数据种类能否为空拘束条件说明PositionalTitleId CHAR(10) NOT NULL 主键职称编号PositionalTitle CHAR(20) NULL 无职称名表 2-5 培训记录表TrainingInfo:字段名称数据种类能否为空拘束条件说明TrainingId CHAR(10) NOT NULL 主键培训记录号PersonnelId CHAR(10) NOT NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名PersonnelStyle CHAR(10) NULL 无职工种类TrainingCourse CHAR(10) NULL 无培训课程TrainingHours CHAR(4) NULL 无培训时数TrainingScores CHAR(4) NULL 无培训成绩TrainingExpense CHAR(4) NULL 无培训花费TrainingStart DATETIME NULL 无培训开始日期TrainingEnd DATETIME NULL 无培训结束日期TrainingRemark VARCHAR(50) NULL 无培训备注表 2-6 培训程表 CourseInfo :字段名称数据种类能否为空拘束条件说明CourseCode CHAR(10) NOT NULL 主键课程代码CourseName CHAR(10) NOT NULL 无课程名称CourseDeparment CHAR(10) NULL 无课程主办部门StudentsType CHAR(10) NULL 无讲课对象TeachingHours INT(4) NULL 无讲课时数PlannedStartTime DATETIME NULL 无计划开始日期PlannedEndTime DATETIME NULL 无计划结束日期ActualStartTime DATETIME NULL 无实质开始日期ActualEndTime DATETIME NULL 无实质结束日期AccruedHeadcount INT(4) NULL 无应参训人数AttendedHeadcount INT(4) NULL 无实质参训人数CourseRemark VACHAR(50) NULL 无课程备注probationary[pr ?u’ bei??n?ri]adj.试用的 ,缓刑的表 2-7试用期合同表ProbationaryContractInfo:字段名称数据种类能否为空拘束条件说明ProbationaryId CHAR(10) NOT NULL 主键试用期合同编号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门PositionalTitle CHAR(10) NULL 无职称ProbationaryDays INT(4) NULL 无试用天数ProbationaryStartTime DATETIME NULL 无试用开始日期ProbationaryEndTime DATETIME NULL 无试用结束日期ProbationarySalary INT(4) NULL 无试用月薪表 2-8 正式合同表 OficialContractInfo :字段名称数据种类能否为空拘束条件说明OficialContractId CHAR(10) NOT NULL 主键正式合同编号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Position CHAR(10) NULL 无职位FirstStartTime DATETIME NULL 无初次签署日期FirstEndTime DATETIME NULL 无初次结束日期FirstContractTerm INT(4) NULL 无初次合同限期LastEndTime DATETIME NULL 无最后到期日期RenewTimes INT(4) NULL 无续签次数RenewTotalMonths INT(4) NULL 无续签总月数ProbationaryDays INT(4) NULL 无试用天数TotalContractYears INT(4) NULL 无合同累计年数ProbationarySalary INT(4) NULL 无试用月薪OfficalSalary INT(4) NULL 无正式月薪DateIntoCompany DATETIME NULL 无进入企业日期表 2-9续签表RenewContractInfo:字段名称数据种类能否为空拘束条件说明RenewContractId CHAR(10) NOT NULL 主键续签号OfficalContractId CHAR(4) NOT NULL 无正式合同号RenewStartTime DATETIME NULL 无续签开端日期RenewEndTime DATETIME NULL 无续签结束日期RenewMonths INT(4) NULL 无续签月数表 2-10 日期考勤表 AttendanceInfo :字段名称数据种类能否为空拘束条件说明AttendanceId CHAR(10) NOT NULL 主键考勤号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位AttendanceTypesName CHAR(10) NULL 无考勤种类AttendanceTime DATETIME NULL 无考勤日期AttendanceRemark DATETIME NULL 无考勤备注表 2-11 考勤种类表 AttendanceTypesInfo :字段名称数据种类能否为空拘束条件说明AttendanceTypesId CHAR(10) NOT NULL 主键考勤种类号AttendanceTypesName CHAR(10) NOT NULL 无考勤种类表 2-12 告假表 VacateInfo :字段名称数据种类能否为空拘束条件说明VavateId CHAR(10) NOT NULL 主键告假编号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Sex CHAR(4) NULL 无性别Deparment CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位VacateDays INT(4) NULL 无告假天数VacateStartTime DATETIME NULL 无告假开始日期VacateEndTime DATETIME NULL 无告假结束日期VacateTime DATETIME NULL 无告假日期VacateResult VACHAR(50) NULL 告假原由ApprovalDepartment CHAR(10) NULL 同意部门Approver CHAR(10)NULL同意人表 2-13 出差登记表 BusinessTripInfo:字段名称数据种类能否为空拘束条件说明BusinessTripId CHAR(10) NOT NULL 主键出差登记号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位BusinessDays INT(4) NULL 无出差天数BusinessStartTime DATETIME NULL 无出差开始时间BusinessEndTime DATETIME NULL 无出差结束时间BusinessDstination CHAR(20) NULL 无出差地BusinessResult CHAR(20) NULL 无出差原由表 2-14 奖励表 RewardsInfo :字段名称数据种类能否为空拘束条件说明RewardsId CHAR(10) NOT NULL 主键奖励编号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位AwardMoney INT(4) NULL 无奖金RewardTime DATETIME NULL 无奖励时间RewardResult VACHAR(50) NULL 无奖励原由表 2-15 处罚表 PunishmentInfo :字段名称PunishmentId 数据种类CHAR(10)能否为空NOT NULL拘束条件主键说明处罚编号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位FinedMoney INT(4) NULL 无罚金PunishTime DATETIME NULL 无处罚日期PunishResult VACHAR(50) NULL 无处罚原由表 2-16 职工调换表 TransferredInfo :字段名称数据种类能否为空拘束条件说明TransferredId CHAR(10) NOT NULL 主键调换登记号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名DepartmentBefore CHAR(10) NULL 无调前部门PositionBefore CHAR(10) NULL 无调前职位DepartmentAfter CHAR(10) NULL 无调后部门PositionAfter CHAR(10) NULL 无调后职位TransferredTime DATETIME NULL 无调换日期TransferredResult VACHAR(50) NULL 无调换原由表 2-17 绩效考评表 PAInfo:字段名称数据种类能否为空拘束条件说明PAId CHAR(10) NOT NULL 主键考评号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位PATime DATETIME NULL 无考评日期PAStyles CHAR(10) NULL 无考评种类PAValues INT(4) NULL 无分值PAAssessment VACHAR(50) NULL 无考评评论EvaluaterId CHAR(10) NULL 无考评人编号EvaluaterName CHAR(10) NULL 无考评人姓名EvaluaterPosition CHAR(10) NULL 无考评人职位表 2-18 考评种类表PAStylesInfo :字段名称数据种类能否为空拘束条件说明PAStylesId CHAR(10) NOT NULL 主键考评种类号PAStyles CHAR(10) NOT NULL 无考评种类名表 2-19 职工解聘登记表 TerminationInfo:字段名称数据种类能否为空拘束条件说明TerminationId CHAR(10) NOT NULL 主键解聘登记号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位TerminationTime DATETIME NULL 无解聘时间TerminationResult VACHAR(50) NULL 无解聘原由StopSalaryTime DATETIME NULL 无停薪日期表 2-20 帐套表 AccountCoverInfo :字段名称数据种类能否为空拘束条件说明AccountCoverId CHAR(10) NOT NULL 主键帐套编号AccountCoverName CHAR(10) NULL 无帐套名AccountCoverRemark VACHAR(20) NULL 无帐套说明表 2-21 项目表 ItemInfo :字段名称数据种类能否为空拘束条件说明ItemId CHAR(10) NOT NULL 主键项目号ItemName CHAR(10) NULL 无项目名ItemStyle CHAR(10) NULL 无项目种类ItemUnit CHAR(4) NULL 无项目单位IFAttendance INT(4) NULL 无能否联系考勤表 2-22 帐套项目设置表 AccountCoverItemInfo :字段名称数据种类能否为空拘束条件说明AccountCoverId CHAR(10) NOT NULL 主键帐套号ItemId CHAR(10) NULL 无项目号Money INT(4) NULL 无金额表2-23 帐套人员设置表AccountCoverPersonnelInfo :字段名称数据种类能否为空拘束条件说明AccountCoverId CHAR(10) NOT NULL 主键帐套号PersonnelId CHAR(10)NOT NULL无职工编号表 2-24 薪资表 WageInfo :字段名称数据种类能否为空拘束条件说明WageId CHAR(10) NOT NULL 主键薪资号PersonnelId CHAR(10) NULL 无职工编号PersonnelName CHAR(10) NULL 无职工姓名Department CHAR(10) NULL 无部门Position CHAR(10) NULL 无职位BasicWage INT(4) NULL 无基本薪资FinalWage INT(4) NULL 无实发薪资WageYear DATETIME NULL 无薪资年份WageMonth INT(4) NULL 无薪资月份RetirementInsurance INT(4) NULL 无养老保险Subsidise INT(4) NULL 无补助MedicalInsurance INT(4) NULL 无医疗保险HousingFund INT(4) NULL 无住宅基金EmploymentInsurance I NT(4) NULL 无失业保险AwardMoney INT(4) NULL 无奖金FinedMoney INT(4) NULL 无罚金备注:薪资表还有一些数据项,这些数据项是考勤种类,与考勤种类表相关,故没有列出。

人事管理系统数据库设计

人事管理系统数据库设计

人事管理系统数据库设计需求
1.员工管理:建立员工档案表,管理员工的基本信息和变动信息,支持按条件(如婚姻状况、学历等)查询。

也要实现管理员工在单位的变动情况,包含岗位变动(不同部门不同职位的变动(根据员工调动表),可以实现单个人的变动也可以实现集体变动)、工资、学历变动等。

2.部门查询:可以根据不同条件(如部门编号)查询到详细的部门信息。

3.考勤管理:可以查询当天应到人数及实到人数。

根据出勤明细等数据,对考勤、请假情况进行分类统计并显示。

4.请假管理:登记、审核员工请假信息,可按多种条件查询请假记录。

5.培训记录:可以根据培训课程、培训的开始、结束时间,查询受培训员工的基本信息。

也可以根据员工编号、姓名、部门查询某位员工参加的的培训课程及最终的培训成绩。

6.工资管理:可预先设定员工的基本工资;系统可以根据条件自动计算员工的最终工资,工资表的数据项可以批量修改。

7.员工解聘:可以根据部门、解聘时间查询解聘员工的基本信息。

8.奖励/惩罚管理:可以根据奖励/惩罚的时间查询受到过奖励/惩罚的员工信息,也可以根据员工的编号、姓名、部门、职位查询某位员工所受过的奖励/惩罚。

表2-1员工就职表
表2-2 部门表
表2-3考勤表
表2-4请假表
表2-5 工资表
表2-6奖惩表
表2-7员工调动表
表2-8 员工离职登记表
表2-9 用户密码权限表
表2-10员工档案表。

人事管理系统-数据库设计说明书

人事管理系统-数据库设计说明书

人事管理系统-数据库设计说明书(总8页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除1引言 ...................................................................................................... 错误!未定义书签。

编写目的....................................................................................................... 错误!未定义书签。

背景 .............................................................................................................. 错误!未定义书签。

定义 .............................................................................................................. 错误!未定义书签。

参考资料....................................................................................................... 错误!未定义书签。

2外部设计............................................................................................... 错误!未定义书签。

标识符和状态............................................................................................... 错误!未定义书签。

企业人事管理系统的数据库设计

企业人事管理系统的数据库设计

企业人事管理系统的数据库设计一、概述:企业人事管理系统的数据库设计是指为了实现企业内部的人事管理工作,将涉及到的各种信息数据进行有效的存储和管理,为企业的人事工作提供支持和便利。

一个好的数据库设计能够提高人事管理工作的效率和准确性,使得整个企业的人事管理更加科学和合理。

二、数据库设计:1.数据库表设计:(1)员工表:用于存储企业员工的基本信息,包括员工ID、姓名、性别、出生日期、入职日期、所在部门、职位等。

(2)部门表:用于存储企业部门的信息,包括部门ID、部门名称、部门经理等。

(3)职位表:用于存储企业职位的信息,包括职位ID、职位名称、职位描述等。

(4)薪资表:用于存储企业员工的薪资信息,包括员工ID、薪资等级、基本工资、奖金、扣款等。

(5)请假表:用于存储员工请假的信息,包括请假ID、员工ID、请假开始日期、请假结束日期、请假类型、请假原因等。

(6)考勤表:用于存储员工考勤的信息,包括员工ID、考勤日期、上班时间、下班时间、考勤状态等。

2.数据库表之间的关系设计:(1)员工表和部门表之间的关系:一个员工属于一个部门,一个部门可以有多个员工,因此员工表和部门表之间为一对多的关系。

(2)员工表和职位表之间的关系:一个员工担任一个职位,一个职位可以有多个员工,因此员工表和职位表之间为一对多的关系。

(3)员工表和薪资表之间的关系:一个员工有一份薪资信息,一个薪资信息只属于一个员工,因此员工表和薪资表之间为一对一的关系。

(4)员工表和请假表之间的关系:一个员工可以有多次请假记录,一次请假记录只属于一个员工,因此员工表和请假表之间为一对多的关系。

(5)员工表和考勤表之间的关系:一个员工可以有多次考勤记录,一次考勤记录只属于一个员工,因此员工表和考勤表之间为一对多的关系。

3.数据表字段设计:(1)员工表的字段:员工ID、姓名、性别、出生日期、入职日期、部门ID、职位ID等。

(2)部门表的字段:部门ID、部门名称、部门经理等。

人事管理系统数据库课程设计报告

人事管理系统数据库课程设计报告

人事管理系统数据库课程设计报告一、项目概述随着信息化和智能化的发展,各行各业都在程度上的引入计算机等技术手段。

而人事管理系统作为一种集成计算机技术,信息处理和社会人事管理相结合的管理模式,正在逐渐成为各大企业的标配,以管人为本成为共识。

因此,为了更好地管理企业内部人员,本文将详细介绍一款“人事管理系统数据库”课程的设计报告。

二、需求分析1. 功能需求:(1)员工信息管理: 实现员工信息的增、删、改、查等操作;(2)薪资管理:实现薪资的增、删、改、查等操作;(3)职位管理:进行职位添加、职位调整等操作;(4)培训管理:对员工培训情况进行记录和查询;(5)统计分析:生成各种统计报表;2. 性能需求:此系统为企业内部使用,需要在一定的时间内完成数据的录入和查询,同时对数据库的性能有一定要求。

3. 安全需求:为了确保企业内部数据的安全,必须对系统的访问进行一定的权限分配。

三、系统设计1. 概念结构设计本项目使用统一的“员工信息”作为核心数据,通过包括“薪资信息”、“职位信息”、“培训信息”等辅助数据来构建系统所需要的各种功能。

其中,“员工信息”包括员工的基本信息、薪资信息和职位信息,“培训信息”用于记录员工的培训情况。

2. 数据库设计本系统使用MySQL数据库。

根据以上分析,设计了以下几个数据库表:(1) 员工信息表(emp): id, name, age, gender, department, position, salary;(2) 薪资信息表(salary): id, emp_id, base_salary, bonus;(3) 职位信息表(position): id, position_name,position_desc;(4) 培训信息表(training): id, emp_id,training_name, training_desc, training_date。

在设计表结构时,需要考虑数据类型合理、数据冗余避免、数据关系建立等问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《企业人事管理系统》数据库设计班级:学号姓名:一.需求分析1.1本课题的研究背景互联网的高速发展,信息化的迅速蔓延,使企业的信息化管理出现了新的方向。

一个现代化的企业想要生存和发展,必须跟上信息化的步伐,用先进的信息化技术来为企业的管理节约成本、制定规划。

而人才作为企业生存和发展的根本,在企业的管理中始终占有着重要的地位。

对企业的人才进行良好的人事管理既有助于企业高层和人事管理人员动态、及时地掌握企业的人事信息,制定人才招聘和发展规划,也有利于企业优化改革,精简机构,最终实现人事管理的信息化建设。

在此形势下,我们开发了此套人事管理系统,可应用于大部分的企事业单位,管理人员可查询员工考勤、薪资、档案等相关信息并可对其进行维护,普通员工[1]可在管理人员授权后进行相应的查询等操作。

1.2国内外研究现状国外专家学者对人事管理系统的研究起步比较早,发达国家的企业非常注重自身人事管理系统的开发。

特别是一些跨国公司,更不惜花费大量的人力和物力来开发相应的人事管理系统,通过建立一个业务流的开发性系统实现真正意义上的人事管理目标,挑选和留住最佳人才,同时不断提高这些人才的工作效益。

例如:苹果公司的企业员工人事管理系统便是一个很好的典范。

我国的信息管理系统是九十年代初开始快速发展的。

经过十余年的发展,我国的数据库管理技术也广泛的应用于各个领域,并且形成了产业化。

但是,我们的工厂、企业对信息管理系统的应用比起世界先进水平还相当落后。

主要表现在:人事管理系统范围使用相对狭窄、人事管理系统功能相对欠缺、稳定性较差、功能相对单一等。

1.3本课题的主要工作人事管理系统是一个面向企业人事部门工作人员,为其提供服务的综合信息管理系统。

企业员工通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。

员工的个人信息等都记录在人事系统里进行管理。

企业下设人事部门,[2]全权处理企业内部一切人事事物。

二、概念设计通过了解:一个企业人事管理系统应该包括:职员信息录入、信息查询、信息修改,信息删除,信息维护等模块。

整个系统模块划分如下图:企业人事信息管理系统身职职人企退份员员事业出登密查信部系录码询息门统模修模管管模块块块改理理模模模块块块1. 身份登录模块身份登录模块管理员登录职工登录企业的所有员工均需通过密码认证方可进入系统。

职员进入查询界面,管理员进入职员信息更改界面。

2. 职员密码修改模块企业的员工在注册后,登录自己的信息界面,把自己的注册时的默认密码更改为自己的密码。

3. 职员查询模块职员可通过职务和部门来查询有关职员的信息,系统通过职员输入的信息调用数据库中的存储过程,并把结果显示在界面上。

4. 人事信息管理模块人事信息管理模块人人人人事事事事信信信信息息息息查录删更询入除改对于人事管理员和企业职员,都能进行信息的查询,职员的信息包括:职员编号,姓名,性别,身份证号码,职务,注册日期,部门编号,部门名称,工资,奖金,奖惩情况。

公司的管理员可对人事信息进行查询,录入,更改,删除,普通员工只能够对其信息的查询以及对自己的密码进行修改。

5. 企业部门管理模块企业部门管理模块企企企企业业业业部部部部门门门门查录删更询入除改企业的每一名职员都有所对应的部门,有时候,企业会根据自身的情况来对部门进行管理或对其职能做出相应的调整,因而,本系统将部门的企业部门作为一个模块来进行管理,方便日后的操作。

企业部门的信息包括:部门编号,部门名称,负责人,部门简介。

管理员可对其进行查询,录入,删除,更改操作。

6. 退出系统模块企业职员和管理员在进行完一系列操作后,可通过主菜单返回到登录界面,然后点击安全退出,方可退出本系统。

四: E-R图职员编号姓名性别身份证号码职务注册时间密码部门名称职员n工资m1所属管理奖惩情况属于部门编号111部门管理员密码名称职员密码负责人用户名部门名称职员编号密码三、逻辑设计逻辑设计就是把E-R图转换成关系模式,并对其进行优化。

3.1 E-R图向关系模型的转换原则:(1)一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键;(2)一个联系转换为一个关系模式,和该联系相连的每个实体型的键及联系的属性都转换为关系的属性。

这个关系的键分为以下三种不同的情况:若联系为1:1,则相连的每个实体型的键均是该关系模式的侯选键。

若联系为1:n,则联系对应的关系模式的键取n端实体型的键。

若联系为m:n,则联系对应的联模式的键为参加联系的诸实体型的键的组合。

在上述经由E-R模型得到关系模式并且得到适当的调整后,我们可以结合在需求表述中数据字典包含的数据项信息,得到数据库的表结构(具体设计各个数据表的表结构,包括表名,表中各列的字段名、数据类型、数据长度和表的主键和外键;还要考虑应该建立哪些索引以及索引的类型)。

需要指出的是,考虑到系统的统一兼顾如对数据库管理员和后续软件开发中对数据库管理以及编程引用的便利,表名和字段名的命名应该由表名的英文含义的词语为主或以其缩写字母构成;同时要为各个表名和字段名作出完整的中文文档说明。

表1:管理员表(manage)字段类型长度值用户名 char 10 不为空密码 Int 10 不为空表2:职员信息表(clerk)字段类型长度值职员编号(主码) char 10 不为空密码 char 10 不为空姓名 char 10 不为空性别 char 4 不为空身份证号码 char 20 不为空部门名称(外码) char 5 不为空职务 char 10 不为空注册时间 Datetime 10 不为空工资 Longing 6 -奖惩情况 Char 100 -表3:企业部门表(dep)字段类型长度值部门编号 char 10 不为空部门名称(主码) char 10 不为空负责人 char 10 不为空部门简介 char 500 -表4:职员密码表(clerkscrect)字段类型长度值职员编号 char 10 不为空密码 Int 10 不为空…四、物理设计数据库的物理设计任务,主要是将逻辑设计映射到存储介质上,利用可用的硬件和软件条件能可靠地、高效地对数据进行物理访问和维护。

存储介质及其存储模式是任何关系数据库的关键组件。

数据库的成功执行通常需要在工程的前期阶段精心设计,其中主要考虑的内容:①使用哪种类型的磁盘硬件,如 RAID(独立磁盘冗余阵列)设备;②数据在磁盘上如何放置即数据的分配策略;③从访问性能的角度采用适当的索引技术和设计具体的索引项;④以及基于特定数据库有关的参数配置以使数据库很好地运行。

五、数据库的建立和测试主要内容:/*======================================================== ======*//* DBMS name: Sybase SQL Anywhere 10 *//* Created on: 2013-6-25 14:07:33 *//*======================================================== ======*/if exists(select 1 from sys.sysforeignkey where role='FK_EMPLOYEE_属于_CLERKSCR') thenalter table Employeedelete foreign key FK_EMPLOYEE_属于_CLERKSCRend if;if exists(select 1 from sys.sysforeignkey where role='FK_EMPLOYEE_所属_DEPT') thenalter table Employeedelete foreign key FK_EMPLOYEE_所属_DEPTend if;if exists(select 1 from sys.sysforeignkey where role='FK_EMPLOYEE_管理_MANEGER') thenalter table Employeedelete foreign key FK_EMPLOYEE_管理_MANEGERend if;if exists(select 1 from sys.sysforeignkey where role='FK_CLERKSCR_属于2_EMPLOYEE') thenalter table clerkscrectdelete foreign key FK_CLERKSCR_属于2_EMPLOYEEend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='管理_FK'and t.table_name='Employee') thendrop index Employee.管理_FKend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='所属_FK'and t.table_name='Employee') thendrop index Employee.所属_FKend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='Employee_PK'and t.table_name='Employee') thendrop index Employee.Employee_PKend if;if exists(select 1 from sys.systablewhere table_name='Employee'and table_type in ('BASE', 'GBL TEMP')) thendrop table Employeeend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='Maneger_PK'and t.table_name='Maneger') thendrop index Maneger.Maneger_PKend if;if exists(select 1 from sys.systablewhere table_name='Maneger'and table_type in ('BASE', 'GBL TEMP')) thendrop table Manegerend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='属于2_FK'and t.table_name='clerkscrect') thendrop index clerkscrect.属于2_FKend if;if exists(select 1 from sys.systablewhere table_name='clerkscrect'and table_type in ('BASE', 'GBL TEMP')) thendrop table clerkscrectend if;if exists(select 1 from sys.systablewhere table_name='dept'and table_type in ('BASE', 'GBL TEMP')) thendrop table deptend if;/*======================================================== ======*//* Table: Employee *//*======================================================== ======*/create table Employee(EmId char(10) not null,Users char(10),Pswd char(10),Name char(10),sex char(4),ID char(20),Job char(10),RegerTime char(10),Dept char(410),Salary char(10),Publish char(10),constraint PK_EMPLOYEE primary key (EmId));/*======================================================== ======*//* Index: Employee_PK *//*======================================================== ======*/create unique index Employee_PK on Employee (EmId ASC);/*======================================================== ======*//* Index: 所属_FK *//*======================================================== ======*/create index 所属_FK on Employee (Users ASC);/*======================================================== ======*//* Index: 管理_FK *//*======================================================== ======*/create index 管理_FK on Employee (Users ASC);/*======================================================== ======*//* Table: Maneger *//*======================================================== ======*/create table Maneger(Users char(10) not null,Psd char(10),constraint PK_MANEGER primary key (Users));/*======================================================== ======*//* Index: Maneger_PK *//*======================================================== ======*/create unique index Maneger_PK on Maneger (Users ASC);/*======================================================== ======*//* Table: clerkscrect *//*======================================================== ======*/create table clerkscrect(EmId char(10),EmpID char(10),EmoPsd char(10));/*======================================================== ======*//* Index: 属于2_FK *//*======================================================== ======*/create index 属于2_FK on clerkscrect (EmId ASC);/*======================================================== ======*//* Table: dept *//*======================================================== ======*/create table dept(DeptId char(10),DeptName char(10),"persons responsible" char(10),DeptProject char(500));alter table Employeeadd constraint FK_EMPLOYEE_属于_CLERKSCR foreign key (EmId) references clerkscrect (EmpID)on update restricton delete restrict;alter table Employeeadd constraint FK_EMPLOYEE_所属_DEPT foreign key (Dept)references dept (DeptName)on update restricton delete restrict;alter table Employeeadd constraint FK_EMPLOYEE_管理_MANEGER foreign key (Users) references Maneger (Users)on update restricton delete restrict;alter table clerkscrectadd constraint FK_CLERKSCR_属于2_EMPLOYEE foreign key (EmId) references Employee (EmId)on update restricton delete restrict;六、数据库运行和维护查询要求:(1)查询某门课程的选课信息(2)查询某个学生的选课信息(3)查询某个班级的选课信息(4)学生查询自己的课程计划(5)统计某个某个班级的学分信息……。

相关文档
最新文档