数据库人事管理系统课程设计报告

合集下载

人事管理系统 数据库课程设计报告

人事管理系统 数据库课程设计报告

人事管理系统数据库课程设计报告1.开发背景22.系统描述23.数据分析23.1.数据流图23.2.数据字典34.概念模型设计45. 逻辑模型设计及优化 56. 物理设计和实施87.应用程序设计(前台)88.课程设计心得体会 99.参考文献101.开发背景90年代中期,由于Internet 的迅速普及,形成了集运算机,运算机网络、数据库、分布式运算等于一体的信息技术综合体,它打破了时刻和地域的界限,使信息交流变得快捷、准确,为建立现代企业治理信息系统提供了充足的条件。

随着企业的持续进展,企业的职员数量持续增加,纯文本手工的治理方式差不多不能满足企业治理者的需求。

与此同时,由于Int ernet 的迅速普及,使Intranet成为Internet技术在企业治理信息系统中的应用和延伸,形成了集运算机,运算机网络、数据库、分布式运算等于一体的信息技术综合体,它打破了时刻和地域的界限,使信息交流变得快捷、准确,为建立现代企业治理信息系统提供了充足的条件。

人事治理系统,属于ERP的一个部分。

它单指聚拢成功企业先进的人力资源治理理念、人力资源治理实践、人力资源信息化系统建设的体会,以信息技术实现对企业人力资源信息的高度集成化治理,为中国企业使用的人力资源管懂得决方案。

核心价值在于将人力资源工作者从繁重的日常琐碎事务中解放出来,将更多地精力用于企业的人力资源职能治理和治理决策,保持企业的连续高效运营。

集中记录、监测和分析所有劳动力的技能和资格,提供决策分析。

提升企业整体的科技含量与治理效率,加快企业的信息化建设。

此系统是专门为中小型企业治理人事信息所开发的,以方便对职员进行治理。

2.系统描述通过调研及分析,人事馆治理信息系统要紧完成以下功能:人事档案治理功能。

人员薪酬治理功能。

人员培训治理功能。

各类报表生成功能。

权限治理功能人员奖惩情形治理功能。

3.数据分析3.1.数据流图通过需求分析,得出人事治理信息系统的登陆操作处理数据流如图1所示图1 登陆操作处理数据流图3.2.数据字典(1) 数据流名称:职员情形位置:职员定义:职员情形=姓名+出生日期+名族+学历+职称+性别等数据流量:按照公司的职员具体录用情形来确定讲明:要对每一位聘用的职员进行唯独编号(2) 数据流名称:奖罚情形位置:职员定义:奖罚情形=职员流水号+奖罚类型+奖罚金额+奖罚日期数据流量:按照公司的职员具体录用情形来确定讲明:要对每一次奖罚记录进行唯独编号(3) 数据流名称:工资发放位置:职员定义:工资查询=职员编号+差不多工资+奖金+罚款+起始时刻+截止日期+发薪日期数据流量:按照公司的职员具体录用情形来确定讲明:按照工号和发薪日期能够唯独确定一个工资记录(4) 数据流名称:治理员情形定义:用户身份等与职员编号数据流量:按照公司的职员具体录用情形来确定讲明:要对每一位治理员建立唯独账号(5) 数据流名称:用户身份位置:安全治理讲明:不同的用户对应不同的操作权限,对应着不同的安全级别(6) 数据流名称:部门治理,其数据项要紧有部门代号,部门经理,部门名称等(7) 数据流名称:培训治理数据项要紧包括培训课程,培训开始时刻,培训终止时刻,培训职员,培训地点培训费用等讲明:不同的用户不同的课程对应这不同的培训项目(8)数据流名称:考勤治理数据项要紧包括:id,请假讲明,开始日期,终止日期,批准部门,批准人,批准日期讲明:不同的id对应着不同的考勤治理4.概念模型设计按照系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图2所示。

数据库课程设计报告(人事管理系统)

数据库课程设计报告(人事管理系统)

课程设计报告课程设计题目:人事管理系统姓名:学号:班级:指导教师:2021 年1月15日一.题目分析:人事管理系统是企、事业单位常见的计算机信息管理系统。

它的主要任务是对各种人事信息进行日常的信息管理,如人员信息的输入、查询、修改、增加、删除,迅速准确地完成各种人员信息的统计计算和汇总,快速打印出报表。

在建立与实现人事管理系统时,进行了功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统守成,充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。

工资管理系统是数据库管理系统的一个比拟典型的应用,前台使用的是微软的VB6.0,后台数据库采用Microsoft SQL Sever数据库。

运行结果证明,本人事管理系统极大提高了工作效率,节省了人力和物力,自重满足企业员工管理的需要。

人事管理系统的主要任务是用计算机对各种员工信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种员工信息的统计计算和汇总工作,针对系统效劳对象的具体要求,设计了人事管理系统。

人事管理系统主要有以下几大功能:(1)对单位人员的变动进行处理。

一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。

因此,设计系统是应考虑到这些情况。

(2)对职工的工资进行计算、修改。

可以对职工的工资档案进行个别、局部和批量修改,同时,能对各职工的工资进行计算,即计算根本工资、岗位工资、水电费及实发金额等。

(3)查询统计功能。

要求即可以单项查询,比方查看某个职工的就职情况等;也可以多项查询,比方某个部门所有的员工的工资信息。

二.设计分析:1,数据表的设计:〔1〕根本信息表:(2)根本部门表(3)2.ER图设计:3.ER图转换成关系模式:〔主键添加下划线〕(1)根本信息〔编号,姓名,性别,籍贯,年龄,学历,婚姻状况,部门,职称,参加工作时间,岗位,工资,身份证号,号码,备注〕(2)职工部门:(部门编号,部门名称,职工总数,部门负责人,所有职工编号)(3)职工工资表:〔编号,姓名,工资,奖金〕(4)人事管理〔编号,部门编号,姓名〕三.创立人事管理系统〔数据库局部〕1创立数据库:(1)创立数据库的实现:create database人事管理系统on primary(name=人事管理系统,filename='G:\数据库\人事管理系统.mdf',size=5,maxsize=100,filegrowth=10%)log on(name=人事信息管理系统,filename='G:\数据库\人事管理系统.ldf',size=3,maxsize=100,filegrowth=5)(2)创立数据库:2.创立根本数据表:〔1〕创立数据标的实现;use人事管理系统create table根本职工信息表(姓名varchar(20),编号char(8),性别char(8),籍贯char(10),年龄int,学历varchar(20),婚姻状况varchar(20),部门varchar(20),职称varchar(20),参加工作时间char(10),岗位varchar(30),工资char(20),省份证号varchar(30),号码varchar(30),备注varchar (50))use人事管理系统create table职工部门表(部门编号int,部门名称varchar(30),部门负责人varchar(30),职工总数int,所有职员编号varchar(100) )use人事管理系统create table职工工资表(编号char(8),姓名varchar(50),工资char(20),奖金char(8))数据表的创立:①根本信息表:②职工部门表③职工工资表3.创立存储过程:create proc p2(@sname varchar(20))asif exists( select * from 职工根本信息表where sname=@sname)select * from 职工根本信息表where sname=@snameelseprint '查无此人'p2 '刘'4.创立触发器:create trigger tr1on 根本职工信息表for insertasprint '任何人不得添加数据'rollbackselect * from s四,创立人事管理系统访问键面:〔VB局部〕1,创立键面的实现代码:(1)根本职工信息查询:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()With Adodc1.RecordsetText1(0) = .Fields("姓名")Text1(1) = .Fields("编号")Text1(2) = .Fields("性别")Text1(3) = .Fields("籍贯")End WithEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""strsql1 = "select *from 根本职工信息表" Adodc1.ConnectionString = connAdodc1.RecordSource = strsql1Adodc1.RefreshSet DataGrid1.DataSource = Adodc1 With Adodc1.RecordsetText1.Text = .Fields("姓名")Text2.Text = .Fields("编号")Text3.Text = .Fields("性别")Text4.Text = .Fields("籍贯")End WithEnd Sub(2)根本的职工工资:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()With Adodc1.RecordsetText1(0) = .Fields("姓名")Text1(1) = .Fields("编号")Text1(2) = .Fields("性别")Text1(3) = .Fields("籍贯")End WithEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""strsql1 = "select *from 根本职工信息表"Adodc1.ConnectionString = connAdodc1.RecordSource = strsql1Adodc1.RefreshSet DataGrid1.DataSource = Adodc1With Adodc1.RecordsetText1.Text = .Fields("姓名")Text2.Text = .Fields("编号")Text3.Text = .Fields("性别")Text4.Text = .Fields("籍贯")End WithEnd Sub(3)职工部门:Private Sub cmdAdd_Click()Data1.Recordset.AddNewEnd SubPrivate Sub cmdDelete_Click()'如果删除记录集的最后一条记录'记录或记录集中唯一的记录Data1.Recordset.DeleteData1.Recordset.MoveNextEnd SubPrivate Sub cmdRefresh_Click()'这仅对多用户应用程序才是需要的Data1.RefreshEnd SubPrivate Sub cmdUpdate_Click()Data1.UpdateRecordData1.Recordset.Bookmark = stModified End SubPrivate Sub cmdClose_Click()Unload MeEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer) '这就是放置错误处理代码的地方'如果想忽略错误,注释掉下一行代码'如果想捕捉错误,在这里添加错误处理代码MsgBox "数据错误事件命中错误:" & Error$(DataErr) Response = 0 '忽略错误End SubPrivate Sub Data1_Reposition()Screen.MousePointer = vbDefaultOn Error Resume Next'这将显示当前记录位置'为动态集和快照Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)'对于Table 对象,当记录集创立后并使用下面的行时,'必须设置Index 属性'Data1.Caption = "记录:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1End SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer)Select Case ActionCase vbDataActionMoveFirstCase vbDataActionMovePreviousCase vbDataActionMoveNextCase vbDataActionMoveLastCase vbDataActionAddNewCase vbDataActionUpdateCase vbDataActionDeleteCase vbDataActionFindCase vbDataActionBookmarkCase vbDataActionCloseEnd SelectScreen.MousePointer = vbHourglassEnd Sub〔4〕根本职工信息:Private Sub cmdAdd_Click()Data1.Recordset.AddNewEnd SubPrivate Sub cmdDelete_Click()'如果删除记录集的最后一条记录'记录或记录集中唯一的记录Data1.Recordset.DeleteData1.Recordset.MoveNextEnd SubPrivate Sub cmdRefresh_Click()'这仅对多用户应用程序才是需要的Data1.RefreshEnd SubPrivate Sub cmdUpdate_Click()Data1.UpdateRecordData1.Recordset.Bookmark = stModifiedEnd SubPrivate Sub cmdClose_Click()Unload MeEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer)'这就是放置错误处理代码的地方'如果想忽略错误,注释掉下一行代码'如果想捕捉错误,在这里添加错误处理代码MsgBox "数据错误事件命中错误:" & Error$(DataErr)Response = 0 '忽略错误End SubPrivate Sub Data1_Reposition()Screen.MousePointer = vbDefaultOn Error Resume Next'这将显示当前记录位置'为动态集和快照Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)'对于Table 对象,当记录集创立后并使用下面的行时,'必须设置Index 属性'Data1.Caption = "记录:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1End SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer)'这是放置验证代码的地方'当下面的动作发生时,调用这个事件Select Case ActionCase vbDataActionMoveFirstCase vbDataActionMovePreviousCase vbDataActionMoveNextCase vbDataActionMoveLastCase vbDataActionAddNewCase vbDataActionUpdateCase vbDataActionDeleteCase vbDataActionFindCase vbDataActionBookmarkCase vbDataActionCloseEnd SelectScreen.MousePointer = vbHourglass End Sub2.实现:〔1〕登陆键面:〔2〕根本菜单〔3〕修改密码(4)根本信息:(5)五:实验总结1.实验中遇到的问题:(1)数据库中存储过程和触发器的建立,因为在平时的学习中没有太认真的学习这一块以至于在课程设计的过程中这块存在者严重的问题,但是在同学的帮助下及时的得到了解决(2)数据库与VB的连接访问2,心得:很多的题目看似简单,其实不然,,一开始看了只有这么几个模块是心里挺快乐的,但是当我真真正正地去把一个操作写成功时,很多意想不到的情况发生了。

数据库课程设计报告--人事管理系统

数据库课程设计报告--人事管理系统

数据库课程设计报告人事管理系统班级:序号:姓名:地球科学学院地信系2013—06—28一、概述1.1项目背景:90年代中期,由于Internet 的迅速普及,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件.随着企业的不断发展,企业的员工数量不断增加,纯文本手工的管理方式已经不能满足企业管理者的需求。

与此同时,人事管理系统,属于ERP的一个部分。

它单指汇集成功企业先进的人力资源管理理念、人力资源管理实践、人力资源信息化系统建设的经验,以信息技术实现对企业人力资源信息的高度集成化管理,为中国企业使用的人力资源管理解决方案。

1.2项目目的:核心目的在于将人力资源工作者从繁重的日常琐碎事务中解放出来,将更多地精力用于企业的人力资源职能管理和管理决策,保持企业的持续高效运营. 集中记录、监测和分析所有劳动力的技能和资格,提供决策分析.提高企业整体的科技含量与管理效率,加快企业的信息化建设。

此系统是专门为中小型企业管理人事信息所开发的,以方便对员工进行管理。

二、需求分析2。

1、业务需求a.系统操作简单,界面友好。

B.支持多人操作,要求有权限分配功能。

2。

2、用户需求2。

2.1、员工可以实现的功能:a.用户登录:登陆应用程序查看自己的信息b.修改密码:修改用户自己的密码2.2.2、管理员实现的功能:a.用户注册:实现员工的注册,分配默认的帐户密码b.基本信息:统计与查询员工基本信息c。

信息修改调动:调动修改员工的信息和部门信息。

d.系统管理:主要对用户的密码、管理权限的设置等。

2。

3功能模块:(1)登陆模块通过该模块员工输入用户名密码登录到软件界面,登陆有两种权限,一种是普通员工,一种是管理员,不同的权限,能操作的模块不同。

(2)信息查询模块这个查询模块员工与管理员都可以使用,查询信息包括员工信息查询与调动信息查询。

数据库人事管理系统课程设计报告

数据库人事管理系统课程设计报告

郑州大学西亚斯国际学院《数据库原理与应用》课程设计报告课程名称数据库原理与应用设计题目人事管理系统专业班级软件工程1班学生姓名XXXX学号2015XXXX44指导教师XXXX2016年12 月14 日前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。

其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视.利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。

在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。

本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。

目录------------------------------------------------------------------------------------------------------一、---------------------基本情况与需求分析二、----------------------------功能模块划分三、----------------------------概念结构设计四、----------------------------逻辑结构设计五、----------------------课程设计的心得体会----------------------------------------------------------------------------------------------------- 第一部分:基本情况与需求分析1.基本情况2.需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。

数据库人事管理系统课程设计报告

数据库人事管理系统课程设计报告

郑州大学西亚斯国际学院《数据库原理与应用》课程设计报告课程名称数据库原理与应用设计题目人事管理系统专业班级软件工程1班学生姓名XXXX学号2015XXXX44指导教师XXXX2016年12 月14 日前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。

其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视.利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。

在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。

本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。

目录------------------------------------------------------------------------------------------------------一、---------------------基本情况与需求分析二、----------------------------功能模块划分三、----------------------------概念结构设计四、----------------------------逻辑结构设计五、----------------------课程设计的心得体会----------------------------------------------------------------------------------------------------- 第一部分:基本情况与需求分析1.基本情况2.需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。

数据库人事管理系统课程设计报告

数据库人事管理系统课程设计报告

郑州大学西亚斯国际学院《数据库原理与应用》课程设计报告课程名称数据库原理与应用设计题目人事管理系统专业班级软件工程1班学生姓名XXXX学号2015XXXX44指导教师XXXX2016年12 月14 日前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。

其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视.利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。

在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。

本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。

目录------------------------------------------------------------------------------------------------------一、---------------------基本情况与需求分析二、----------------------------功能模块划分三、----------------------------概念结构设计四、----------------------------逻辑结构设计五、----------------------课程设计的心得体会----------------------------------------------------------------------------------------------------- 第一部分:基本情况与需求分析1.基本情况2.需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。

数据库人事管理系统课程设计报告

数据库人事管理系统课程设计报告

郑州大学西亚斯国际学院《数据库原理与应用》课程设计报告课程名称数据库原理与应用设计题目人事管理系统专业班级软件工程1班学生姓名XXXX学号2015XXXX44指导教师XXXX2016年12 月14 日前言数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一.其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视。

利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。

在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要.本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。

目录-—-——-———--————-———————-——--———-—---——-----——-—————-—-——-------———--—-—————--———-———-—--———-----—-——-—一、-——-—---—--—----——---基本情况与需求分析二、———--————--—-——---—-—--—---—功能模块划分三、——-———-—----—--—-——-—-----——概念结构设计四、-——-—-——-—---—---—-—-——-—-—-逻辑结构设计五、---—————-—-————-———-—-课程设计的心得体会-—-———-——-——--—-—-----——-—-———-———---——---——-----————--—---—--—-—--—----—-——--—---————-——--——-————-——第一部分:基本情况与需求分析1。

人事管理系统数据库课程设计报告

人事管理系统数据库课程设计报告

人事管理系统数据库课程设计报告一、项目概述随着信息化和智能化的发展,各行各业都在程度上的引入计算机等技术手段。

而人事管理系统作为一种集成计算机技术,信息处理和社会人事管理相结合的管理模式,正在逐渐成为各大企业的标配,以管人为本成为共识。

因此,为了更好地管理企业内部人员,本文将详细介绍一款“人事管理系统数据库”课程的设计报告。

二、需求分析1. 功能需求:(1)员工信息管理: 实现员工信息的增、删、改、查等操作;(2)薪资管理:实现薪资的增、删、改、查等操作;(3)职位管理:进行职位添加、职位调整等操作;(4)培训管理:对员工培训情况进行记录和查询;(5)统计分析:生成各种统计报表;2. 性能需求:此系统为企业内部使用,需要在一定的时间内完成数据的录入和查询,同时对数据库的性能有一定要求。

3. 安全需求:为了确保企业内部数据的安全,必须对系统的访问进行一定的权限分配。

三、系统设计1. 概念结构设计本项目使用统一的“员工信息”作为核心数据,通过包括“薪资信息”、“职位信息”、“培训信息”等辅助数据来构建系统所需要的各种功能。

其中,“员工信息”包括员工的基本信息、薪资信息和职位信息,“培训信息”用于记录员工的培训情况。

2. 数据库设计本系统使用MySQL数据库。

根据以上分析,设计了以下几个数据库表:(1) 员工信息表(emp): id, name, age, gender, department, position, salary;(2) 薪资信息表(salary): id, emp_id, base_salary, bonus;(3) 职位信息表(position): id, position_name,position_desc;(4) 培训信息表(training): id, emp_id,training_name, training_desc, training_date。

在设计表结构时,需要考虑数据类型合理、数据冗余避免、数据关系建立等问题。

数据库课程设计报告(人事管理系统)

数据库课程设计报告(人事管理系统)

课程安排报告之阳早格格创做课程安排题目:人事管制系统姓名:教号:班级:指挥西席:2016 年1月15日一.题目分解:人事管制系统是企、职业单位罕睹的估计机疑息管制系统.它的主要任务是对付百般人事疑息举止凡是的疑息管制,如人员疑息的输进、查询、建改、减少、简略,赶快准确天完毕百般人员疑息的统计估计战汇总,赶快挨印出报表.正在建坐与真止人事管制系统时,举止了功能区分,不妨由数据库管制系统完毕的功能应尽大概由数据库管制系统守成,充散收挥数据库管制系统下效、真足、稳当、便利的本能,缩小编程人员的处事量.人为管制系统是数据库管制系统的一个比较典型的应用,前台使用的是微硬的VB6.0,背景数据库采与Microsoft SQL Sever数据库.运止截止说明,自己事管制系统极大普及了处事效用,节省了人力战物力,自重谦脚企业职工管制的需要.人事管制系统的主要任务是用估计机对付百般职工疑息举止凡是的管制,如查询、建改、增加、简略以及保存等,赶快准确天完毕百般职工疑息的统计估计战汇总处事,针对付系统服务对付象的简直央供,安排了人事管制系统.人事管制系统主要有以下几大功能:(1)对付单位人员的变动举止处理.一个单位的职工不会是一成稳定的,经常正在不竭的变更:有调出、有调进、也有职工正在原单位里里安排.果此,安排系统是应试虑到那些情况.(2)对付职工的人为举止估计、建改.不妨对付职工的人为档案举止各别、部分战批量建改,共时,能对付各职工的人为举止估计,即估计基原人为、岗位人为、火电费及真收金额等.(3)查询统计功能.央供即不妨单项查询,比圆查看某个职工的便职情况等;也不妨多项查询,比圆某个部分所有的职工的人为疑息.二.安排分解:1,数据表的安排:(1)基原疑息表:(2)基原部分表(3)职工人为表2.ER图安排:3.ER图变换成闭系模式:(主键增加下划线)(1)基原疑息(编号,姓名,性别,籍贯,年龄,教力,婚姻情景,部分,职称,介进处事时间,岗位,人为,身份证号,电话号码,备注)(2)职工部分:(部分编号,部分称呼,职工总数,部分控制人,所有职工编号)(3)职工人为表:(编号,姓名,人为,奖金)(4)人事管制(编号,部分编号,姓名)三.创造人事管制系统(数据库部分)1创造数据库:(1)创造数据库的真止:createdatabase人事管制系统onprimary(name=人事管制系统,filename='G:\数据库\人事管制系统.mdf',size=5,maxsize=100,filegrowth=10%)logon(name=人事疑息管制系统,filename='G:\数据库\人事管制系统.ldf',size=3,maxsize=100,filegrowth=5)(2)创造数据库:2.创造基原数据表:(1)创造数据目标真止; use人事管制系统createtable基原职工疑息表(姓名varchar(20),编号char(8),性别char(8),籍贯char(10),年龄int,教力varchar(20),婚姻情景varchar(20),部分varchar(20),职称varchar(20),介进处事时间char(10),岗位varchar(30),人为char(20),省份证号varchar(30),电话号码varchar(30),备注varchar (50))use人事管制系统createtable职工部分表(部分编号int,部分称呼varchar(30),部分控制人varchar(30),职工总数int,所有职员编号varchar(100) )use人事管制系统createtable职工人为表(编号char(8),姓名varchar(50),人为char(20),奖金char(8))数据表的创造:基原疑息表:职工部分表职工人为表3.创造保存历程:create proc p2(@sname varchar(20)) asif exists( select * from 职工基原疑息表where sname=@sname) select * from 职工基原疑息表where sname=@snameelseprint '查无此人'p2 '刘'4.创造触收器:create trigger tr1on 基原职工疑息表for insertasprint '所有人不得增加数据'rollbackselect * from s四,创造人事管制系统考察键里:(VB部分)1,创造键里的真止代码:(1)基原职工疑息查询:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()Text1(0) = .Fields("姓名")Text1(1) = .Fields("编号")Text1(2) = .Fields("性别")Text1(3) = .Fields("籍贯")End WithEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""strsql1 = "select *from 基原职工疑息表" Adodc1.ConnectionString = connAdodc1.RecordSource = strsql1Set DataGrid1.DataSource = Adodc1Text1.Text = .Fields("姓名")Text2.Text = .Fields("编号")Text3.Text = .Fields("性别")Text4.Text = .Fields("籍贯")End WithEnd Sub(2)基原的职工人为:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub DataGrid1_Click()Text1(0) = .Fields("姓名")Text1(1) = .Fields("编号")Text1(2) = .Fields("性别")Text1(3) = .Fields("籍贯")End WithEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""strsql1 = "select *from 基原职工疑息表" Adodc1.ConnectionString = connAdodc1.RecordSource = strsql1Set DataGrid1.DataSource = Adodc1Text1.Text = .Fields("姓名")Text2.Text = .Fields("编号")Text3.Text = .Fields("性别")Text4.Text = .Fields("籍贯")End WithEnd Sub(3)职工部分:Private Sub cmdAdd_Click()End SubPrivate Sub cmdDelete_Click()'如果简略记录集的末尾一条记录'记录或者记录集结唯一的记录End SubPrivate Sub cmdRefresh_Click()'那仅对付多用户应用步调才是需要的End SubPrivate Sub cmdUpdate_Click()End SubPrivate Sub cmdClose_Click()Unload MeEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer) '那便是搁置过失处理代码的场合'如果念忽略过失,注释掉下一止代码'如果念捕获过失,正在那里增加过失处理代码MsgBox "数据过失事变掷中过失:" & Error$(DataErr)Response = 0 '忽略过失End SubPrivate Sub Data1_Reposition()Screen.MousePointer = vbDefaultOn Error Resume Next'那将隐现目前记录位子'为动向集战快照Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)'对付于Table 对付象,当记录集创造后并使用底下的止时,'必须树坐Index 属性'Data1.Caption = "记录:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1End SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer)Select Case ActionCase vbDataActionMoveFirstCase vbDataActionMovePreviousCase vbDataActionMoveNextCase vbDataActionMoveLastCase vbDataActionAddNewCase vbDataActionUpdateCase vbDataActionDeleteCase vbDataActionFindCase vbDataActionBookmarkCase vbDataActionCloseEnd SelectScreen.MousePointer = vbHourglassEnd Sub(4)基原职工疑息:Private Sub cmdAdd_Click()End SubPrivate Sub cmdDelete_Click()'如果简略记录集的末尾一条记录'记录或者记录集结唯一的记录End SubPrivate Sub cmdRefresh_Click()'那仅对付多用户应用步调才是需要的End SubPrivate Sub cmdUpdate_Click()End SubPrivate Sub cmdClose_Click()Unload MeEnd SubPrivate Sub Data1_Error(DataErr As Integer, Response As Integer)'那便是搁置过失处理代码的场合'如果念忽略过失,注释掉下一止代码'如果念捕获过失,正在那里增加过失处理代码MsgBox "数据过失事变掷中过失:" & Error$(DataErr)Response = 0 '忽略过失End SubPrivate Sub Data1_Reposition()Screen.MousePointer = vbDefaultOn Error Resume Next'那将隐现目前记录位子'为动向集战快照Data1.Caption = "记录:" & (Data1.Recordset.AbsolutePosition + 1)'对付于Table 对付象,当记录集创造后并使用底下的止时,'必须树坐Index 属性'Data1.Caption = "记录:" & (Data1.Recordset.RecordCount * (Data1.Recordset.PercentPosition * 0.01)) + 1End SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer)'那是搁置考证代码的场合'当底下的动做爆收时,调用那个事变Select Case ActionCase vbDataActionMoveFirstCase vbDataActionMovePreviousCase vbDataActionMoveNextCase vbDataActionMoveLastCase vbDataActionAddNewCase vbDataActionUpdateCase vbDataActionDeleteCase vbDataActionFindCase vbDataActionBookmarkCase vbDataActionCloseEnd SelectScreen.MousePointer = vbHourglass End Sub2.真止:(1)登陆键里:(2)基原菜单(3)建改暗号(4)基原疑息:(5)五:真验归纳1.真验中逢到的问题:(1)数据库中保存历程战触收器的建坐,果为正在通常的教习中不太认果然教习那一齐以至于正在课程安排的历程中那块存留者宽重的问题,然而是正在共教的助闲下即时的得到了办理(2)数据库与VB的连交考察2,心得:很多的题目瞅似简朴,本去可则,,一启初瞅了惟有那样几个模块是内心挺下兴的,然而是当尔真真真正天去把一个支配写乐成时,很多意念不到的情况爆收了.偶尔间会为了一个支配不克不迭调试乐成而所有早上皆不克不迭去放心干其余的做业.那也便央供咱们要热静重着、脚踏实天的去对付待那件事,编程是一个很烦琐的历程,要思量到很多过失变化情况,正在那功夫会有很多往日未曾念过的问题出现,次数多了,易免会有感触干不下去的感觉.然而是尔从中创造,只消一步一步调试、静下心去瞅待问题,再搀纯再微弱的问题皆市迎刃而解,当一个步调被调试出去时,那时的快乐相比与所有艰易皆值得的.通过课程安排尔感触坐脚步调、返回书籍原才是组要害的,正在收端写步调时感触思路一片纷治,偶尔间出现的问题会不知讲怎么办理.那时,需要返回书籍原,书籍原是前人归纳的体味,险些所多情况皆市有办理要领.惟有把书籍原“吃透”,正在逢到问题是才会反应快.。

人事管理系统(数据库课程设计报告)

人事管理系统(数据库课程设计报告)

人事管理系统08网络工程1班/宁目录1系统概述........................................................ 2系统数据流程图和数据字典 .......................................2.1用户需求调查 ..................................................2.2系统数据流程图..................................................2.3 系统数据字典 ................................................... 3数据库结构设计................................................3.1概念结构设计 ..................................................3.2逻辑结构设计.....................................................3.3数据库结构的详细设计 ..........................................4物理设计.......................................................6 总结................................................................1系统概述一个正常运作的公司必定有一个健全的人事管理系统,来管理员工的信息,包括员工的编号、姓名、性别、工龄、工资以及奖惩情况。

除了这些基本的用处外,此系统还提供员工信息更改或删除等的功能,使公司的人事管理方便快捷而又清晰。

面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效地程序结构支持各种数据操作的执行。

人事管理系统课程设计报告

人事管理系统课程设计报告

湖南文理学院数据库课程设计报告设计题目:人事管理系统学生姓名:系专班学别:计算机学院业:级:号:指导教师:同组同学:评阅意见:题目课程设计任务书人事管理系统专业、班级学号同组人员主要内容:姓名设计内容:设计如下主要功能模块1)人事档案管理模块。

2)人员薪酬管理模块。

3)人员培训管理模块。

4)各类报表生成模块。

5)人员内部调动、离岗管理模块。

6)人员奖惩情况管理模块。

7)具有数据备份和数据恢复功能。

基本要求:单位内部的人事的管理,从大的方面分主要集中在单位职工的个人情况、调入调出等。

所以该系统主要是实现对数据的录入、插入、删除、查询、统计、更新、打印等功能。

其次,为了信息的保密与安全,系统还要提供一定的安全机制。

开发这个系统的目的就是帮助单位人力资源部门提高工作效率,实现人事信息管理的系统化、规范化和自动化。

在提供详细人员资料的同时,还为保证资料的保密性特设置访问密码,有效控制进入系统的人员。

完成期限:二周指导教师签名:课程负责人签名:2010年9月18日目录课程设计任务书 (1)目录 (2)1.开发背景 (3)1.1相关技术介绍 (3)1.1.1VisualBasic6.0中文版工具软件简介 (3)1.1.2.SQL server2000简介 (4)1.功能描述 (6)2.1 功能模块图 (6)2.2功能描述 (7)3.数据流程分析 (8)3.1数据流程图 (8)3.1.1数据流程图 (8)3.1.2 流程图 (9)3.2数据字典 (10)3.数据库的设计与优化 (17)4.1数据库概念设计 (17)4.2数据库逻辑结构设计 (19)4.物理设计和实施 (21)5.1 数据库物理设计 (21)5.2数据库的建立 (21)5.3实验数据的输入 (26)6.应用程序设计 (26)6.1建立公共模块 (27)7.课程设计心得体会 (29)7.1系统的特点 (29)7.2系统的不足 (29)7.3开发心得 (29)参考文献 (31)致谢 (32)1.开发背景人力资源是企业所有资源中最活跃与最昂贵的资源,如何让更多的员工以积极主动的态度参与公司的运作,最大限度的发挥企业人力资源的效用是每一个管理者关心的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书设计题目:人事管理系统设计摘要在现代化的社会中,无论是大型企业还是中小型企业,都必不可少地会涉及到人事管理的问题。

一个完善的人事管理系统对企业的发展有着至关重要的作用。

人事管理系统分为6个模块,基本信息管理模块、退休员工信息管理模块、部门信息管理模块、学历信息管理模块、家庭信息管理模块和职称信息管理模。

本系统采用SQL Server 2008作为数据库。

在实现数据库部分功能时要求写出存储过程、触发器和视图。

关键词:人事管理SQL Server 2008 触发器存储过程视图事务处理游标目录摘要............................................................... I I 1 需求分析. (1)1.1 系统目标设计 (1)1.2 系统功能分析 (1)1.3 功能模块分析 (2)1.4 系统全局数据流图 (2)1.5 数据字典 (3)2 概念结构设计 (6)2.1 构成系统的实体型 (6)2.2 人事管理系统E-R图 (7)3 逻辑结构设计 (8)3.1逻辑结构简介 (8)3.2 E-R图向关系模型的转换 (8)4物理模型设计 (9)4.1定义数据库 (9)4.2 创建存储过程 (9)4.3 创建触发器 (14)4.4 创建视图 (17)4.5 创建游标 (19)4.6 创建事物处理 (21)总结 (22)致谢 (23)参考文献 (24)1 需求分析1.1 系统目标设计使企业可以实现规范化的管理。

推动企业劳动人事管理走向科学化、现代化,适应现代企业制度的要求。

使管理员可以很简单地完成日常的管理工作,例如新员工的加入、老员工的退休等。

支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有职工的数目决定招聘的人数等。

1.2 系统功能分析根据现代企业的情况,本系统要求应能完成以下主要功能:设计友好的登录界面,完成用户身份检验。

可以提供对各种窗口的外观进行设计,可以提供用户进行外观选择。

企业新员工各种信息的输入、修改、删除等,包括员工基本信息、学历信息、婚姻状况、职称等。

数据库信息维护,即员工各种数据信息的备份。

对于转出、辞职、退休员工信息的删除。

按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;对查询、统计的结果打印输出。

按照部门将现有员工进行分类,查看各个部门现有员工的平均年龄,根据各部门工作量的大小,较好地进行人事调度。

另外可以帮助领导作出招聘新员工人数的决定。

可供其他人使用帮助。

1.3 功能模块分析根据系统功能的基本要求,可对整个系统划分为几个模块图1.1 功能模块分析1.4 系统全局数据流图系统的全局数据流图,也称第一层数据流图,是从整体上描述系统的数据流,反映系统数据的整体流向,给设计者、开发者和用户一个总体描述。

图1.2 数据流图1.5 数据字典表1.1 员工基本信息表(worker_info)表1.2离退休员工(tui_info)表1.3部门基本信息表(Department_info)表1.4 学历信息(degree_info)表1.5 家庭信息(home_info)表1.6职称信息(Pro_info)2 概念结构设计2.1 构成系统的实体型由人事管理系统的数据流图和数据字典,抽取出系统的6个主要实体,包括:员工、部门、学历、家庭、职称评定信息、账号。

员工实体型属性:Worker_no, Worker_name, Sex, Birthday, Age, ID, Department_name, Post, Phone, Work_date, Worker_ type退休员工实体型属性:Worker_no, Worker_name, Sex, Birthday, Age, ID, Department_name, Post, Phone, Work_date, Worker_ type,tui_date部门实体型属性:Department_no,Department_name,manager_no,Workeload,Real_number,Need_number学历实体型属性:Degree_no,Worker_no,Degree,Major,School,Graduate_date 家庭实体型属性:Home_no,Worker_no,Marriage_info,Home_number,Home_phone,Home_address职称评定信息实体型属性:Pro_no, Worker_no, Assess_date, Assess_unit, Assess_title, Remark2.2 人事管理系统E-R图图2.1人事管理系统E-R图3 逻辑结构设计3.1逻辑结构简介逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构一般分为3步进行:(1) 将概念结构转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化。

3.2 E-R图向关系模型的转换将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

对于实体间的联系则有以下不同的情况:(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一断对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的试题的码以及联系本身的属性均转换为关系的属性,每个实体的码均为该关系的候选码。

如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。

(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3)一个m:n联系转换为一个关系模式。

与该联系相连的饿个实体的码以及联系本身的属性均转换为关系的属性,个实体的码组成关系的码或关系码的一部分。

(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。

与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(5)具有相同码的关系模式可合并。

4物理模型设计数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。

4.1定义数据库SQL Server 2008数据库文件分为3中类型:主数据文件、次数据文件和日志文件。

通过SQL语言进行数据库创建,创建数据库的语句如下:Create database 人事管理系统;4.2 创建存储过程4.2.1在员工基本信息表,家庭信息表,学历信息表,职称评定表,创建一个插入员工信息的存储过程:create procedure insertworker@Worker_no varchar(15) ,--工号@Worker_name varchar(8) ,--姓名@Sex varchar(2) ,--性别@Birthday date ,--出生年月@ID varchar(18) ,--身份证号@Department_name varchar(15) ,--部门@post varchar(8) ,--职位@phone varchar(11) ,--电话@work_date date ,--工作时间@Worker_type varchar(8) , --员工类型@Degree_no varchar(15) , --学位号@Degree varchar(4) ,--学位@Major varchar(25) ,--专业@School varchar(25) ,--毕业学校@Gradute_date date , --毕业时间@Home_no varchar(15) ,--家庭编号@Marriage_info varchar(4) ,--婚姻状况@Home_number smallint ,--家庭人口@Home_phone varchar(11) ,--家庭电话@Home_address varchar(50) ,--家庭地址@Pro_no varchar(15) ,--职称编号@Assess_date date ,--评定日期@Assess_unit varchar(20) ,--评定单位@Assess_title varchar(8) ,--评定职称@Remark varchar(200) --备注as--插入员工信息insert intoworker_info(Worker_no,Worker_name,Sex,Birthday,age,ID,Department_name,post, phone,work_date,Worker_type)values(@Worker_no,@Worker_name,@Sex,@Birthday,FLOOR(datediff(DY,@Birthday,getdate ())/365.25),@ID,@Department_name,@post,@phone,@work_date,@Worker_type)--插入职称信息insert intoPro_info(Pro_no,Worker_no,Assess_date,Assess_unit,Assess_title,Remark)values (@Pro_no,@Worker_no,@Assess_date,@Assess_unit,@Assess_title,@Remark) --插入家庭信息insert intohome_info(Home_no,worker_no,Marriage_info,Home_number,Home_phone,Home_addre ss)values(@Home_no,@worker_no,@Marriage_info,@Home_number,@Home_phone,@Home_address) --插入学历信息insert intodegree_info(Degree_no,Worker_no,Degree,Major,School,Gradute_date)values (@Degree_no,@Worker_no,@Degree,@Major,@School,@Gradute_date)4.2.2在部门基本信息表中创建插入部门信息的存储过程:create procedure add_department@Department_no varchar(15) ,@Department_name varchar(15) ,@Manager_no varchar(15) ,@Workeload float(2) ,@Real_number smallint ,@Need_number smallintasinsert intodepartment_info(Department_no,Department_name,Manager_no,Workeload,Real_num ber,Need_number)values(@Department_no,@Department_name,@Manager_no,@Workeload,@Real_number,@Need_ number)4.2.3在部门基本信息表中创建更新部门信息的存储过程:create procedure update_department@Department_name varchar(15) ,@Manager_no varchar(15) ,@Workeload float(2) ,@Need_number smallintasupdate department_infoset Manager_no=@Manager_no,Workeload=@Workeload,Need_number=@Need_numberwhere Department_name=@Department_name;4.2.4创建当一个员工辞职时删除该信息,当一个员工退休时,将基本信息复制到退休表中,其他信息删除的存储过程CREATE PROCEDURE worker_type@worker_no varchar(15),@worker_type varchar(4)ASBEGINSET NOCOUNT ON;IF @worker_type='辞职'BEGINdelete from worker_info where worker_no=@worker_noENDIF @worker_type='退休'BEGININSERT INTOtui_info(Worker_no,Worker_name,Sex,Birthday,Age,ID,Department_name,Post,Pho ne,Work_date,Tui_date)SELECTWorker_no,Worker_name,Sex,Birthday,FLOOR(datediff(DY,Birthday,getdate())/36 5.25),ID,Department_name,Post,Phone,Work_date,GETDATE()FROM worker_info WHERE Worker_no=@Worker_no;DELETE FROM worker_info WHERE Worker_no=@Worker_no;ENDEND4.2.5创建更新家庭信息表、学历信息、职称信息的存储过程create procedure update_home@Worker_no varchar(15) ,--工号@Marriage_info varchar(4) ,--婚姻状况@Home_number smallint ,--家庭人口@Home_phone varchar(11) ,--家庭电话@Home_address varchar(50) --家庭地址asupdate home_infoset Marriage_info=@Marriage_info,Home_number=@Home_number,Home_phone=@Home_phone,Home_address=@Home_addresswhere Worker_no=@Worker_no;--更新学历信息create procedure update_degree@Worker_no varchar(15) ,--工号@Degree varchar(4) ,--学位@Major varchar(25) ,--专业@School varchar(25) ,--毕业学校@Gradute_date date --毕业时间asupdate degree_infoset Degree=@Degree,Major=@Major,School=@School,Gradute_date=@Gradute_datewhere Worker_no=@Worker_no;--更新职称信息create procedure update_pro@Worker_no varchar(15) ,--工号@Assess_date date ,--评定日期@Assess_unit varchar(20) ,--评定单位@Assess_title varchar(8) --评定职称asupdate pro_infoset Assess_date=@Assess_date,Assess_unit=@Assess_unit,Assess_title=@Assess_titlewhere Worker_no=@Worker_no;4.2.6创建某部门平均年龄的存储过程create procedure avg_age@Department_name varchar(15)asselect AVG(Age)from worker_info where Department_name=@Department_name 4.2.7按学历查询--学历查询create procedure search_degree@name varchar(4)asbegindeclare search_degree cursor for select worker_no from degree_infowhere worker_no in(select Worker_no from degree_info where Degree=@name) open search_degreedeclare @no1 varchar(15)fetch next from search_degree into @no1while @@FETCH_STATUS = 0beginselectworker_info.Worker_name,worker_info.Department_name,home_info.Marriage_info ,degree_info.Major,degree_info.degree,worker_info.Work_datefrom worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no1 and home_info.Worker_no=@no1and pro_info.Worker_no=@no1 and degree_info.Worker_no=@no1fetch next from search_degree into @no1endclose search_degreedeallocate search_degreeend4.2.7按部门查询create procedure search_department@name varchar(15)asbegindeclare search_department cursor for select worker_no from worker_info where Department_name=@nameopen search_departmentdeclare @no1 varchar(15)fetch next from search_department into @no1while @@FETCH_STATUS = 0beginselectworker_info.Worker_name,worker_info.Department_name,home_info.Marriage_info ,degree_info.Major,worker_info.Work_datefrom worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no1 and home_info.Worker_no=@no1and pro_info.Worker_no=@no1 and degree_info.Worker_no=@no1fetch next from search_department into @no1endclose search_departmentdeallocate search_departmentend4.2.9按婚姻状况查询create procedure search_marriage@name varchar(15)asbegindeclare search_marriage cursor for select worker_no from home_infowhere worker_no in(select Worker_no from home_info where marriage_info=@name) open search_marriagedeclare @no varchar(15)fetch next from search_marriage into @nowhile @@FETCH_STATUS = 0beginselect * from worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no and home_info.Worker_no=@noand pro_info.Worker_no=@no and degree_info.Worker_no=@nofetch next from search_marriage into @noendclose search_marriagedeallocate search_marriageend4.3 创建触发器4.3.1定义一个触发器,当在数据库中插入一条员工信息后,触发相应的部门人数加1create trigger insert_workeron worker_infoafter insertas beginupdate department_infosetdepartment_info.Real_number = department_info.Real_number + 1fromdepartment_info as department_info,inserted as worker_infowhere department_info.Department_name=worker_info.Department_nameend;4.3.2定义一个触发器,当在数据库中删除一条员工信息后,触发相应的部门人数减1 create trigger delete_workeron worker_infoafter deleteas beginupdate department_infosetdepartment_info.Real_number = department_info.Real_number - 1fromdepartment_info as department_info,deleted as worker_infowhere department_info.Department_name=worker_info.Department_nameend;delete from worker_info where worker_no='j1';4.3.3定义一个触发器,当在数据库中员工所属的部门更改后,触发转出的部门人数减1,转入的部门人数加1create trigger update_workeron worker_infoafter updateas IF(UPDATE(Department_name))begin--转出的部门人数减update department_infosetdepartment_info.Real_number = department_info.Real_number - 1fromdepartment_info as department_info,deleted as worker_infowhere department_info.Department_name=worker_info.Department_name--转入的部门人数加update department_infosetdepartment_info.Real_number = department_info.Real_number + 1fromdepartment_info as department_info,inserted as worker_infowhere department_info.Department_name=worker_info.Department_nameend;4.3.4定义一个触发器,当在数据库中删除一个员工的基本信息时连带删除该员工的职称,学历,家庭信息create TRIGGER del_workerON worker_infofor DELETEASBEGINdelete home_infoFromhome_info as home_info , deleted as worker_infoWhere home_info.worker_no= worker_info.worker_noENDBEGINdelete degree_infoFrom degree_info as degree_info , deleted as worker_infoWhere degree_info.worker_no=worker_info.worker_noENDBEGINdelete pro_infoFrom pro_info as pro_info , deleted as worker_infoWhere pro_info.worker_no=worker_info.worker_noEND4.3.5创建一个触发器,检查部门员工是否已满,满人则不进行操作create Trigger check_departmenton department_infofor updateasIF(UPDATE(Real_number))begindeclare@size smallint,@MaxSize smallint,@Department_name varchar(15)select @department_name =department_name from insertedselect @MaxSize =Need_number ,@size = Real_number from department_info where department_name = @department_namebeginif( @size > @MaxSize )beginprint '该部门员工已满'rollback Transactionreturn ;endendend4.3.6创建一个触发器,插入或更新时检查部门是否存在,不存在则不进行操作create trigger check_dapartment_nameon worker_infofor update,insertasbegindeclare@department_name varchar(15)select @department_name = department_name from insertedif( not exists(select * from department_info where department_name =@department_name ) )beginprint '该部门不存在'rollback Transactionreturn;endend4.4 创建视图4.4.1建立一个查看所有员工的所有信息的视图create view all_worker(员工编号,姓名,性别,出生日期,年龄,身份证号,部门编号,部门,经理编号,职位,电话,工作时间,员工类型,学历号,学位,专业,毕业学校,毕业时间,职称号,评定时间,评定单位,评定职称,备注,家庭编号,婚姻状况,家庭人口,家庭电话,家庭地址)asselectworker_info.Worker_no,worker_info.Worker_name,worker_info.Sex,worker_info.B irthday,worker_info.Age,worker_info.ID,department_info.Department_no,worker_info.Department_name,department_info.M anager_no,worker_info.Post,worker_info.Phone,worker_info.Work_date,worker_i nfo.Worker_type,degree_info.Degree_no,degree_info.Degree,degree_info.Major,degree_info.School,degree_info.Gradute _date,pro_info.Pro_no,pro_info.Assess_date,pro_info.Assess_unit,pro_info.Assess_title,pro_info.Remark,home_info.Home_no,home_info.Marriage_info,home_info.Home_number,home_info.Home_phone,home_info.Home_address from worker_info,degree_info,pro_info,home_info,department_info where worker_info.Worker_no=degree_info.Worker_no andworker_info.Worker_no=pro_info.Worker_noand worker_info.Worker_no=home_info.Worker_no anddepartment_info.Department_name=worker_info.Department_namewith check option4.4.2建立一个用于查看员工常用信息的视图create view searchasselect worker_info.Worker_no '员工编号',worker_info.Worker_name '员工姓名',worker_info.Sex '性别',worker_info.Age '年龄',worker_info.Department_name '部门',worker_info.Post '职位',degree_info.Degree'学位',home_info.Marriage_info '婚姻状况',worker_info.Work_date '工作时间'from worker_info,degree_info,home_info,department_info whereworker_info.Worker_no=degree_info.Worker_noand worker_info.Worker_no=home_info.Worker_nowith check option4.4.3查询员工学历视图create view show_degree(员工编号,姓名,性别,学历号,学位,专业,毕业学校,毕业时间)asselect worker_info.Worker_no,worker_info.Worker_name,worker_info.Sex, degree_info.Degree_no,degree_info.Degree,degree_info.Major,degree_info.School,degree_info.Gradute_date fromworker_info,dergee_infowhere worker_info.Worker_no=degree_info.Worker_nowith check option4.4.4查询部门工作量create view show_load(员工编号,员工姓名,部门,工作量 )asselectworker_info.worker_no,worker_info.worker_name,worker_info.Department_name,d epartment_info.Workeloadfrom department_info,worker_info wheredepartment_info.department_name=worker_info.department_nameselect * from show_loadwith check option4.4.5查询员工职称create view show_degree(员工编号,姓名,性别,职称号,评定时间,评定单位,评定职称,备注)asselectworker_info.Worker_no,worker_info.Worker_name,worker_info.Sex,pro_info.Pro_ no,pro_info.Assess_date,pro_info.Assess_unit,pro_info.Assess_title,pro_info.Remark from worker_info,pro_info,home_info where worker_info.Worker_no=pro_info.Worker_no4.4.6查询员工学历create view show_degree(员工编号,姓名,性别,学历号,学位,专业,毕业学校,毕业时间)asselectworker_info.Worker_no,worker_info.Worker_name,worker_info.Sex,degree_info.D egree_no,degree_info.Degree,degree_info.Major,degree_info.School,degree_info.Gradute _datefrom worker_info,degree_info whereworker_info.Worker_no=degree_info.Worker_nowith check option4.5 创建游标4.5.1创建查询未婚员工的游标declare search_marriage1 cursor for select worker_no from home_infowhere worker_no in(select Worker_no from home_info where marriage_info='未婚')open search_marriagedeclare @no varchar(15)fetch next from search_marriage into @nowhile @@FETCH_STATUS = 0beginselect * from worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no and home_info.Worker_no=@noand pro_info.Worker_no=@no and degree_info.Worker_no=@nofetch next from search_marriage into @noendclose search_marriage4.5.2创建查询已婚员工的游标declare search_marriage2 cursor for select worker_no from home_infowhere worker_no in(select Worker_no from home_info where marriage_info='已婚')open search_marriage2declare @no varchar(15)fetch next from search_marriage2 into @nowhile @@FETCH_STATUS = 0beginselect * from worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no and home_info.Worker_no=@noand pro_info.Worker_no=@no and degree_info.Worker_no=@nofetch next from search_marriage2 into @noendclose search_marriage24.5.3创建查询某部门员工的游标declare search_department cursor for select worker_no from worker_info where Department_name=@nameopen search_departmentdeclare @no1 varchar(15)fetch next from search_department into @no1while @@FETCH_STATUS = 0beginselectworker_info.Worker_name,worker_info.Department_name,home_info.Marriage_info ,degree_info.Major,worker_info.Work_datefrom worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no1 and home_info.Worker_no=@no1and pro_info.Worker_no=@no1 and degree_info.Worker_no=@no1fetch next from search_department into @no1endclose search_departmentdeallocate search_department4.5.4创建查询有某学历员工的游标declare search_degree cursor for select worker_no from degree_infowhere worker_no in(select Worker_no from degree_info where Degree=@name) open search_degreedeclare @no1 varchar(15)fetch next from search_degree into @no1while @@FETCH_STATUS = 0beginselectworker_info.Worker_name,worker_info.Department_name,home_info.Marriage_info ,degree_info.Major,degree_info.degree,worker_info.Work_datefrom worker_info,degree_info,pro_info,home_info whereworker_info.Worker_no=@no1 and home_info.Worker_no=@no1and pro_info.Worker_no=@no1 and degree_info.Worker_no=@no1fetch next from search_degree into @no1endclose search_degreedeallocate search_degree4.6 创建事物处理4.6.1查询部门人数begin transactionselect department_no,department_name,Manager_no,Real_number,Need_number from department_infocommit transaction;总结通过本次为期一周的数据库原理课程设计,让我对数据库系统的设计流程有了更深层次的了解,学会将理论与实际相结合解决问题,也加强了从整体思考问题的能力。

相关文档
最新文档