数据库设计例子(42页).doc
-数据库设计例子-第 39 页实例 1 人事管理系统 通过前面管理信息系统基础和 PowerBuilder 基础学习,我们初步掌握了使用PowerBuilder 进行信息系统开发的基本知识。下面将通过一个个实例来说明如何利用PowerBuilder作为数据库前端开发工具,开发出具有使用价值的管理信息系统。 人事管理系统实例是本书的第一个例子。因此对于实例开发过程中所涉及到的一些知识会有重点讲述。 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事档案的管理势在必行。当前企业信息管理系统正在从 C/S结构向 B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据企业管理信息系统的主流。本书所讲述的实例都是 C/S结构的管理信息系统。 人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。 第一节 系统设计 一、系统目标设计 人事管理系统可以用于支持企业完成劳动人事管理工作,有如下 3 个方面的目标。 z z 支持企业实现规范化的管理。 z z 支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。 z z 支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。 二、开发设计思想 本系统开发设计思想有以下几点。 尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。 系统应符合公司人事管理的规定,满足公司日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。 系统采用 C/S 体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。系统分析等前期工作应尽量详细完善,以便公司以后体系结构的改变,对于一些安全性要求不高的信息可以方便的采用Brower/Server的方式进行访问。 系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。 三、开发和运行环境选择 为节约开支,采用企业以购买的 Oracle 8 数据库管理系统。前端采用 PowerBuilder 8.0 作为应用开发工具。客户端软件在 Windows 95、Windows 98、Windows ME 以及 Windows2000下均可安装使用。 四、系统功能分析 在系统开发总体任务的基础上完成系统功能分析。系统开发的总体任务一般由公司领导、包括人事处领导提出。 本例中的人事管理系统需要完成如下功能。 员工各种信息的输入,包括员工基本信息、学历信息、婚姻状况、职称等。 z z 员工各种信息的修改。 z z 对于转出、辞职、退休员工信息的删除。 z z 按照某种条件,? 查询、统计符合条件的员工信息。 z z 对查询、统计的结果打印输出。 z z 人事系统的使用帮助。 五、系统功能模块设计 在系统功能分析的基础上,考虑 PowerBuilder 程序编制的特点,得到如图 1 所示的功能模块图。 人 事 管 理 系 统 系统模块输入模块维护模块查看模块报表模块帮助模块图1 系统功能模块图 第二节 数据库设计 人事管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库中。在数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的问题。我们这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪些表格中、各个表的结构如何以及各个表之间的关系。 数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性相比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。 由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。但这些设计方法和设计者的工作经验有很大的关系。因此要从根本上解决所有数据库结构设计的问题,就需要多实践,在实践中积累经验和教训,最终成为数据库结构设计的专家。 一、数据库需求分析 数据库结构设计的第一个阶段,也是非常重要的一个阶段是数据库需求分析。在这个阶段主要是收集基本数据以及数据处理的流程,为以后进一步设计打下基础。需求分析主要解决两个问题: z z 内容要求。调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。 z z 处理要求。调查应用系统用户要求对数据进行什么样的处理,理清数据库中各种数据之间的关系。 解决这两个问题的时候,程序编制人员需要向应用系统用户详细调查,保证信息收集的完整性。否则有可能后面所有的工作都白费。 在数据库需求分析后,应该得到一个数据字典文档,包括 3 方面内容。 z z 数据项。包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。 z z 数据结构。若干个数据项的有意义的集合,包括名称、含义以及组成数据结构的数据项。 z z 数据流。指数据库中数据的处理过程,包括输入、处理和输出。 这个数据字典在程序的开发过程中会不断发生变化。对于一个大型的软件开发过程,一般都需要一份详尽的数据字典。 针对本实例,通过对企业员工管理内容和过程分析,设计的数据项和数据结构如下。 z z 员工基本情况。包括的数据项有员工号、员工姓名、性别、所在部门、身份证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、政治面貌、参加时间、血型、参加工作时间、员工状态、状态时间、家庭住址、联系电话等。 z z 员工婚姻状况。包括的数据项有员工号、爱人姓名、爱人出生年月、结婚时间、爱人工作单位、爱人政治面貌、爱人工作职务等。 z z 员工学历信息。包括的数据项有员工号、学历、专业、毕业时间、毕业学校、学校类型、外语 1、外语 1 等级、外语 2、外语 2 等级等。 z z 企业工作岗位信息。包括的数据库项有工作岗位代号、工作岗位名称、工作岗位权力范围等。 z z 企业部门信息。包括的数据项有部门代号、部门名称、部门经理、部门副经理等。 有了上面的数据结构和数据项基础,我们就能进行下面的数据库设计了。 二、数据库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。 这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。这阶段可用的工具很多。用的最多的是 E-R 图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(Computer Aided Software Engineering,CASE)可以帮助进行设计。 本书的实例都是采用 E-R 图的方法来进行数据库概念结构设计,在本书的第一个例子中先对 E-R图的方法进行简单介绍。 E-R 图是描述数据实体及其关系的一种直观的描述工具。这种图中有: z z 实体。用方框表示,方框内为实体的名称。 z z 实体的各种属性。用椭圆表示,椭圆内为属性名称。使用线段将其和相应的实体连接起来。 z z 实体之间的联系。用菱形表示,菱形内为联系的名称。 实体和实体之间的联系较多,比较常见的联系有 1:1、1:n和 m:n 这 3种。 z z 1:1。对于实体 A 构成的集合中每个实体,在实体集合 B 中至多只有一个实体与之相对应,反之亦然,称实体集合 A和实体集合 B 之间是 1:1 的关系。 z z 1:n。对于实体 A 构成的集合中每个实体,在实体集合 B 中有 n(n>0)个实体与之相对应,且对于实体集合 B 中的每个实体,在 A 中最多只有一个实体与之相对应,称实体集合 A和实体集合 B之间是 1:n 关系。 m:n。对于实体 A构成的集合中的每个实体,在实体集合 B中有 n(n>0)个实体与之相对应,且对于实体集合 B 中的每个实体,在 A中有 m个实体与之相对应,称实体集合 A和实体集合 B 之间是m:n 关系 图 2 为员工实体 E-R 图。 员 工员工基本信息 员工学历信息 员工婚姻状况 图2 员工实体E-R图 图 3 为部门实体 E-R 实例 2 工资管理系统 工资管理既是企业劳动人事管理的重要方面,同时也是企业财务管理的重要方面,因为它是和人、资都相关的方面。工资管理需要和员工人事管理连接,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。 工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。手工进行工资发放工作,需要反复地进行抄写、计算,不仅花费财务人员大量的时间,而且往往由于抄写不慎,出现张冠李戴,或者由于计算机的疏忽,出现工资发放错误的现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。正是工资管理的这种重复性、规律性、时间性,使得工资管理计算机化成为可能。计算机进行工资发放工作,不仅能够保证工资核算正确无误、快速输出,而且还可以利用工资数据库对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理。 不同的企业有着不同的人事制度、财务制度,也就决定了不同的企业具有不同的工资制度。本例按照一般企业都采用的工资计算公式,即根据员工的职务工种来确定基本工资,根据出工情况来扣除缺勤费,根据加班情况发放津贴,根据医疗保险费用给予报销费用,同时扣除社会保险费来生成一个员工的当月工资。 第一节 第一节 系统设计 一、系统目标设计 z z 系统开发的总体任务是实现企业员工工资管理的系统化、规范化和自动化。 z z 能够和人事管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。 二、开发设计思想 z z 尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。 z z 系统应符合公司工资管理的规定,满足公司工资管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。 z z 系统采用 C/S体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。 z z 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参开发的技术维护补充、维护。 z z 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。 三、系统功能分析 工资管理涉及企业管理的多个方面,如员工职务工种变化、员工考勤情况、员工加班情况、员工医疗保险等等。根据这些信息,在每个月的某个固定时间,生成企业全体员工的月工资。对于月工资,能够实现按照员工、部门、月、年进行统计分析,产生相应报表。 工资管理的特点是所关联的方面比较多,信息处理量比较大。因此对于本系统的设计,需要采取了下面的一些原则: z z 在公司范围内统一各种原始单据的格式,统一帐目和报表的格式。 z z 删除不必要的管理余,实现管理规范化、科学化。 z z 程序代码标准化,软件统一化,确保软件的可维护性和实用性。 z z 能够连接各个关联的数据库,获取数据库中的信息。保证各个数据库表格相关的项目之间具有相同的属性。 在上面设计原则的基础上,完成系统功能分析。本例中的工资管理系统需要完成功能主要有: z z 员工每个工种基本工资的设定。 z z 加班津贴的管理。根据加班的时间和类型给予不同的加班津贴。 z z 根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工月工资。 z z 员工年终奖金的生成。 z z 企业工资报表的生成。支持各种不同形式的报表,如单个员工工资报表生成、部门员工工资报表生成、按照月份统计工资报表等。 z z 工资管理系统的使用帮助。 四、系统功能模块设计 在系统功能分析的基础上,考虑 PowerBuilder 程序编制的特点,得到如图 1 所示的系统功能模块图。 工 资 管 理 系 统 系统模块 工资生成模块 津贴管理模块医疗保险模块报表生成模块帮助模块 图1 系统功能模块图 五、工资管理系统和企业中其它系统的关系 工资管理系统是全企业信息管理系统的一个有机组成部分。它与企业中其他系统之间的关系如图 2所示。 升迁离职 财务预算 工资生成 工资生成 工资管理财务管理考勤管理人事管理 考勤情况图2 和企业中其他系统之间的关系 第二节 数据库设计 一、数据库需求分析 在仔细调查企业工资管理过程的基础上,得到系统所要处理数据的流程如图 3 所示。 企业年度效益 员 工 考 勤 加 班 津 贴 医 疗 保 险 基 本 工 资 月 工 资 生 年 终 奖 金 年奖计算公式设定工资计算公式设定图2 和企业中其他系统之间的关系 针对本实例,通过对企业工资管理的内容和数据流程分析,设计的数据项和数据结构如下。 z z 员工考勤统计信息。包括的数据项有缺勤时间、缺勤天数、缺勤类别等。这些信息可从考勤管理系统的数据库中统计获取。 z z 员工工种等级信息。包括的数据项有工种等级、工种基本工资等。 z z 员工津贴信息。,包括的数据项有加班时间、加班类别、加班天数等。 z z 员工医疗保险信息。包括的数据项有医疗保险时间、医疗费用保险、社会保险费用等。 z z 员工基本信息。包括的数据项有员工号、员工姓名、员工工种、员工所属部门等。 z z 员工月工资信息。包括的数据项有生成工资的时间、基本工资、缺勤扣除、加班费用、医疗保险费、月应发工资等。 z z 员工年终奖金信息。包括的数据项有年份、员工的年终奖金数额等。 有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计了。 二、数据库概念结构设计 本实例根据上面的设计规划出的实体有:考勤信息实体、津贴信息实体、医疗保险信息实体、员工基本信息实体、月工资实体和年终奖金实体。各个实体的 E-R 图以及实体和实体之间的关系 E-R 图描述如下。 图 4 为员工基本信息实体 E-R 图。 实例 3 考勤管理系统 考勤管理既是企业劳动认识管理的重要方面,同时也是企业财务管理的重要方面,因为它是和人、事都相关的方面。考勤管理系统需要和员工人事管理连接,同时需要连接工资管理系统等等,用语完成员工的升迁、工资、津贴、医疗保险、保险费、实际发放工资等。 第一节 系统设计 一、系统目标设计 z z 系统开发的总体任务是实现企业员工考勤管理的系统化、规范化、和自动化。 z z 能够和人事管理系统、工资管理系统相结合,真正实现企业高效、科学、现代化的员工管理。 二、开发实际思想 z z 尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。 z z 员工考勤管理系统能够和考勤机相连接,从而完成自动、高效、科学的考勤信息输入。 z z 系统采用模块化程序设计方法,既便与系统功能的各种组合和修该,又便于未参与开发的技术维护人员补充、维护。 z z 系统应具备数据库维护功能,即使根据用户需求进行数据的添加、删除、修改、被分等操作。 三、系统功能分析 考勤管理涉及企业人事管理的多个方面,如员工职务升迁、工资发放、奖金发放、员工医疗保险发放等等。 本利自重的考勤管理系统需要完成功能主要有以下几点。 z z 员工考勤信息处理。该莫完成员工考勤情况的输入、修改等操作。如果企业内有考勤机,可以将它的输出处理后,形成考勤管理系统考勤模块的输入。 z z 企业缺勤类型的设定。 z z 企业考勤统计。该模块可对某个员工进行考勤情况的统计 ,生成统计报表。 四、系统功能模块设计 在系统功能分析的基础上,考虑 PowerBuilder 程序编制的特点,得到如图 1 所示的系统功能模块图。 系 考勤缺勤报表考 勤 管 理 系 统图1系统功能模块如图 五、考勤管理系统和企业中其他系统的关系 考勤管理袭击全企业信息管理系统的一个有机组成部分。 他与企业中替他系统之间的关系如图 2 所示。 考勤情况 考勤情况 考勤情况 图2 和企业中其他系统之间的关系 第二节 数 据 库 设 计 一、数据库需求分析 在仔细调查企业考勤管理过程的基础上,得到系统所要处理数据的流程如图 3 所示。 图 3 数据流程图 针对本实例,通过对企业考勤管理的内容和数据流程分析,设计的数据项和数据结构如下: z z 员工考勤信息。包括的数据项有员工号、缺勤时间、缺勤天数、缺勤类别等。 z z 缺勤类别信息。包括的数据项有缺勤类别 、名称、描述等。 z z 员工基本信息。包括的数据项有员工号、员工姓名、员工工种、员工所属部门等。 有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。 二、数据概念结构设计 本实例根据上面的设计规划出的实体有:考勤信息实体、员工基本信息实体、缺勤类型实体。各个实体的 E-R图以及实体和实体之间的关系 E-R图描述如下。 图 4 为员工基本信息实体 E-R 图。 工资管理 人事管理 考勤管理人 员考 勤信 息数据库考 勤信 息统 计报 表生 成企 业 其 他 信 息 管 理 系 统 手工输入考勤机输入 数据维护 员 工 基 本 信 息员工号 姓名 员 工 部 员工职务 图4 员工基本信息实体E-R图 图 5 为考勤信息实体 E-R 图 图5 考勤信息实体E-R图 图6 为缺勤类型实体 E-R 图 考勤 信 息员工号.姓名 缺勤天数 缺勤类别 时间、原因缺勤类型类别 名称 描述 图6 缺勤类别实体E-R图 实体和实体之间的关系 E-R 图如图7 所示。 员工 考勤信息 具有1:N属于1:N缺勤类型 图7 实体之间关系E-R图 三、数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。 考勤管理体统数据库中各个表格的设计结果如下面的几个表格所示。没高歌表示在数据库中的一个表。 表 1 为考勤管理表 kp 表1 考勤管理表格kp 列 名 数 据 类 型 可 否 为 空 说 明 Emp-no VARCHAR2(6) NOT 员工号(主键一) qq-date VARCHAR2(6) 时间(主键二) qq-daynumber NUMBER(3,1) 缺勤天数 qq-lb VARCHAR2(3) 缺勤类别 qq-reason VARCHAR2(10) 缺勤理由 表 2 为缺勤类型表 qqlb。 表2 缺勤类型表格qqlb 列名 数据类型 可否为空 说明 qq-lb VARCHAR2(3) NOT NULL 缺勤类别(主键) qq-mc VARCHAR2(10) NULL 名称 qq-ms VARCHAR2(10) NULL 缺勤类型描述 表 3 为员工基本情况表 yg。 表3 员工基本情况表 列名 数据类型 可否为空 说明 Emp-no VARCHAR2(6) NOT NULL 员工号(主键) Emp-name VARCHAR2(10) NULL 员工姓名 Emp-zw VARCHAR2(10) NULL 员工职务 Emp-department VARCHAR2(10) NULL 员工部门 实例 4 员工培训管理系统 在竞争越来越激烈的今天,知识更新的速度也在急剧加快。企业员工的培训越来越受到各个企业领导的重视。通过一个员工培训管理系统,使企业的培训工作系统化、规范化、自动化,从而达到提高企业培训管理效率的目的。 在本章重奖以一个典型企业的培训管理系统为例,来讲述如何建立一个员工培训管理系统。 第一节 系统设计 一、系统目标设计 z z 通过一个员工培训管理系统,使企业的培训工作系统化、规范化、自动化,从而达到提高企业培训管理效率的目的 z z 系统开发的总体任务是实现企业员工培训管理的系统化、规范化和自动化。 二、开发设计思想 z z 尽量才用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。 z z 系统应符合公司员工培训管理的规定,满足公司日常员工培训工作需要,并达到操作过程中的直观、方便、使用、安全的要求。 z z 系统采用 C/S体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Sever(服务器端)则用于提供数据服务。 z z 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,右边以为参与开发的技术维护人员补充、维护。 z z 系统应具备数据库维护功能,即使根据用户需求进行数据的添加、删除、修改、备份等操作。 三、 系统功能分析 系统功能分析实在系统开发总体任务的基础上完成。本例中的员工培训管理系统需要完成功能主要有以下几点。 z z 员工各种信息的输入,包括员工基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。 z z 员工各种信息的查询、修改,包括员工基本信息、职称、岗位、几经培训过的课程和成绩、培训计划等。 z z 培训课程信息的输入,包括课时、课程种类等。 z z 培训课程信息的查询、修改。 z z 企业所有员工培训需求的管理。 z z 企业培训计划的制定、修改。 z z 培训课程的评价。 z z 培训管理系统的使用帮助。 z z 教师信息的管理、教师评价。 z z 培训资源管理 z z 培训教材管理。 z z 员工外出培训管理。 z z 系统用户管理、权限管理。 四、 系统功能模块设计 在系统功能分析的基础上,考虑 PowerBuilder 程序编制的特点,得到如图 1 所示的系统功能模块图。 培训管理系统 培训需求管理培训计划管理 基本信息管理培训效果评价培训计划实施培训资源管理系统管理 其它课程信息管理 学院基本情况管理 成绩信息管理用户管理权限管理图1 系统功能模块图 第二节 数据库设计 数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。 在数据库系统开始设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免浪费不必要的人力和物力。 一、数据库需求分析 在仔细调查企业员工培训管理过程的基础上,得到本系统所处理的数据流程。如图 2所示。 岗位任务分析岗位培训要求各部门培训要求培训中心培训计划个人培训计划信息反馈、培训评估员工个人培训要求 部门总体培训要求 培训中心组织授课 部门专栏的岗位培训 培训记录、档案管理 培训记录、培训中心汇总处理选课报名档案管理 汇总图2 数据流程图 针对本实例,通过对企业员工培训管理的内容和数据流程分析,设计的数据项和数据结构如下。 z z 员工基本状况。包括的数据项有员工号、员工姓名、性别、所在部门、身份证、生日、籍贯、国籍、民族、婚姻状况、健康钻光、参加工作时间、员工状态、状态时间、家庭住址、联系电话等。 z z 员工成绩状况。包括的数据项有员工号、课程名称、时间、地点、授课教师、成绩评价、是否通过等。 z z 课程信息。包括的数据项有课程号、课程类别、课程名、课程学识、等效课程、预修课程、开课部门、初训/复训等。 z z 企业工作岗位信息。包括的数据项有工作岗位代号、工作岗位名称、工作岗位、权力范围等。 z z 企业部门信息。包括的数据项有部门代号、部门名称、部门经理、部门副经理等。 z z 培训需求信息。包括的数据项有所需培训的课程、要求培训的员工。 z z 企业培训计划信息。包括的数据项有培训的课程、培训开始时间、结束时间、培训教员、上课时间、上课地点等。 z z 个人培训计划信息。包括的数据项有培训员工、培训课程、培训开始时间、培训结束时间等。 z z 课程评价信息。包括的数据项有课程名、评价内容、评价时间等。 z z 教员信息。包括的数据项有教员号、教员姓名、教员学历、开始教课时间、教员评价等。 z z 培训资源管理信息。包括的数据项有各个教师、教学设备的配备情况、各种教学教具借用情况、培训中心固定资产管理、各种培训费用和支出、培训资源需求管理等。 z z 培训教材管理。包括的数据项有教材适合的课程、作者、教材状态、教材数量、价钱等。 有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。 二、数据库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。 本实例根据上面的设计规划出的实体有:员工实体、部门实体、岗位实体、教员实体、教学资源实体、教材实体、课程实体。各个实体具体的描述 E-R 图如下。 图 3 为员工实体 E-R 图 图3 员工实体E-R图 图 4 为部门实体 E-R 图 员 工员 工基本信息 员工成绩信息 员工计划信息 员工需求信息 图4部门实体 E-R图 图 5 为岗位实体 E-R 图 部 门部门代号 部门名称 部门(副)经理 岗 位岗位代号 岗位名称 岗位权利范围 图5岗位实体 E-R图 图 6 为课程实体 E-R 图 员 工图6课程实体 E-R图 图 7 为教员实体 E-R 图 员 工基本信息 员工需求信息 员工成绩信息 员工计划信息图7教员实体 E-R图 图 8 为培训资源实体 E-R 图 教 员教员代号.名称 教员具有学历 教员教课时间 对教员的评价 图8培训资源实体E-R图 图 9 为教材实体 E-R 图 培训资源现有资源 培训成本 资源需求 培训教材作者/价钱 教材代号 教材现状 /名称图9教材实体 E-R图 实体和实体之间的关系 E-R 图如图 10 所示。 岗位 担任 学员 属于 需求 计划 属于教材 使用课程 教学教员 图10实体之间的关系E-R图 三、 数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。 员工培训管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。 表 1 为 PERSONNEL员工基本状况表。 表1 PERSONNEL员工基本状况表 列 名 数 据 类 型 可否为空 说 明 EMP-NO NUMBER(6) NOT NULL 员工号(主键) 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(2) NULL 婚姻状况 EMP-HEALTH VARCHAR2(20) NULL 健康状况 EMP-STARTWORK DATE NULL 参加工作时间 EMP-STATE VARCHAR2(10) NULL 员工状态 EMP-STATE-DATE DATE NULL 状态时间 EMP-OMEADRESS VARCHAR2(10) NULL 家庭住址 EMP-TELENO NUMBER(10) NULL 联系电话 EMP-EMAIL VARCHAR2(20) NULL 联系地址 JOB-ID NUMBER(3) NULL 工作岗位代号(外部键),指向工作岗位情况表的JOB-ID 表 2 为 SCORE 员工成绩表格。 表2 SCORE员工成绩表格 列名 数据类型 可否为空 说明 EMP-NO NUMBER(6) NOT NULL 员工号(外部键),指向员工基本状况表的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(1) NULL 通过否(0,1表示) 表 3 为 JOB工作岗位情况表。 表3 JOB工作岗位情况表 列 名 数据类型 可否为空 说明 JOB-ID NUMBER(3) NOT NULL 工作岗位代号(主键) JOB-NAME VARCHAR2(10) NULL 工作岗位名称 JOB-POWER VARCHAR2(20) NULL 岗位权力范围 表 4 为COURSE 课程表格。 表4 COURSE课程表格 列名 数据类型 可否为空 说明 COURSE-ID NUMBER(3) NOT NULL 课程号(主键) SUBJECT VARCHAR2(10) NULL 课程类别 COURSE