员工管理系统数据库课设.docx

上传人:b****7 文档编号:9832275 上传时间:2023-02-06 格式:DOCX 页数:71 大小:579.53KB
下载 相关 举报
员工管理系统数据库课设.docx_第1页
第1页 / 共71页
员工管理系统数据库课设.docx_第2页
第2页 / 共71页
员工管理系统数据库课设.docx_第3页
第3页 / 共71页
员工管理系统数据库课设.docx_第4页
第4页 / 共71页
员工管理系统数据库课设.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

员工管理系统数据库课设.docx

《员工管理系统数据库课设.docx》由会员分享,可在线阅读,更多相关《员工管理系统数据库课设.docx(71页珍藏版)》请在冰豆网上搜索。

员工管理系统数据库课设.docx

员工管理系统数据库课设

 

数据库系统原理及其应用教程

课程设计报告

 

题目名称

员工管理系统

班级

学号

姓名

指导教师

编写时间

2009年12月29日

第1章概述……………………………………………………3

第2章需求分析

系统功能分析……………………………………………3

系统结构图………………………………………………3

数据流图…………………………………………………4

数据字典…………………………………………………4

第3章培训需求信息概念结构设计…………………………6

第4章数据库逻辑结构设计…………………………………9

第5章源代码及查询截图

源代码…………………………………………………13

查询截图…………………………………………39

第六章总结及体会…………………………………………48

第七章参考文献……………………………………………49

 

一.概述

企业通过一个好的员工培训管理系统,能使企业的培训工作系统化、规范化、自动化,从而提高企业员工的素质和工作能力,使企业保持强大的竞争力。

培训管理系统需要维护员工信息、管理培训资源和教材,设计培训计划,安排培训课程,对课程进行评价。

此外还要考虑内部培训和外出培训的问题,最后,系统还需安排系统用户管理、权限管理。

二.需求分析

1.系统功能分析

根据系统功能的要求,员工培训系统可以分为以下几点:

●包括员工基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。

●员工各种信息的查询、修改、包括员工的基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。

●培训课程信息的输入,包括课时、课程种类等。

●培训课程信息的查询、修改。

●企业所有管理员工培训需求的管理。

●企业培训计划的制定、修改。

●培训课程的评价。

●培训管理系统的使用帮助。

●教师信息的管理、教师评价。

●培训资源管理。

●培训教材管理。

●员工外出培训管理。

●系统用户管理、权限管理。

2.系统结构图

 

3.数据流图

4.数据字典

通过对企业员工培训管理的内容和数据流程的分析,设计的数据项和数据结构如下:

●员工基本状况。

起数据项有员工号、员工姓名、性别、所在部门、身份证号、生日、籍贯、国籍、名族、婚姻状况、健康状况、参加工作时间、员工状态、家庭住址和联系电话等。

●员工成绩状况。

其数据项有员工号、课程名称、时间、地点、授课教师、成绩、评价和是否通过等。

●课程信息。

其数据项有课程号、课程类别、课程名、课程学时、等效课程、预修课程、开课部门和初训/复训等。

●企业工作岗位信息。

其数据项有工作岗位代号、工作岗位名称、工作岗位权利范围等。

●企业部门信息。

其数据项有部门代号、部门名称、部门经理、部门副经理等。

●培训需求信息。

其数据项有所需培训的课程和要求培训的员工等。

●企业培训计划信息。

其数据项有培训的课程、培训开始时间、结束时间、培训教员、上课时间和上课地点等。

●个人培训计划信心。

其数据项有培训员工、培训课程、培训开始时间、培训结束时间等。

●课程评价信息。

其数据项有课程名、评价内容和评价时间等。

●教员信息。

其数据项有教员好、教员姓名、教员学历、开始教课时间和教员评价等。

●培训资源管理信息。

其数据项有各个教室、教学设备的配备情况、各种教学教具借用情况、培训中心固定资产管理、各种培训费用和培训资源需求管理等。

●培训教材管理。

其数据项有教材适合的课程、作者、教材状态、教材数量和价钱等

三.培训需求信息概念结构设计

此系统根据上面的设计规划出的实体有:

员工实体、部门实体、岗位实体、教员实体、教学资源实体、教材实体、课程实体。

以下为各个实体具体的描述E-R图:

1.员工实体E-R图:

2.部门实体E-R图:

3.岗位实体E-R图

4.课程实体E-R图:

5.教员实体E-R图:

6.培训资源实体E-R图:

7.教材实体E-R图:

8.实体和实体之间的关系E-R图:

四.数据库逻辑结构设计

1.创建课程表(COURSE)

列名

数据类型

可否为空

说明

COURSE_ID

NUMBER(3)

NOTNULL

课程号(主键)

SUBJECT

VARCHAR2(10)

NULL

课程类别

COURSE_CNAME

VARCHAR2(20)

NULL

课程中文名称

COURSE_ENAME

VARCHAR2(10)

NULL

课程英文名称

COURSE_DESC

VARCHAR2(40)

NULL

课程描述

COURSE_DURATION

VARCHAR2(3)

NULL

学时

COURSE_BOOK

VARCHAR2(10)

NULL

教材

COURSE_EQU

VARCHAR2(3)

NULL

等效课程

COURSE_BEFORE

VARCHAR2(3)

NULL

预修教程

COURSE_MARK

VARCHAR2

(1)

NULL

初训/复训标志(取值0/1)

DEPT_ID

VARCHAR2(3)

NULL

开课部门代号

2.教员信息表(TEACHER)

列名

数据类型

可否为空

说明

TEACHER_ID

NUMBER(6)

NOTNULL

教员号(主键)

TEACHER_NAME

VARCHAR2(10)

NULL

教员姓名

TEACHER_XL

VARCHAR2(10)

NULL

教员学历

TEACHER_DATE_START

DATE

NULL

开始教的时间

TEACHER_EVALUATION

VARCHAR2(40)

NULL

教员评价

3.员工基本状况表PERSONNEL

列名

数据类型

可否为空

说明

EMP_NO

NUMBER(6)

NOTNULL

员工号(主键)

EMP_NAME

VARCHAR2(10)

NULL

员工姓名

DEPT_ID

NUMBER(3)

NULL

所在部门号(外部键),指向部门信息表DEPT_ID

EMP_XL

VARCHAR2(10))

NULL

学历

EMP_GENDER

VARCHAR2

(2)

NULL

性别

EMP_BIRTHDAY

DATE

NULL

生日

EMP_HOMETOWN

VARCHAR2(8)

NULL

籍贯

EMP_COUNTRY

VARCHAR2(10)

NULL

国家

EMP_NATION

VARCHAR2(10)

NULL

名族

EMP_ID

NUMBER(20)

NULL

身份证号

EMP_MARRIAGE

VARCHAR2(10)

NULL

婚姻情况

EMP_HEALTH

VARCHAR2(20)

NULL

健康情况

EMP_STARTWORK

DATE

NULL

参加工作时间

EMP_STATE

VARCHAR2(10)

NULL

员工状态

EMP_STATE_DATE

DATE

NULL

状态时间

EMP_HOMEADDRESS

VARCHAR2(10)

NULL

家庭住址

EMP_TELENO

NUMBER(10)

NULL

联系电话

EMP_EMAIL

VARCHAR2(20)

NULL

联系E-mail地址

JOB_ID

NUMBER(3)

NULL

工作岗位代号(外部键),指向工作岗位情况表JOB_ID

4.部门信息表DEPT

列名

数据类型

可否为空

说明

DEPT_ID

NUMBER(6)

NOTNULL

部门代号(主键)

DEPT_NAME

VARCHAR2(10)

NULL

部门名称

DEPT_MANAGER

NUMBER(6)

NULL

部门经理号(外部键),指向员工基本状况表EMP_NO

DEPT_VICEMANAGER

NUMBER(6)

NULL

部门副经理代号(外部键),指向员工基本状况表的EMP_NO

5.员工成绩表SCORE

列名

数据类型

可否为空

说明

EMP_NO

NUMBER(6)

NOTNULL

员工号(外部键),指向员工基本状况表EMP_NO

COURSE_ID

NUMBER(3)

NULL

课程号(外部键),指向课程表COURSE

S_DATE

DATE

NULL

上课时间

S_PLACE

VARCHAR2(10)

NULL

上课地点

TEACHER_ID

NUMBER(6)

NULL

教师号(外部键),指向教师表TEACHER

SCORE_1

NUMBER(3)

NULL

成绩1

SCORE_2

NUMBER(3)

NULL

成绩2

SCORE_NOTES

VARCHAR2(10)

NULL

教师评语

PASS

NUMBER(6)

NULL

通过否(0,1表示)

6.工作岗位表JOB

列名

数据类型

可否为空

说明

JOB_ID

NUMBER(3)

NOTNULL

工作岗位代号(主键)

JOB_NAME

VARCHAR2(10)

NULL

工作岗位名称

JOB_POWER

VARCHAR2(20)

NULL

岗位权利范围

7.培训需求表COURSE_NEED

列名

数据类型

可否为空

说明

COURSE_ID

NUMBER(3)

NOTNULL

课程号(外部键),指向课程表COURSE_NO

COURSE_NEED

NUMBER(6)

NULL

课程需要者(外部键),指向员工基本状况表

8.企业培训计划表COURSE_AVAILABLE

列名

数据类型

可否为空

说明

COURSE_ID

NUMBER(3)

NOTNULL

课程号(外部键),指向课程表COURSE_NO

COURSE_DATE_BEGIN

DATE

NULL

课程开始时间

COURSE_DATE_OVER

DATE

NULL

课程结束时间

TEACHER_ID

NUMBER(6)

NULL

教师号(外部键),指向教师表中的TEACHER_ID

COURSE_PERSONNUMER

NUMBER

(2)

NULL

上课的人数

COURSE_PLACE

VARCHAR2(10)

NULL

上课的地点

 

9.个人培训计划表PERSONNEL_PLAN

列名

数据类型

可否为空

说明

EMP_NO

NUMBER(6)

NOTNULL

员工号(主键),员工号(外部键),指向员工基本状况的EMP_NO

COURSE_ID

NUMBER(3)

NOTNULL

课程号(外部键),指向课程表COURSE_NO

COURSE_DATE_BEGIN

DATE

NULL

课程开始时间

COURSE_DATE_OVER

DATE

NULL

课程结束时间

10.课程评价表COURSE_EVALUATION

列名

数据类型

可否为空

说明

COURSE_ID

NUMBER(3)

NOTNULL

课程号(外部键),指向课程表COURSE_NO

EVALUATION_DATE

DATE

NULL

评价时间

EVALUATION

VARCHAR2(40)

NULL

评价内容

11.培训资源信息表TM_RESOURCE

列名

数据类型

可否为空

说明

RESOURCE_ID

NUMBER(3)

NOTNULL

资源代号(主键)

RESOURCE_NAME

VARCHAR2(10)

NULL

资源名称

RESOURCE_MARK

NUMBER

(1)

NULL

资源状况标记

RESOURCE_PRICE

NUMBER(5,2)

NULL

资源价钱

RESOURCE_QUANTITY

NUMBER

(2)

NULL

资源数量

RESOURCE_REM

VARCHAR2(40)

NULL

备注

12.教材信息表BOOK

列名

数据类型

可否为空

说明

BOOK_ID

NUMBER(3)

NOTNULL

教材编号(主键)

BOOK_NAME

VARCHAR2(20)

NULL

教材名称

BOOK_AUTHOR

VARCHAR2(10)

NULL

作者

BOOK_STATE

DATE

NULL

教材状态标记

BOOK_COURSE_ID

NUMBER

(1)

NULL

相应课程编号(外部键),指向课程表中的COURSE_ID

BOOK_QUANTITY

NUMBER(3)

NULL

教材数量

BOOK_PRICE

NUMBER(5,2)

NULL

教材价钱

13.管理TMS系统的用户口令表USER_PSWD

列名

数据类型

可否为空

说明

TMS_USER

VARCHAR2(20)

NOTNULL

用户名(主键)

TMS_PSWD

VARCHAR2(10)

NOTNULL

口令

五.源代码及查询截图(包括程序流程图,数据库链接方法);

1.数据库的内容显示

为了使用户在打开某项管理的时候能直接看到对应的数据库表的内容,在程序中使用了CListCtrl类,每次初始化对话框的时候首先执行一次数据库查询操作,将查到的所有结果都显示在对话框的CListCtrl控件中,方便用户的操作管理。

CListCtrl类的主要成员函数使用方法说明如下:

IntInsertColumn(intnCol,constLVCOLUMN*pColumn);

其功能是在ListControl对象中新增列,其中nCol表示新增列的序号,pColumn代表列名。

BOOLSetColumnWidth(intnCol,intcx);

其功能是设定列的宽度,其中nCol表示列序号,cx表示列宽度。

IntInsertItem(intnItem,LPCTSTRlpszItem);

其功能是增加表项,nItem表示表项的序号,lpszItem表示表项第一个位置的内容。

BOOLSetItemText(intnItem,intnSubItem,LPTSTRlpszText);

其功能是设置表项特定位置的内容,nItem表示表项序号,nSubItem表示列位置,lpszText表示需设置的内容。

2.数据库对象的处理

由于此应用程序时给予对话框开发的,而VisualC++的特点是没新增加一个对话框资源,就为该对话框创建一个新的类,而面向对象的特点是用传统编程方法中的全局变量已不多用。

为了能够在每个对话框类中都能实现对数据库的访问,在设计程序时,采用的方法是在每一个对话框类中都增加一个成员变量m_database,用于连接到数据库,是用的方法是,每次单击按钮出现一个对话框时,在单击事件代码中完成以下操作:

●关闭本对话框与数据库的连接m_database.Close()。

●新建一个对话框类的对象CDialogNewm_new。

●为新对话框传见到数据库的连接m_new.m_database.Open(_T(“train”))。

这样新的对话框就可以直接是用刀数据库train对象的连接了,如果要提高应用程序

的模块性,也可以吧所有对数据库的操作封装到一个底层的类,然后由上层的控制类来调用这些操作,这是另一种开发的模式。

3.记录集的处理

由于使用的是MFCODBC方式访问数据库,因此可以使用师表到记录集的映射。

为了变成便捷,可以为数据库中的每一个表映射一个记录集类(从CRecordSet类继承)。

本应用程序的映射关系如下:

数据源的表与记录集类的对应关系

表格

对应记录集

PERSONNEL

CPersonSet

SCORE

CScoreSet

JOB

CJobSet

COURSE

CCourseSet

DEPT

CDeptSet

COURES_NEED

CPersonNeedSet

COURSE_AVAILABLE

CTrainPlanSet

PERSONNEL_PLAN

CPersonPlanSet

COURSE_EVALUATION

CAppriseSet

TEACHER

CTeacherSet

TM_RESOURCE

CResourceSet

BOOK

CBookSet

USER_PSWD

CLoginSet

这些记录集已经自动对应表的列绑定好,方便了以后对记录集的使用。

4.实现数据库逻辑结构的SQL语句

虽然使用了Access数据库系统,但是SQL语句也是可以用的,相对应的语句如下:

a)创建员工基本情况表格的SQL语句:

CREATTABLE"train".PRESONNEL

EMP_NONUMBER(6,0)NOTNULL,

EMP_NAMEVARCHAR2(10)NULL,

DEPT_IDNUMBER(3,0)NULL,

EMP_XLVARCHAR2(10)NULL,

EMP_GENDERVARCHAR2(10)NULL,

EMP_BIRTHDAYDATENULL,

EMP_HOMETOWNVARCHAR2(8)NULL,

EMP_NATIONVARCHAR2(10)NULL,

EMP_IDNUMBER(20,0)NULL,

EMP_MARRIAGEVARCHAR2

(2)NULL,

EMP_HEALTHVARCHAR2(20)NULL,

EMP_STARTWORKDATENULL,

EMP_STATEVARCHAR2(10)NULL,

EMP_STATE_DATEDATENULL,

EMP_HOMEADDRESSVARCHAR2(10)NULL,

EMP_TELENONUMBER(10,0)NULL,

EMP_EMAILVARCHAR2(20)NULL,

JOB_IDNUMBER(3,0)NULL,

CONSTRAINTPERSONNEL_EMP_NO_PKPRIMARYKEY(EMP_NO),

CONSTRAINTPERSONNEL_DEPT_ID_FKFOREIGNKEY(DEPT_ID)

REFERENCES"train"."DEPT"(DEPT_ID),

CONSTRAINTPERSONNEL_JOB_ID_FKFOREIGNKEY(JOB_ID)

REFERENCES"train"."JOB"(JOB_ID)

TABLESPACE"USER_DATA";

b)创建员工成绩表的SQL语句:

CREATETABLE"train".SCORE

EMP_NONUMBER(6)NOTNULL,

COURSE_IDNUMBER(3)NULL,

S_DATEDATENULL,

S_PLACEVARCHAR2(10)NULL,

TEACHER_IDNUMBER(6)NULL,

SCORE_1NUMBER(3)NULL,

SCORE_2NUMBER(3)NULL,

SCORE_NOTESVARCHAR2(10)NULL,

PASSNUMBER

(1)NULL,

CONSTRAINTSCORE_EMP_NO_PFPRIMARYKEY(EMP_NO),

CONSTRAINTSCORE_COURSE_ID_FKFOREIGNKEY(COURE_ID)

REFERENCES"train"."COURESE"(COURSE_ID),

CONSTRAINTSCORE_TEACHER_ID_FKFOREIGNKEY(TEACHER_ID)

REFERENCES"train"."TEACHER"(TEACHER_ID)

TABLESPACE"USER_DATA";

c)创建课程表的SQL语句:

CREATETABLE"train".COURSE

COURSE_IDNUMBER(3)NULL,

SUBJECTVARCHAR2(10)NULL,

COURSE_CNAMEVARCHAR2(20)NULL,

COURSE_ENAMERVARCHAR2(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_COURSE_ID_PKPRIMARYKEY(COURSE_ID)

TABLESPACE"USER_DATA";

d)创建4.工作岗位状况表的SQL语句:

CREATETABLE"train".JOB

JOB_IDNUMBER(3)NOTNULL,

JOB_NAMEVARCHAR2(10)NULL,

JOB_POWERVARCHAR2(20)NULL,

CONSTRAINTJOB_JOB_ID_PKPRIMARYKEY(JOB_ID)

TABLESPACE"USER_DATA";

e)创建部门信息表的SQL语句:

CREATETABLE"train".DEPT

DEPT_IDNUMBER(3)NOTNULL,

DEPT_NAMERVARCHAR2(10)NULL,

DEPT_MANAGERNUMBER(6)NULL,

DEPT_VICEMANAGERNUMBER(6)NULL,

CONSTRAINTDEPT_DEPT_ID_PKPRIMARYKEY(DEPT_ID),

CONSTRAINTDEPT_MANAGER_FKFOREIGNKEY(DEPT_MANAGER)

REFERENCES"train"."PERSONNEL"(EMP_NO),

CONSTRAINTDEPT_VICEMANAGER_FKFOREIGNKEY

(DEPT_VICEMANAGER)

REFERENCES"train"."PERSONNEL"(EMP_N0)

TABLESPACE"USER_DATA";

f)创建培训需求表的SQL语句:

CREATETABLE"train".COURSE_NEED

COURSE_IDNUMBER(3)NOTNULL,

COURSE_NEED

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1