1、山西农业大学资源环境学院数据库系统原理课程设计课程设计题目 公司人事管理 班级 地信1101 课程设计小组成员:姓名 王雪峰 学号 05 姓名 孙俊祥 学号 08 姓名 张靖宙 学号 26 姓名 黄鹏 学号 24 授课教师 毕如田 指导教师 曹 毅 2011年12月19日课程设计内容一 设计概况1课题简介随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理信息系统是一个很好的解决办法。 经过两年年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次软件技术实践的机会,在指导教师的帮助下,历经两周时间,我们自
2、行设计一套教学管理系统,在下面的各章中,我们将以这套公司人事管理信息系统为例,谈谈其开发过程和所涉及到的问题。2设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。数据库应用 课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。数据库原理 软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及
3、系统评价的一般过程,为毕业设计打下基础。3设计内容运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发教学管理信息系统,完成教学管理信息系统的全部功能,包括学生管理子系统,教师管理自系统,后勤管理子系统。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。 然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型二 需求分析1 需求分析的任务 需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调查,收
4、集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。 为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。2 需求分析的过程 (1)登录管理(2)人员管理(3)部门管理(4)报表打印 ( 其中人员管理包括:添加,浏览,修改,撤销,删除,查询等:部门管理包括添加、修改,删除)3 数据字典 经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1 所示。下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需求。
5、 图2.1公司人事管理业务流程图 调查用户需求企业部门需求员工基本信息处理:员工基本信息的录入员工基本信息的处理包括插入,删除以及修改员工基本信息的查询统计功能:按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息 分析用户需求在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA 方法)。首先,定义全局概念结构的框架。经分析之后,本系统要用到九个基本表:系表,班级,学生表,课程表,选课表、教室表、占用表、教师表,教授表。数据结构定义如表2.1 所示。表2.1 数据结构定义数据结构名 1. 员工基本情况。包括的数据项有员工号、员工姓名
6、、性别、身份证号、生日、籍贯、民族、政治面貌、血型、家庭住址、联系电话。2. 工作部门信息。包括的数据项有部门号、部门名称、部门地址。3. 员工职称信息。包括的数据项有职称号、职称名称。4. 员工婚姻状况。包括的数据项有员工号、爱人代号、爱人姓名、爱人籍贯、爱人民族、出生日期、工作单位、政治面貌、工作职称。5. 员工学历信息。包括的数据项有员工号、学位证书编号、学历、专业、毕业时间、毕业院校。 6. 员工考勤信息。包括的数据项有员工号、员工姓名、日期,本月天数,公休假天数,应出勤天数,请假,节假日加班,其它加班。7. 员工工资信息。包括的数据项有员工号,姓名,底薪,补贴,奖金,加班费,代扣养老
7、金,代扣医疗保险,代扣住房公积金,所得税,实发工资。三 概念结构设计1 概念结构设计的方法与步骤2 概念结构设计的方法 设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本教学系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向上地进行需求分析然后再自底上上地进行概念设计。2.1 概念结构设计的步骤 概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视图,得到全局的概念结构。2.2 数据抽象与局部视图设计按照图2.2 教学学管理系统总框架图,设计局部E-R 图。员工实体E-R图:部门实体E-R图:职称实体E-R图:爱人
8、实体E-R图:学历实体E-R图:考勤实体E-R图:工资实体E-R图:实体E-R总图: 四 逻辑结构设计1 E-R 图向关系模型的转换将图3.4 总体概念结构E-R 图转化成关系模型。员工(员工号、员工姓名、性别、身份证号、生日、籍贯、民族、健康状况、政治面貌、血型、家庭住址、联系电话)部门(部门号、员工号、部门名称、部门地址、参加工作时间)职称(职称号、员工号、职称名称)爱人(爱人代号、员工号、爱人姓名、爱人籍贯、爱人民族、出生日期、结婚时间、工作单位、政治面貌、工作职称)学历(学位证书编号、员工号、学历、专业、毕业时间、毕业院校)考勤(员工号、日期、员工姓名、本月天数、公休假天数、应出勤天数
9、、请假、节假日加班、其它加班)工资(员工号,姓名,底薪,补贴,奖金,加班费,代扣养老金,代扣医疗保险,代扣住房公积金,所得税,实发工资)2 数据模型的优化数据库德逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的优化。规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。关系数据模型的优化通常以规范化理论为指导, 3 数据库的结构给出数据库基本表总体结构图。根据总体结构图设计各表的结构。员工表的结构字段名数据类型长度约束员工号CHAR6NOT NULL(
10、主键)员工姓名VARCHAR10NULL性别VARCHAR2NULL出生日期DATENULL籍贯VARCHAR8NULL民族VARCHAR10NULL身份证号CHAR2NULL健康状况VARCHAR20NULL政治面貌VARCHAR4NULL血型VARCHAR2NULL家庭住址VARCHAR10NULL联系电话CHAR10NULL部门表的结构字段名数据类型长度约束员工号CHAR6NOT NULL(外键)部门号CHAR6NOT NULL(主键)部门名称VARCHAR10NULL部门地址VARCHAR20NULL参加工作时间DATENULL职称表的结构字段名数据类型长度约束职称号CHAR6NOT
11、NULL(主键)职称名称VARCHAR10NULL员工号CHAR6NOT NULL(外键)婚姻表的结构字段名数据类型长度约束员工号CHAR6NOT NULL(外键)爱人代号CHAR6NOT NULL(主键)爱人姓名VARCHAR10NULL爱人籍贯VARCHAR8NULL爱人民族VARCHAR10NULL出生日期DATENULL结婚时间DATENULL工作单位VARCHAR20NULL政治面貌VARCHAR4NULL工作职称VARCHAR10NULL学历表的结构字段名数据类型长度约束员工号CHAR6NOT NULL(外键)学位证书编号CHAR15NOT NULL(主键)学历CHAR6NULL专
12、业VARCHAR10NULL毕业时间DATENULL毕业院校VARCHAR20NULL考勤表的结构字段名数据类型长度约束员工号CHAR6NOT NULL(外键)员工姓名VARCHAR10NULL日期DATENULL本月天数CHAR3NULL公休假天数CHAR3NULL应出勤天数CHA3NULL请假CHAR3NULL节假日加班CHAR3NULL其它加班CHAR3NULL工资表的结构字段名数据类型长度约束员工号(外键)CHAR(6)6NOT NULL员工姓名VARCHAR(10)10NULL底薪INTNOT NULL补贴INTNULL奖金INTNULL加班费INTNULL代扣养老金INTNULL代
13、扣医疗保险INTNULL代扣住房公积金INTNULL所得税INTNULL实发工资INTNULL五 物理设计阶段1 数据存储方面2 系统功能模块(1)员工表的查询和更新模块 将完成员工基本信息的查询、更新(修改、插入、删除)操作,便于对员工信息的集中管理(2)部门表的查询和更新模块 将完成员工所在部门基本信息的查询、更新(修改、插入、删除)操作,便于对员工信息的集中管理(3)职称表的查询和更新模块 将完成职称基本信息的查询、更新(修改、插入、删除)操作,便于对员工职称信息的集中管理(4)婚姻表的查询和更新模块 将完成对婚姻基本信息的查询、更新(修改、插入、删除)操作,便于对员工信息的集中管理(5
14、)学历表的查询和更新模块 将完成员工学历基本信息的查询、更新(修改、插入、删除)操作,便于对员工信息的集中管理(6)考勤表的查询和更新模块 将完员工考勤基本信息的查询、更新(修改、插入、删除)操作,便于对员工信息的集中管理(7)工资表的查询和更新模块 将完成员工的工资基本信息的查询、更新(修改、插入、删除)操作,便于对员工信息的集中管理3物理设计阶段结果编号存储过程1 员工表_insert2部门表_insert3职称表_insert4爱人表_insert5学历表_insert6考勤表_insert7工资表_insert 存储过程汇总 (其他表的查询、修改、删除与上面表的大致相同,这里不再具体列
15、出)4 数据库实施阶段4.1数据库实施阶段目标用DBMS所提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果描述出来,成为DBMS可以接受的源代码,在经过调试生成目标模式4.2数据库实施阶段任务4.2.1建立数据库建立公司人事管理系统;4.2.2建立数据表建立员工表:SQL语言的实现:CREATE TABLE dbo.员工信息表(员工号 char(6) COLLATE Chinese_PRC_CI_AS NOT NULL,员工姓名 varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,性别 char(10) COLLATE Chinese_P
16、RC_CI_AS NOT NULL,出生日期 datetime NOT NULL,籍贯 varchar(8) COLLATE Chinese_PRC_CI_AS NOT NULL,民族 varchar(10) COLLATE Chinese_PRC_CI_AS NOT NULL,分身证号 char(2) COLLATE Chinese_PRC_CI_AS NOT NULL,健康状况 varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL,政治面貌 varchar(4) COLLATE Chinese_PRC_CI_AS NOT NULL,家庭住址 varc
17、har(50) COLLATE Chinese_PRC_CI_AS NOT NULL,联系电话 char(10) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARY建立部门表:SQL语言的实现:CREATE TABLE dbo.部门表(员工号 char(6) COLLATE Chinese_PRC_CI_AS NOT NULL,部门号 char(6) COLLATE Chinese_PRC_CI_AS NOT NULL,部门名称 char(40) COLLATE Chinese_PRC_CI_AS NULL,部门地址 varchar(20) COLLA
18、TE Chinese_PRC_CI_AS NULL,参加工作时间 datetime NULL) ON PRIMARY建立婚姻表SQL语言的实现:CREATE TABLE dbo.婚姻状况表(员工号 char(6) COLLATE Chinese_PRC_CI_AS NOT NULL,爱人代号 char(6) COLLATE Chinese_PRC_CI_AS NOT NULL,爱人姓名 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,爱人籍贯 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,爱人民族 varchar(5
19、0) COLLATE Chinese_PRC_CI_AS NULL,出生日期 datetime NULL,结婚时间 datetime NULL,工作单位 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,政治面貌 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,工作职称 varchar(50) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARY建立学历表SQL语言的实现:CREATE TABLE dbo.学历表(员工号 char(10) COLLATE Chinese_PRC_CI_AS
20、 NOT NULL,学位证书编号 char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,学历 char(10) COLLATE Chinese_PRC_CI_AS NULL,专业 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,毕业时间 datetime NULL,毕业院校 varchar(50) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARY建立考勤表SQL语言的实现:CREATE TABLE dbo.考勤表(员工号 char(10) COLLATE Chinese_PRC_CI_A
21、S NOT NULL,员工姓名 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,日期 datetime NULL,本月天数 char(10) COLLATE Chinese_PRC_CI_AS NULL,公休天数 char(10) COLLATE Chinese_PRC_CI_AS NULL,应出勤天数 char(10) COLLATE Chinese_PRC_CI_AS NULL,请假 char(10) COLLATE Chinese_PRC_CI_AS NULL,节假日加班 char(10) COLLATE Chinese_PRC_CI_AS NULL
22、,其它加班 char(10) COLLATE Chinese_PRC_CI_AS NULL) ON PRIMARY建立工资表SQL语言的实现:CREATE TABLE dbo.工资表(员工号 char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,员工姓名 varchar(50) COLLATE Chinese_PRC_CI_AS NULL,底薪 int NULL,补贴 int NULL,奖金 int NULL,加班费 int NULL,实发工资 int NULL) ON PRIMARY5 存储过程定义六 数据库的实施与运行 1基于数据表的数据查询(员工表查询)
23、 (考勤表查询)(学历表查询)(部门表查询)2基于视图的数据查询 。(员工表视图查询) (婚姻表视图查询)(工资表视图查询) 课程设计总结这次数据库课程设计经历了从选题、目录、摘要、前言、系统设计、需求分析到E-R图设计,再到关系模型设计,最后建立数据库。在这其中我通过查阅相关书籍,进行了很多次大大小小的扩充和修改,使数据库结构和内容更趋于完善。通过这次课程设计,我们收益颇丰,感受深刻。虽然我这次做的设计可能不够好,但是为我对以后的数据库设计打下了很好的基础。在做这次课程设计的过程中,我们很努力,虽然当中我遇到很多难题,但是最终我还是顺利地完成了此次工作。 在这两周的学习中,我终于体会到SQL
24、 Server 2005功能的功能丰富,表达能力强,使用灵活方便,应用面广。但是在其优势后面必然也隐藏着劣势,那就是对程序员的要求特别高。随着社会的发展,人类需要处理的数据越来越多,对数据管理的要求也越来越重要。软件的发展也从面向程序发展成为面向数据。小组成员的分工:王雪峰:需求分析,逻辑结构设计黄鹏:概念结构设计张靖宙:物理结构设计孙俊祥:数据库的实施,运行,维护参考文献1 王珊,陈红数据库系统原理教程清华大学出版社,1998年7月2 石树刚、郑振梅编著关系数据北京清华大学出版社,1994年3 郑人杰等编辑使用软件工程第二版。北京大学清华大学出版社,1997 年4 萨师煊、王珊数据库系统概论(第三版)。北京:高等教育出版社,2000年27