学校人力资源管理系统.docx
《学校人力资源管理系统.docx》由会员分享,可在线阅读,更多相关《学校人力资源管理系统.docx(23页珍藏版)》请在冰点文库上搜索。
学校人力资源管理系统
学校人力资源管理系统
第1章需求分析
1.1需求调査
通过对各个用户的调查,该学校人力资源
管理系统有如下需求:
1)家庭管理:
实现学校教职工家庭信息管理包括父母,子女等信息。
2)学历管理:
实现学校教职工学历信息管理,包括教职工从小学到大学的学校情况。
3)基本信息:
实现显示教职工基本信息及邮箱信息的记录。
4)奖惩管理:
实现在教职工奖惩情况记录。
5)部门管理:
包含最基本的部门名、部门总
人数信息。
1.2系统功能分析
1)家庭管理:
用于记录和管理职工的父母子女等亲属的名字。
2)学历管理:
用于记录教职工从小到大所在学校的名称。
3)个人基本管理:
用于记录职工的姓名性别工号出生年月电子邮件职称号等信息。
4)奖惩管理:
用于记录职工奖惩情况。
5)部门管理:
对各部门和人数进行管理。
校人力资源管理系统
数据库原理及应用课程设计
设计报告
学校人力资源管理系统
学号:
学生姓名:
指导教师:
131007203
提交时间:
20150105
第1章需求分析0
1.1需求调査0
1.2系统功能分析1
第2章面向对象分析和设计2
第3章逻辑结构设计3
3.1局部E-R图3
3.2类和对象向关系模式转换4
第4章数据库物理结构设计5
4.1存取方法设计5
4.2存储结构设计5
4.3物理设计6
第5章数据库完整性设计17
5.1主键17
5.2参照完整性设计17
5.3Check约束20
5.4触发器设计20
第7章数据库存储过程设计22
创建存删程22
总结23
参考文献:
24
学校人力资源管理系统
第1章需求分析
1.1需求调查
通过对各个用户的调查,该学校人力资源
管理系统有如下需求:
1)家庭管理:
实现学校教职工家庭信息管理
包括父母,子女等信息。
2)学历管理:
实现学校教职工学历信息管理,包括教职工从小学到大学的学校情况。
3)基本信息:
实现显示教职工基本信息及邮箱信息的记录。
4)奖惩管理:
实现在教职工奖惩情况记录。
5)部门管理:
包含最基本的部门名、部门总人数信息。
1.2系统功能分析
1)家庭管理:
用于记录和管理职工的父母子女等亲属的名字。
2)学历管理:
用于记录教职工从小到大所在学校的名称。
3)个人基本管理:
用于记录职工的姓名性别工号出生年月电子邮件职称号等信息。
4)奖惩管理:
用于记录职工奖惩情况。
5)部门管理:
对各部门和人数进行管理。
第2章面向对象分析和设计
类和对象设计如下:
个人基本信息
家庭关系
工号:
char姓名:
char父母:
char子女1:
char子女2:
char子女3:
char
姓名:
char工号:
char性别:
char出生年份:
int职称号:
char电子邮件:
char所属部门:
char
添加()修改()删除()査询()
学历信息
姓名:
char
工号:
char
小学:
char
初中:
char
高中:
char
人学:
char
査询0
添加0
修改0
删除0
添加0删除()査询0修改()
职称信息职称名:
char职称号:
char人数:
int
査询0添加0修改0删除0
第3章逻辑结构设计
3.1局部E-R图
图3-1
图3-2
图3-3
图3-4
工号
3.2类和对象向关系模式转换
个人基本信息(姓名、工号、性别、出生年份、电子邮件、职称号、所属部门)
职称(姓名、职称号、人数)
部门(人数、部门名)
家庭关系(工号、姓名、父、母、妻(夫)、
子女1、子女2、子女3)
学历信息(姓名、工号、小学、初中、高中、本科、研究生、博士)
奖惩(姓名、工号、奖励、惩罚、日期)
第4章数据库物理结构设计
4.1存取方法设计
数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。
对于教务管理系统来说,为了提高某些属性(如:
学生学号,教职工号,课程号,学生成绩,选课信息等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。
这样在查询某个学院或是查询某个专业或某学年等的学生成绩或选课等时就会大大提高査询速度。
因此,该系统中选择聚簇存取方法。
4.2存储结构设计
教务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。
数据库管理系统采用
Microsoft公司推出的SQLServer2000或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。
4.3物理设计
实现该设计的环境为WindowsXPProfessional+MSSQLServer2005或以上版本。
1、建立学校人力资源管理系统数据库createdatabase学校人力资源管理系统on
primary(
name=学校人力资源管理系统,
filename=,d:
\^校人力资源管理\学校人力资
源管理系统数据文
size=5,maxsize=10,filegrowth=l)logon(
name=学校人力资源管理日志文件,filename=*d:
\^校人力资源管理\学校人力资
源管理日志文件・IdF,
size=3,maxsize=10,filegrowth=l)
2、建立个人基本信息表
USE[学校人力资源管理系统]
GO
/******object:
Table[dbo].[个人基本信息]
ScriptDate:
01/03/201520:
32:
39******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[个人基本信息](
[姓名][char](10)NULL,
[工号][char](10)NOTNULL,
[性别][char](10)NULL,
[出生年份][char](10)NULL,
[电子邮件][char](50)NULL,
[职称号][char](10)NULL,
[所属部门][char](10)NULL,
CONSTRAINT[PK_个人基本信息]PRIMARYKEYCLUSTERED
(
[工号]ASC
)WITH(PAD_INDEX=OFF,
STATISTICS_NORECOMPUTEIGNORE_DUP_KEY=
ALLOW_ROW_LOCKSALLOW_PAGE_LOCKS=
[PRIMARY]
=OFF,
OFF,
=ON,
ON)ON
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
ALTERTABLE[dbo].[个人基本信息]WITHNOCHECKADDCONSTRAINT[FK_个人基本信息一部门]FOREIGNKEY([所属部门])
REFERENCES[dbo].[部门]([部门名])
GO
ALTERTABLE[dbo].[个人基本信息]NOCHECKCONSTRAINT[FK_个人基本信息一部门]
GO
ALTERTABLE[dbo].[个人基本信息]WITHNOCHECKADDCONSTRAINT[FK_个人基本信息—职称1]FOREIGNKEY([职称号])
REFERENCES[dbo].[职称1]([职称号])GO
ALTERTABLE[dbo].[个人基本信息]NOCHECKCONSTRAINT[FK_个人基本信息_职称1]
GO
3、建立家庭关系表
USE[学校人力资源管理系统]
GO
/******Object:
Table[dbo].[家庭关系]
ScriptDate:
01/03/201520:
30:
35******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[家庭关系]([工号][char](10)NULL,[姓名][char](10)NULL,
[妻(夫)][char](10)NULL,
[父][char](10)NULL,
[母][char](10)NULL,
[子女1][char](10)NULL,
[子女2][char](10)NULL,
[子女3][char](10)NULL
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
ALTERTABLE[dbo].[家庭关系]WITHCHECKADDCONSTRAINT[FK_家庭关系一个人基本信息]FOREIGNKEY([工号])REFERENCES[dbo].[个人基本信息]([工号])
GO
ALTERTABLE[dbo].[家庭关系]CHECKCONSTRAINT[FK_家庭关系—个人基本信息]
GO
4、
建立学历信息表
USE[学校人力资源管理系统]
GO
/******Object:
Table[dbo].[学历信息]
ScriptDate:
01/03/201520:
28:
28******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[学历信息]([工号][char](10)NULL,
[姓名][char](10)NULL,
[小学][nchar](20)NULL,
[初中][nchar](20)NULL,
[高中][nchar](20)NULL,
[本科][nchar](20)NULL,
[研究生][nchar](20)NULL,
[博士][nchar](20)NULL)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
ALTERTABLE[dbo].[学历信息]WITHNOCHECKADDCONSTRAINT[FK_学历信息一个人基本信息]FOREIGNKEY([工号])REFERENCES[dbo].[个人基本信息]([工号])
GO
ALTERTABLE[dbo].[学历信息]CHECK
CONSTRAINT[FK_学历信息—个人基本信息]
5、GO建立奖惩信息表
USE[学校人力资源管理系统]
GO
/******Object:
Table[dbo].[奖惩]
ScriptDate:
01/03/201520:
27:
38******/SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[奖惩]([姓名][char](10)NULL,[工号][chaF](10)NULL,[奖励][nchar](50)NULL,[惩罚][nchar](50)NULL,[日期][nchar](10)NULL
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
ALTERTABLE[dbo].[奖惩]WITHNOCHECKADDCONSTRAINT[FK_奖惩—个人基本信息]FOREIGNKEY([工号])REFERENCES[dbo].[个人基本信息]([工号])
GO
ALTERTABLE[dbo].[奖惩]CHECKCONSTRAINT[FK_奖惩—个人基本信息]
GO
6、
建立职称信息表
SETANSI_NULLSON
GO
USE[学校人力资源管理系统]
GO/******object:
Table[dbo].[职称1]
ScriptDate:
01/03/201520:
24:
24******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_PADDINGON
GO
CREATETABLE[dbo].[职称1]([职称号][char](10)NOTNULL,[职称名][char](10)NULL,[人数][char](10)NULL,
CONSTRAINT[PK_职称1]PRIMARYKEYCLUSTERED
(
[职称号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
GO
7、建立部门表
USE[学校人力资源管理系统]
GO
/******Object:
Table[dbo].[部门]
ScriptDate:
01/03/201520:
25:
29******/
SETANSINULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSIPADDINGON
GO
CREATETABLE[dbo].[部门](
[部门名][char](10)NOTNULL,
[人数][int]NULL,
CONSTRAINT[PK_部门]PRIMARYKEY
CLUSTERED
[部门名]ASC
=OFF,
)WITH(PAD_INDEX
STATISTICS_NORECOMPUTEIGNORE_DUP_KEY=
ALLOW_ROW_LOCKSALLOW_PAGE_LOCKS=
[PRIMARY]
)ON[PRIMARY]
GO
SETANSI_PADDINGOFF
=OFF,
OFF,
=ON,
ON)ON
第5章数据库完整性设计
5.1主键
表名
主键
个人基本信息信息
(工号)
部门
(部门名)
家庭关系
(工号)
奖惩
(工号)
学历信息
(工号)
职称
(职称号)
5.2参照完整性设计
1、个人基本信息表中把职称号和所属部门设为外键
ALTERTABLE[dbo].[个人基本信息]WITHNOCHECKADDCONSTRAINT[FK_个人基本信息_部门]FOREIGNKEY([所属部门])
REFERENCES[dbo]・[部门]([部门名])
GO
ALTERTABLE[dbo].[个人基本信息]N0CHECKCONSTRAINT[FK_个人基本信息_部门]
GO
ALTERTABLE[dbo].[个人基本信息]WITHNOCHECKADDCONSTRAINT[FK_个人基本信息_职称1]FOREIGNKEY([职称号])
REFERENCES[dbo]・[职称1]([职称号])
GO
ALTERTABLE[dbo].[个人基本信息]NOCHECK
CONSTRAINT[FK_个人基本信息—职称1]
GO
2、家庭关系中工号设计为外键
ALTERTABLE[dbo].[家庭关系]WITHCHECKADDCONSTRAINT[FK_家庭关系—个人基本信息]FOREIGNKEY([工号])
REFERENCES[dbo]・[个人基本信息]([工号])
GO
ALTERTABLE[dbo]•[家庭关系]CHECK
CONSTRAINT[FK_家庭关系一个人基本信息]
GO3、奖惩表中工号为外键
ALTERTABLE[dbo].[家庭关系]WITHCHECK
ADDCONSTRAINT[FK_家庭关系—个人基本信息]
FOREIGNKEY([工号])
REFERENCES[dbo].[个人基本信息]([工号])
GO
ALTERTABLE[dbo].[家庭关系]CHECKCONSTRAINT[FK_家庭关系—个人基本信息]GO
4、学历信息中工号设计为外键
ALTERTABLE[dbo].[学历信息]WITHNOCHECK
ADDCONSTRAINT[FK_学历信息—个人基本信息]FOREIGNKEY([工号])
REFERENCES[dbo]・[个人基本信息]([工号])GO
ALTERTABLE[dbo].[学历信息]CHECKCONSTRAINT[FK_学历信息_个人基本信息]GO
5.3Check约束
1、个人基本信息表中将性别进行check约束:
check(性别in('男','女'))
5.4触发器设计
1、在个人信息表中建立删除职工信息触发器
USE[学校人力资源管理系统]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATEtrigger[dbo].[人数减少]
on[dbo].[个人基本信息]
fordelete
AS
begin
declare@achar(50)
select@a=deleted.所属部门fromdeletedupdate部门
set部门.人数二部门.人数-1
where二部门•部门名
end
GO2、在个人信息表中建立增加教职工触发器
USE[学校人力资源管理系统]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
createtrigger[dbo].[人数增加]on[dbo].[个人基本信息]
forinsert
AS
begin
declare@achar(50)
select@a=inserted.所属部门frominserted
update部门
set部门.人数二部门.人数+1where@沪部门•部门名+
—left(@a,3)=班级•班级号
end
GO
第7章数据库存储过程设计
创建存储过程
1.査询学校各部门各种职称的教职工数量
USE[学校人力资源管理系统]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATEprocedure[dbo].[查询部门人数]
@achar(50)
as
select部门名,人数
from部门
where部门•部门名二@a
GO
总结
理论联系实际才能做好一件事,学习一门课程同样是这样。
通过16学时的数据库课程设计实习,受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。
并且对大型数据库设计这一门课程有了更深一步的理解。
在做课程设计中,可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。
同样通过对SQLServer的应用,也使我们熟练和巩固了对SQL的理解。
这次课程设计,完成课题是《教务管理系统》,在学校人力资源管理系统的开发中釆用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。
当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。
当然了,在建表过程中一开始没有用代码来
实现,所以在构建数据库关系图的时候出现了不少的问题导致6张表重新建了好几次,不过最后
仍然做了出来,收或还是蛮大的。
在这次实习中,我们完全投入到了开发系统
的世界里。
结束后明白了理论和实践要想充分地结合,需要非常扎实的基本功。
这就说明学好基础知识是理论付诸实践的前提。
在开发教务管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。
只有这样,才能把一门课程甚至一门学科学精、学透。
参考文献:
1.王珊,萨师煩•数据库系统概论[M]・高等教育
出版社,2006
2.郑阿奇等.SQLServer实用教程(第3版)[M].电子工业出版社,2009
3•赵乃真等.信息系统设计与应用・清华大学出
版社,2005
《数据库原理及应
选题合理,功能简单(D)
有一定的工作量和实用价值(C)
功能设计丰富,有一定的难度系数(B)
功能设计合理全面,能体现数据库的存储和整理数据的功能(A)
数据表和数据量
具备基本的数据表,数据量较少,但能够实现系统基本需要(D)
具备基本的数据表,数据量适中,实现了一定的数据完整性(C)
有多个数据表,数据量适中,有完善的数据完整性(B)
有多个数据表,数据量充足,具有较强的数据安全性和数据完整性(A)
数据库对象
具备基本的数据表,有主外键约束(D)
创建了若干种的数据库对象,并加以利用(C)
在实际应用中合理利用了各类数据库对象(B)
具有身份验证、数据备份等较复杂的数据管理功能(A)
功能实现
利用存储过程实现了各种査询功能(D)
除査询功能,还实现了各种数据操作功能(C)
在上--条基础上,还实现了数据统计汇总功能(B)
合理利用函数、存储过程、触发器实现各种数据査询、操作、管理功能(A)
设计报告
完成设计报告,阐述了系统功能,结构较完整(D)
开题报告反映设计思路,结构完整,格式较规范(C)
报告内容完整,图表使用准确,格式清晰,功能描述详尽(B)
报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程(A)
教师签字:
总评成绩: