1、包括的数据项有员工号、员工姓名、性别、所在部门、身份证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、工龄、状态、家庭住址、联系方式等等。b)员工成绩状况。包括的数据项有应该号、课程名称、上课时间/地点、授课教师、成绩、评价和是否通过。c)课程信息。包括的数据项有课程号、课程类别、课程名、课程学时,等效课程、预修课程、开课部门等。d)企业工作岗位信息。包括的数据项有部门代号、部门名称、部门经理等。e)培训需求信息。包括的数据项有培训的课程、培训开放时间、结束时间、培训教员、上课时间和地点等。f)个人培训计划信息。包括的数据项有培训员工、培训课程、培训的开始时间/结束时间等、g)课程评价信息。包
2、括的数据项有课程名、评价内容和评价时间等。h)教员信息。包括的数据项有教员号、教员姓名/学历、开始教课时间和教员评价等。i)培训资源管理。包括的数据项有各个教员、教学设备的配备情况、各种教学教具借用情况培训中心固定资产各种培训费用和支出等等。j)培训教材管理。包括的数据项有教材适合的课程、作者、教材状态、教材数量和价格。完成了上面的数据项、数据结构后,下面进行数据库设计。3.2 数据库的概念结构设计。 根据上文的设计规划,可以得出实体有员工实体、部门实体、岗位实体、教员实体、教学资源实体、教材实体、课程实体。下面给出各个实体的描述E-R图。图2 员工实体E-R图图3 课程实体E-R图图4 岗位
3、实体E-R图图5 教员实体E-R图图6 培训资源实体E-R图图7实体之间的关系E-R图3.3 数据库的逻辑结构实现上面论述了实体及实体之间的关系,在此基础上,形成数据库中表格以及各表格之间的关系。列名数据类型能否为空说明COURSE_IDNUMBER(3)NOT NULL课程号SUBJECTVARCHAR2(10)NULL课程类别COURSE_CNAMEVARCHAR2(20)课程中文名称COURSE_ENAME课程英文名称COURSE_DESCVARCHAR2(40)课程描述COURSE_DURATION学时COURSE_BOOK教材COURSE_EQU等效课程COURSE_BEFORE预修
4、课程COURSE_MARKNUMBER(1)初训标志DEPT_ID开课部门代号表1 课程表 COURSETEACHER_IDNUMBER(6)教员号TEACHER_NAME教员姓名TEACHER_XL教员学历TEACHER_DATE_STARTDATE执教时间TEACHER_EVALUSION评价表2 教员信息表TEACHEREMP_NO员工号EMP_NAME姓名所在部门号EMP_XL学历EMP_GENDERVARCHAR2(2)性别EMP_BIRTHDAY生日EMP_HOMETOWNVARCHAR2(8)籍贯EMP_IDNUMBER(20)身份证号EMP_STARTWORK开始工作时间EMP
5、_ADDRESS家庭住址EMP_TELNUMBER(10)电话EMP_EMAILEmail表3 员工基本信息表PERSONNEL部门代号DEPT _NAME部门名称DEPT_MANAGER经理代号DEPT_FUNCTIONVARCHAR2(80)部门职能表4 部门信息表DEPTEMP_NUM课程类号码SCORE_1分数1SCORE_2分数2SCORE_NOTE教师评语表 5 员工成绩表SCOREBOOK_ID教材编号BOOK_NAME教材名称BOOK_AUTHOR作者BOOK_STATE教材状态标志S BOOK_COURSE_ID相应课程标号BOOK_QUANTITY数量BOOK_PRICEN
6、UMBER(5,2)价格表6 教材信息表BOOKTMS_USER用户名TMS_PSWD口令表7 管理系统的用户口令表USER_PSWDJOB_ID岗位代号JOB_NAME岗位名称JOB_POWER权力范围表8 工作岗位JOB课程号(外部键)指向课程表的COURSE_NOCOURSE _NEED课程需要者(外部键)表9 培训需求表COURSE_NEEDCOURSE_DATE_BEGIN课程开始时间COURSE_DATE_OVER课程结束时间教师号,外部键,指向教师表中的TEACHER_IDCOURSE_NUMBERNUMBER (2)上课人数COURSE_PLACE上课地点表10 企业培训计划表
7、 COURSE_AVALABLE3.4 数据库结构实现虽然本次设计采用Access数据库,但是SQL更具有通用性。下面给出创建这些表格的SQL语句。3.4.1员工基本状况表格PERSONNEL CREATE TABLE “train”.PERSONNEL(EMP_NO NUMBER(6) NOT NULL,EMP_NAME VARCHAR2(10)NULL,DEPT_ID NUMBER(3),NULL EMP_XL VARCHAR2(10),NULL EMP_GENDER VARCHAR2(2) ,NULL EMP_BIRTHDAY DATE,NULL EMP_HOMETOWN VARCHAR
8、2(8) NULL EMP_ID NUMBER(20)NULL,EMP_STARTWORK DATE NULL, EMP_ADDRESS VARCHAR2(10)NULL, EMP_TEL NUMBER(10)NULL, EMP_EMAIL VARCHAR2(20)NULL, CONSRAINT PERSONNEL_TEM_NO_PK PRIMARRUY KEY(EMP_NUM),CONSRAINT PERSONNEL_DEPT_ID_FK FOR FOREIEG KEY(EMP_ID),REFERENCES “TRAIN”.”DEPT_ID”CONSRAINT PERSONNEL_DEPT_
9、ID_FK PK FOR FOREIEG KEY(JOB_ID),REFERENCES “train”.”JOB”(JOB_ID)TABLESPACE”USER_DATA”;3.4.2 创建员工成绩表格SCORECREATE TABLE”train”.SCOREEMP_NUMBER(6) NOT NULL,COURSE_ID NUMBER(3) NULL,TEACHER_ID NUMBER(6) NULL,SCORE_1 NUMBER(3) NULL,SCORE_2 NUMBER(3) NULL,SCORE_NOTE VARCHAR2(10) NULL,CONSTRAINT SCORE_EMP
10、_NO_PK PRIMARY KEY(EMP_NO),CONSTRAINT SCORE_COURSE_ID_FK FOREIGN KRY(COURSE_ID) REFERENCES “train”.”COURSE”(COURSE_ID),CONSTRAINT SCORE_TEACHER_ID_FK FOREIGN KEY(TEATCHER_ID) REFERENCES “train”.”TEATCHER”(TEATCHER _ID)3.4.3 创建课程表格COURSECREATE TABLE”train”. COURSEEMP_NUM NUMBER(6) NOT NULL ,COURSE_ID
11、 NUMBER(3) NOT NULL,SUBJECT VARCHAR2(10) NULL,COURSE_CNAME VARCHAR2(20) NULL,COURSE_ENAME VARCHAR2(10) NULL,COURSE_DESC VARCHAR2(40) NULL,COURSE_DURATION NUMBER(3) NULL,COURSE_BOOK VARCHAR2(10) NULL,COURSE_EQU NUMBER(3) NULL,COURSE_BEFORE NUMBER(3) NULL,COURSE_MARK NUMBER(1) NULL,DEPT_ID NUMBER(3) N
12、ULL,CONSTRAINT COURSE_COURSE_ID_PK_PRIMARY KEY(COURSE_ID)3.4.4 创建部门信息表DEPTCREATE TABLE”train”.DEPTDEPT_ID NUMBER(6) NOT NULL,DEPT _NAME VARCHAR2(10) NULL,DEPT_MANAGER VARCHAR2(10) NULL,DEPT_FUNCTION VARCHAR2(80) NULL,CONSTRAINT DEPT _EMP_NO_PK PRIMARY KEY (DEPT _ID),CONSTRAINT DEPT _COURSE_ID_FK FOR
13、EIGN KRY(DEPT _MANAGER) REFERENCES “train”.”COURSE”(DEPT _NO),CONSTRAINT DEPT _TEACHER_ID_FK FOREIGN KEY(DEPT_VICEMANAGER) REFERENCES “train”.”PERSONEL”(EMP_NO)3.4.5创建教材信息表BOOKCREATE TABLE”train”.BOOKBOOK_ID NUMBER(3) NOT NULL,BOOK_NAME VARCHAR2(20) NULL,BOOK_AUTHOR VARCHAR2(10) NULL,BOOK_STATE NUMB
14、ER(1) NULL,BOOK_COURSE_ID NUMBER(3) NULL ,BOOK_QUANTITY NUMBER(3) NULL,BOOK_PRICE NUMBER(5,2) NULL,CONSTRAINT BOOK_BOOK_ID_PK PRIMARY KEY(BOOK _ID),CONSTRAINT BOOK_BOOK_ID_FK FOREIGN KEY(BOOK_COURSE ID) REFERENCES “train”.” BOOK”(TEATCHER _ID)3.4.6 创建企业培训计划表CREATE TABLE”train”. COURSE_AVALABLECOURSE
15、_ID NUMBER(3) NOT NULL,COURSE_DATE_BEGIN DATE NULL ,COURSE_DATE_OVER DATE NULL,TEACHER_ID NUMBER(6) NULL ,COURSE_NUMBER NUMBER (2) NULL,COURSE_PLACE VARCHAR2(10) NULL,CONSTRAINT COURSE_AVALABLE _ COURSE_ID _PK PRIMARY KEY(COURSE_ID), (COURSE_ID) REFERENCES “train”.” COURSE”(COURSE_ID)CONSTRAINT COUR
16、SE_AVALABLE _ COURSE_ID _PK PRIMARY KEY(TEACHER_ID), (TEACHER_ID) REFERENCES “train”.” TEACHER”(TEACHER_ID)4 创建应用程序4.1 本员工培训管理系统采用MFC ODBC开发。该应用程序是基于对话框的。由于VC+6.0的特点是每新增加一个对话框资源,就为该对话框创建一个新的类。在每个对话框类中,都增加一个成员变量m_database,用于连接到数据库。图8 各对话框类的实现4.2 记录集的处理使用视表到记录集的映射,为了编程简便,为数据库中的每一个表映射一个记录集类。程序的映射关系如下表。
17、表格对应记录集PERSONNELCPersonSetSCORECScoreSetJOBCJobSetCOURSECCourseSetDEPTCDeptSetCOURSE_NEEDCPersonNeedSetPERSONNEL_PLANCPersonPlanSetCOURSE_EVALUATIONCAppriseSetTEACHERCTeacherSetTM-RESOURCECResourseSetBOOKCBookUSER_PSWDCLoginSet4.3 数据库内容显示为了使用户在打开某项管理的时候能直接看到对应数据库表格的内容,在程序中使用了CListCtrl类,每次初始化对话框的时候首先执行一次数据库查询操作,将查到的所有结果都显示在对话框的CListCtrl控件中,方便用户的操作管理。5系统应用程序设计5.1 此应用程序采用基于对话框的开发,程序的主对话框是登录窗口。图9 登录窗口5.2 建立程序管理窗口图10 程序管理窗口图 11 学员信息管理模块界面5.3其他的模块,如员工信息管理模块、培训课程管理模块的设计等与之类似。这样,就可以建立一个实用的培训管理系统。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1