1、 目录 1、需求分析 3 1.1、系统定义 3 1.2、系统功能需求分析 3 1.3、数据字典 4 1.4、数据流程图 4 2、概念结构设计 4 2.1 设计E-R图的要点 4 2.2设计E-R图 4 3、数据库逻辑结构设计 4 3.1 设计逻辑结构时的要点 4 3.2 关系模式 4 3.3部分关系图: 4 4、物理结构设计 4 4.1 存储方法设计 4 4.2 存取结构设计 4 5、数据库结构的实现 4 6心得体会 4 参考文献 4 员工培训系统 1、需求分析 1.1、系统定义 为了应对全球经济市场化竞争的加剧和商业运作快速反应的要
2、求,企业必须学习快速有效地利用知识参与竞争。因此,很多企业开始将自身知识转化能力的增长看作是迎接竞争的一项重要生产力。企业的不断学习能够帮助企业更快地适应市场环境的飞速变化,通过有效地培训企业员工,赋予员工学习专业技能的机会与能力,企业可以迅速根据市场需求变化,调整分配企业组织的人力资源分布,形成高效的企业组织单元,更好地完成企业运作任务。培训已经成为企业现代化的重要标志。 1.2、系统功能需求分析 员工培训系统需要实现的主要功能包括: 1、员工信息管理功能 l 员工个人信息的录入,包括员工编号、姓名、性别、住址、联系电话、所在 部门编号等信息;
3、 l 员工个人信息的查询; l 员工个人信息的修改; l 员工个人信息的删除。 2、培训课程信息管理功能 l 企业总体培训课程的录入,包括课程编号、名称、培训时间、地点、 人数等信息; l 培训课程的查询; l 培训课程的修改; l 培训课程的删除。 3、培训师信息管理功能 l 培训师信息的录入,包括培训师编号、培训师姓名、培训师电话; l 培训师信息的查询; l 培训师信息的修改; l 培训师信息的删除。 4、职务信息管理功能 l 职务信息的录入,包括职务编号、部门名称、限选课数量等信息; l 职务信息的查询; l 职务信息的修改; l 职
4、务信息的删除。 5、员工选课信息功能 l 员工选课信息录入,包括员工编号、课程编号、是否选修等信息; l 员工选课信息查询; l 员工选课信息修改; l 员工选课信息删除。 1.3、数据字典 1、数据项 编号 数据项名 说明部分 编号 数据项名 说明部分 1 员工编号 字符类型;不可为空,唯一性 2 员工姓名 字符型,长度为10 3 员工性别 枚举类型:男,女 4 员工联系电话 数字串类型 5 员工地址 文本类型 6 职务编号 字符类型;唯一性 7 职务名称 字符类型 8 限选数量 整数类型 9 课程编号 整数
5、类型 10 是否为必修课 枚举类型:是,否 11 课程名称 文本类型 12 培训师编号 整数类型 13 培训师姓名 文本类型 14 培训师联系电话 数字串类型 15 培训地点 文本类型 16 培训时间 格式:**/** 17 上限人数 整数类型 18 是否选修 枚举类型:是,否 2、数据结构 编号 数据结构名 属性 1 员工信息 员工编号,员工姓名,员工性别,员工联系电话,员工地址,职务编号 2 职务信息 职务编号,职务名称,限选数量 3 职务必选课 职务编号,职务名称,是否为必修课 4 培训课程信息 课
6、程编号,课程名称,培训师编号,培训地点,上限人数,培训时间 5 培训师信息 培训师编号,培训师姓名,培训师电话 6 员工选课信息 员工编号,课程编号,是否为选修 3数据流 数据流名 说 明 数据流来源 数据流去向 员工信息 公司员工的基本信息 改变的人员基本信息 人员管理 课程信息 已有程信息 改变的课程信息 课程管理 选课信息 选课的相关信息 选课基本信息的改变 员工选课管理 培训师信息 培训师的基本信息 改变的培训师的信息 培训师管理 4、处理过程 处理过程名 处理说明 输入数据流 输出数据流 查询员工信息
7、查询已有目录的员工信息 无 员工信息 查询培训师信息 查询已有目录的培训师信息 无 培训师信息 查询课程信息 查询已有课程信息 无 课程信息 查询职务订单 查询已有目录职务信息 无 职务信息 添加课程 新的各数据项符合要求 要添加课程的信息 新增的课程信息 添加培训师 新的各数据项符合要求 要添加的培训师信息 新增的培训师信息 删除课程 只能删除已有课程 需要删除的课程信息 删除后的课程信息 查询职务必选课信息 查询已有目录职务必选课信息 无 职务必选课信息 删除员工 只能删除已有员工 需要删除的员工信息 删除后的员工信息
8、删除培训师 只能删除已有培训师 需要删除的培训师信息 修改后的培训师信息 删除职务 只能删除已有职务 需要删除的职务信息 删除后的职务信息 1.4、数据流程图 员 工 拥 有 职 务 选 择 培训课程 培训师 培 训 必修 2、概念结构设计 2.1 设计E-R图的要点 (1)E-R图提供矩形框表示实体型、椭圆表示属性、菱形表示实体型之间的联系。 (2)能独立存在并和其它事物产生某种联系的数据对象,例如课程、员工等,就应把它作为实体;而对于那些不可再分的数据对象,就可将它作为属性。 (3)两个或多个实体间的关联与结合,例如课程、员工、培训
9、师,当需要予以关注时, 应作为联系。联系通常是某类行为动作,E-R图中关注的是其状态与结果而不是它的过程。 (4)实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的飞行员性或属性组),并指定其中一个作为主标识。 2.2设计E-R图 图2.1 员工培训系统的E-R图 3、数据库逻辑结构设计 逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型,即逻辑结构。 3.1 设计逻辑结构时的要点 在本次开发的员工培训系统中,使用的数据库管理系统是SQL Server 20
10、00,将用到设计逻辑结构的常用方法:将概念结构转换为一般的关系模型。在这里即指E-R图向关系模型的转换,实际上就是要将实体型、实体型的属性和实体型之间的联系转换为关系模式。 E-R图是由实体型、实体的属性和实体之间的联系三个要素组成的,所在将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则: 一个实体型变换为一个关系模式,其属性变为关系的属性,其主标识变为关系的主码。 从此次设计出的E-R图中,可知对于实体型间有1:n和m:n的联系,可以转换为一个独立的关系模式。 3.2 关系模式 表 1 员工信息表
11、Employee 字段名 数据类型 是否可空 说明 E_id Char(10) Not null 员工编号 E_name Char (10) Yes 员工姓名 E_sex Char(2) Yes 员工性别 E_PhoneNumber Char(11) Yes 员工联系电话 E_HomeAdress Char(30) Yes 员工住址 D_id Char(10
12、) Yes 职务编号 表 2 职务信息表 Duty 字段名 数据类型 是否可空 说明 D_id Char(10) Not null 职务编号 D_name Char(30) Yes 职务名称 LimitNumber Smallint(2 Yes 限选数量 表 3 职务必选课 NecessaryClass 字段名 数据类型 是否可空 说明 D_id Char(10) Not null 职务编号 C_name
13、 Char(10) Yes 课程编号 DNecessaryClassr Char(2) Yes 是否为必修课 表 4 培训课程信息表 Class 字段名 数据类型 是否可空 说明 C_id Char(10) Not null 课程编号 C_name Char(30) Yes 课程名称 T_id Char(10) Yes l 培训师编号 ClassAdress Char(30) Yes 培训地点 Number Int(4)
14、 Yes 上限人数 Classtime Datetime Yes 培训时间 表 5 培训师信息表 Teacher 字段名 数据类型 是否可空 说明 T_id Char(10) Not null 培训师编号 T_name Char(10) Yes 培训师姓名 T_PhoneNumber Char(11) Yes 培训师电话 表 6 员工选课信息表 EChooseClass 字段名 数据类型 是否可空 说明
15、 E_id Char(10) Not null 员工编号 C_id Char(10) Not null 课程编号 Study Char(2) Yes 是否选修 3.3部分关系图: 图3.3 4、物理结构设计 数据库的物理结构依赖于选定的数据库管理系统,此次报刊管理系统中使用的数据库管理系统是SQL Server 2000。数据库的物理设计主要任务是选择关系模式存取方法和确定数据库存储结构。 4.1 存储方法设计 对课程、员工和培训师三大部分最经常的操作是查询,假设现有n个课程信
16、息,为了方便查询,提高效率,可以在此建立B+树索引,具体设计如下: CREATE UNIQUE INDEX yuangongID ON 员工信息 (员工编号); CREATE UNIQUE INDEX zhiwuID ON 职务信息 (职务编号); CREATE CLUSTER INDEX OrderID ON 培训课程信息(课程编号,培训师编号); CREATE CLUSTER INDEX Order2ID ON职务必选课(职务编号,课程编号); CREATE CLUSTER INDEX Order3ID ON培训师信息 (培训师编号); CREATE CLUSTER INDEX
17、 Order4ID ON员工选课信息(员工编号,课程编号); 4.2 存取结构设计 本员工培训系统中信息处理的特点如下: (1)课程信息的数据经常需要查询,例如了解已有课程信息的基本情况。 (2)员工、课程和培训师三大信息的数据不仅经常需要查询,而且更新速度快,例如经常需要添加、删除或修改员工和培训师,也由此需要更改课程的内容。 (3)员工、课程和培训师这三部分信息要求共享的信息较多。例如员工的编号和姓名,培训师的编号等信息。 所以,对于表员工选课信息、培训师信息和培训课程信息应放在不同的磁盘中,以防止数据丢失,同时提高存取速度;对于索引Order4ID和OrderID等
18、也应放在不同的磁盘中,以提高查询速度。 5、数据库结构的实现 在数据库员工培训系统中创建各表所用的SQL语句: 5.1、员工信息表: CREATE TABLE 员工信息 (员工编号 char (10) PRIMARY KEY, 职务编号 char (10), 员工姓名 char (10), 员工性别 char (2), 员工住址 char (30), 员工联系电话 char (11) ); 5.2、职务信息表: CR
19、EATE TABLE 职务信息 (职务编号 char (10) PRIMARY KEY, 职务名称 char (30) , 限选数量 smallint ) ; 5.3、培训课程信息表: CREATE TABLE 培训课程信息 ( 课程编号 char (10) NOT NULL , 培训师编号 char (10) NOT NULL, 课程名称 char (30) , 培训时间 datetime , 培训地点
20、 char (30) , 上限人数 int , PRIMARY KEY (课程编号,培训师编号), FOREIGN KEY (课程编号) REFERENCES 培训课程信息(课程编号), FOREIGN KEY (培训师编号) REFERENCES 培训师信息(培训师编号)); 5.4、职务必选课表: CREATE TABLE 职务必选课 ( 职务编号 char (10) NOT NULL , 课程编号 char (10) NOT NULL , 是否为必修课 char (2
21、) , PRIMARY KEY (职务编号,课程编号), FOREIGN KEY (职务编号) REFERENCES 职务信息(职务编号), FOREIGN KEY (课程编号) REFERENCES 培训课程信息(课程编号)); 5.5、培训师信息表: CREATE TABLE 培训师信息 (培训师编号 char (10) PRIMARY KEY, 培训师姓名 char (10) , 培训师电话 char (11) ,); 5.6、员工选课信息表: CREATE TABLE 员工选课信息
22、员工编号 char (10) NOT NULL, 课程编号 char (10) NOT NULL, 是否选修 char (2) , PRIMARY KEY (员工编号,课程编号), FOREIGN KEY (员工编号) REFERENCES 员工信息(员工编号), FOREIGN KEY (课程编号) REFERENCES 培训课程信息(课程编号)); 6、心得体会 本次课程设计完成了数据库设计时的五个基本步骤:需求分析、概念结构设计、逻辑结构
23、设计、物理结构设计和数据库实施,使我对数据库设计的各个阶段都有了一定的认识和加强。但在完成设计的过程中,我遇到了一系列的问题,明显感觉到自己在很多方面的不足,但另一方面,问题是要分析解决的,找出问题以便为完善学习计划、改变学习内容与方法提供实践依据。所以在整个过程中,我不断加深了对数据库的理解并加深了对现实管理问题上的可行性,也更进一步地激发了我的学习热情。 做一个课程设计要注意很多方面,无论是格式,还是书写的内容和要表达的思想都得严格要求自己,所以做起来真的不算容易。本次课程设计涉及了很多知识,由于往日没有学得很扎实,对某些问题仍然比较疑惑,所以要进行充足的补习。期间,我翻阅了很多书籍,知
24、识总是联系很紧密的,解决完这个问题又发现了新的问题,之后,为了解决新问题又发现了更多的问题,就这样,我得等到一个一个把问题处理完。 问题越多,明白的也就会越来越多,做一次课程设计就像从头到尾做了一次系统的复习,从基础到难点,从轮廓到每个知识点,数据库的研究内容在我的脑海里就再也不像以前那么模糊了。 数据库知识在解决各个行业中的管理问题上都有着重要的意义,我们应该好好掌握它的相关知识,并在以后的学习过程中,更多的去学会如何运用知识。 参考文献 [1] 王珊,萨师煊. 数据库系统概论.北京:高等教育出版社, 2006 [2] Leszek A.Macias
25、zek.需求分析与系统设计.金芝译.北京:中信出版社,2003 [3] Jeffrey A. Hoffer,Mary B. Prescott,Fred R. McFadden.现代数据库管理. 刘伟琴等译. 北京:清华大学出版社,2008 [4] 汤承林.SQL Server数据库应用基础与实现. 北京:电子工业出版社,2008 [5] 孔令慧,陈涵.SQL Server 2000数据库应用及程序开发. 北京:化学工业出版社,2007 [6] 赛奎春,郑骁鹏,郑齐心.Delphi数据库开发实例解析》.北京:机械工业出版社,2004.1 [7] 李晓喆,张晓辉,李祥胜.SQL Server 2000 管理及应用系统开发.北京:人民邮电出版社 14






