企业员工培训管理系统的设计1设计背景本系统为企业员工培训信息管理系统,通过该系统,使企业员工培训管理工作系统化、规范化、自动化,从而达到提高企业培训管理效率的目的。采用的开发工具是MicrosoftVisualC++6.0。企业员工培训管理系统能够对企业员工基础信息、员工档案浏览、员工资料查询、员工资料统计、日常记事、通讯录、数据库备份和还原及清空等进行管理。及时了解各个培训环节中信息的变更。管理人员必须以管理员身份登录,保证了系统的安全性。系统的总体任务是使企业员工培训管理人员可以轻松快捷地完成对员工培训管理的任务。有利于提高管理效率。2系统设计2.1系统设计思想尽量采用公司现有的软硬件环境,结合先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。系统采用C/S(Client/Server)体系结构,客户机Client负责提供表达逻辑、显示用户界面信息,访问数据库服务器;服务器server用于提供数据服务。系统采用模块化程序设计,便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护。同时,系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。2.2系统功能分析在系统开发总体任务的基础上对系统功能进行详细的分析,在本系统的设计中需要完成的功能主要有以下内容。员工各种信息的输入、查询、修改,包括员工基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。课程信息的输入、查询、修改,包括课时、课程种类等;课程培训的评价企业所有员工培训需求的管理。企业培训计划的制定,修改。培训管理系统的使用帮助。教师信息的管理,教师评价。培训资源管理,培训教材管理。系统用户管理、权限管理。2.3系统功能模块设计3数据库设计3.1数据库需求分析通过对企业员工培训管理的内容和数据流程分析,设计的数据项和数据结构如下:a)员工的基本状况。包括的数据项有员工号、员工姓名、性别、所在部门、身份证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、工龄、状态、家庭住址、联系方式等等。b)员工成绩状况。包括的数据项有应该号、课程名称、上课时间/地点、授课教师、成绩、评价和是否通过。c)课程信息。包括的数据项有课程号、课程类别、课程名、课程学时,等效课程、预修课程、开课部门等。d)企业工作岗位信息。包括的数据项有部门代号、部门名称、部门经理等。e)培训需求信息。包括的数据项有培训的课程、培训开放时间、结束时间、培训教员、上课时间和地点等。f)个人培训计划信息。包括的数据项有培训员工、培训课程、培训的开始时间/结束时间等、g)课程评价信息。包括的数据项有课程名、评价内容和评价时间等。h)教员信息。包括的数据项有教员号、教员姓名/学历、开始教课时间和教员评价等。培训管理系统i)培训资源管理。包括的数据项有各个教员、教学设备的配备情况、各种教学教具借用情况培训中心固定资产各种培训费用和支出等等。j)培训教材管理。包括的数据项有教材适合的课程、作者、教材状态、教材数量和价格。完成了上面的数据项、数据结构后,下面进行数据库设计。3.2数据库的概念结构设计。根据上文的设计规划,可以得出实体有员工实体、部门实体、岗位实体、教员实体、教学资源实体、教材实体、课程实体。下面给出各个实体的描述E-R图。图2员工实体E-R图图3课程实体E-R图图4岗位实体E-R图图5教员实体E-R图员工基本信息成绩信息计划信息需求信息课程代号、名称课程学时课程类别等效课程岗位岗位代号岗位名称岗位功能教员代号、名字学历教课时间评价课程资源图6培训资源实体E-R图图7实体之间的关系E-R图3.3数据库的逻辑结构实现上面论述了实体及实体之间的关系,在此基础上,形成数据库中表格以及各表格之间的关系。列名数据类型能否为空说明COURSE_IDNUMBER(3)NOTNULL课程号SUBJECTVARCHAR2(10)NULL课程类别COURSE_CNAMEVARCHAR2(20)NULL课程中文名称COURSE_ENAMEVARCHAR2(10)NULL课程英文名称COURSE_DESCVARCHAR2(40)NULL课程描述COURSE_DURATIONNUMBER(3)NULL学时COURSE_BOOKVARCHAR2(10)NULL教材COURSE_EQUNUMBER(3)NULL等效课程COURSE_BEFORENUMBER(3)NULL预修课程COURSE_MARKNUMBER(1)NULL初训标志DEPT_IDNUMBER(3)NULL开课部门代号表1课程表COURSE数据类型能否为空说明现有资源培训成本资源需求岗位学员课程资源部门教员教材任职需求属于使用属于教学使用TEACHER_IDNUMBER(6)NOTNULL教员号TEACHER_NAMEVARCHAR2(10)NULL教员姓名TEACHER_XLVARCHAR2(10)NULL教员学历TEACHER_DATE_STARTDATENULL执教时间TEACHER_EVALUSIONVARCHAR2(40)NULL评价表2教员信息表TEACHER数据类型能否为空说明EMP_NONUMBER(6)NOTNULL员工号EMP_NAMEVARCHAR2(10)NULL姓名DEPT_IDNUMBER(3)NULL所在部门号EMP_XLVARCHAR2(10)NULL学历EMP_GENDERVARCHAR2(2)NULL性别EMP_BIRTHDAYDATENULL生日EMP_HOMETOWNVARCHAR2(8)NULL籍贯EMP_IDNUMBER(20)NULL身份证号EMP_STARTWORKDATENULL开始工作时间EMP_ADDRESSVARCHAR2(10)NULL家庭住址EMP_TELNUMBER(10)NULL电话EMP_EMAILVARCHAR2(20)NULLEmail表3员工基本信息表PERSONNEL数据类型能否为空说明DEPT_IDNUMBER(6)NOTNULL部门代号DEPT_NAMEVARCHAR2(10)NULL部门名称DEPT_MANAGERVARCHAR2(10)NULL经理代号DEPT_FUNCTIONVARCHAR2(80)NULL部门职能表4部门信息表DEPT列名数据类型能否为空说明EMP_NUMNUMBER(6)NOTNULL员工号COURSE_IDNUMBER(3)NULL课程类号码TEACHER_IDNUMBER(6)NULL教员号SCORE_1NUMBER(3)NULL分数1SCORE_2NUMBER(3)NULL分数2SCORE_NOTEVARCHAR2(10)NULL教师评语表5员工成绩表SCORE列名数据类型能否为空说明BOOK_IDNUMBER(3)NOTNULL教材编号BOOK_NAMEVARCHAR2(20)NULL教材名称BOOK_AUTHORVARCHAR2(10)NULL作者BOOK_STATENUMBER(1)NULL教材状态标志SBOOK_COURSE_IDNUMBER(3)NULL相应课程标号BOOK_QUANTITYNUMBER(3)NULL数量BOOK_PRICENUMBER(5,2)NULL价格表6教材信息表BOOK列名数据类型能否为空说明TMS_USERVARCHAR2(20)NOTNULL用户名TMS_PSWDVARCHAR2(20)NOTNULL口令表7管理系统的用户口令表USER_PSWD列名数据类型能否为空说明JOB_IDNUMBER(3)NOTNULL岗位代号JOB_NAMEVARCHAR2(10)NULL岗位名称JOB_POWERVARCHAR2(20)NULL权力范围表8工作岗位JOB列名数据类型能否为空说明COURSE_IDNUMBER(3)NOTNULL课程号(外部键)指向课程表的COURSE_NOCOURSE_NEEDNUMBER(6)NULL课程需要者(外部键)表9培训需求表COURSE_NEED数据类型能否为空说明COURSE_IDNUMBER(3)NOTNULL课程号(外部键)指向课程表的COURSE_NOCOURSE_DATE_BEGINDATENULL课程开始时间COURSE_DATE_OVERDATENULL课程结束时间TEACHER_IDNUMBER(6)NULL教师号,外部键,指向教师表中的TEACHER_IDCOURSE_NUMBERNUMBER(2)NULL上课人数COURSE_PLACEVARCHAR2(10)NULL上课地点表10企业培训计划表COURSE_AVALABLE3.4数据库结构实现虽然本次设计采用Access数据库,但是SQL更具有通用性。下面给出创建这些表格的SQL语句。3.4.1员工基本状况表格PERSONNELCREATETABLE“train”.PERSONNEL(EMP_NONUMBER(6)NOTNULL,EMP_NAMEVARCHAR2(10)NULL,DEPT_IDNUMBER(3),NULLEMP_XLVARCHAR2(10),NULLEMP_GENDERVARCHAR2(2),NULLEMP_BIRTHDAYDATE,NULLEMP_HOMETOWNVARCHAR2(8)NULLEMP_IDNUMBER(20)NULL,EMP_STARTWORKDATENULL,EMP_ADDRESSVARCHAR2(10)NULL,EMP_TELNUMBER(10)NULL,EMP_EMAILVARCHAR2(20)NULL,CONSRAINTPERSONNEL_TEM_NO_PKPRIMARRUYKEY(EMP_NUM),CONSRAINTPERSONNEL_DEPT_ID_FKFORFOREIEGKEY(EMP_ID),REFERENCES“TRAIN”.”DEPT_ID”CONSRAINTPERSONNEL_DEPT_ID_FKPKFORFOREIEGKEY(JOB_ID),REFERENCES“train”.”JOB”(JOB_ID))TABLESPACE”USER_DATA”;3.4.2创建员工成绩表格SCORECREATETABLE”train”.SCORE(EMP_NUMBER(6)NOTNULL,COURSE_IDNUMBER(3)NULL,TEACHER_IDNUMBER(6)NULL,SCORE_1NUMBER(3)NULL,SCORE_2NUMBER(3)NULL,SCORE_NOTEVARCHAR2(10)NULL,CONSTRAINTSCORE_EMP_NO_PKPRIMARYKEY(EMP_NO),CONSTRAINTSCORE_COURSE_ID_FKFOREIGNKRY(COURSE_ID)REFERENCES“train”.”COURSE”(COURSE_ID),CONSTRAINTSCORE_TEACHER_ID_FKFOREIGNKEY(TEATCHER_ID)REFERENCES“train”.”TEATCHER”(TEATCHER_ID))3.4.3创建课程表格COURSECREATETABLE”train”.COURSE(EMP_NUMNUMBER(6)NOTNULL,COURSE_IDNUMBER(3)NOTNULL,SUBJECTVARCHAR2(10)NULL,COURSE_CNAMEVARCHAR2(20)NULL,COURSE_ENAMEVARCHAR2(10)NULL,COURSE_DESCVARCHAR2(40)NULL,COURSE_DURATIONNUMBER(3)NULL,COURSE_BOOKVARCHAR2(10)NULL,COURSE_EQUNUMBER(3)NULL,COURSE_BEFORENUMBER(3)NULL,COURSE_MARKNUMBER(1)NULL,DEPT_IDNUMBER(3)NULL,CONSTRAINTCOURSE_