2024年5月28日发(作者:)

学校人力资源管理系统

第1章需求分析

1.1

需求调査

通过对各个用户的调查,该学校人力资源

管理系统有如下需求:

1)

家庭管理:实现学校教职工家庭信息管理 包

括父母,子女等信息。

2)

学历管理:实现学校教职工学历信息管理,

包括教职工从小学到大学的学校情况。

3)

基本信息:实现显示教职工基本信息及邮 箱

信息的记录。

4)

奖惩管理:实现在教职工奖惩情况记录。

5)

部门管理:包含最基本的部门名、部门总

人数信息。

第页共

30

1

1.2

系统功能分析

1)

家庭管理:用于记录和管理职工的父母子女

等亲属的名字。

2)

学历管理:用于记录教职工从小到大所在学

校的名称。

3)

个人基本管理:用于记录职工的姓名性别工 号

出生年月电子邮件职称号等信息。

4)

奖惩管理:用于记录职工奖惩情况。

5)

部门管理:对各部门和人数进行管理。

第页共

30

1

校人力资源管理系统

数据库原理及应用课程设计

学 号:

学生姓名:

指导教师:

提交时间:

设计报告

学校人力资源管理系统

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.3 Check

约束 ...................................................................

20

5.4

触发器设计 ...................................................................

20

第7章数据库存储过程设计 .......................................... 22

创建存删程 ......................................................................

22

总结 ............................................................... 23

参考文献: ......................................................... 24

学校人力资源管理系统

第1章需求分析

1.1

需求调查

通过对各个用户的调查,该学校人力资源

管理系统有如下需求:

1)

家庭管理:实现学校教职工家庭信息管理

包括父母,子女等信息。

2)

学历管理:实现学校教职工学历信息管理, 包

括教职工从小学到大学的学校情况。

3)

基本信息:实现显示教职工基本信息及邮 箱

信息的记录。

4)

奖惩管理:实现在教职工奖惩情况记录。

5)

部门管理:包含最基本的部门名、部门总 人数

信息。

1. 2

系统功能分析

第页共

33

0

1)

家庭管理:用于记录和管理职工的父母子女

等亲属的名字。

2)

学历管理:用于记录教职工从小到大所在学

校的名称。

3)

个人基本管理:用于记录职工的姓名性别工

号出生年月电子邮件职称号等信息。

4)

奖惩管理:用于记录职工奖惩情况。

5)

部门管理:对各部门和人数进行管理。

第页共

33

1

第2章 面向对象分析和设计

类和对象设计如下:

个人基本信息

家庭关系

姓名:

char

工号:

char

性别:

char

出生

工号:

char

姓名:

年份:

int

职称号:

char

电子邮件:

char

char

父母:

char

所属部门:

char

添加

0

删除()

査询

0

修改()

学历信息

姓名:

char

工号:

char

小学:

char

初中:

char

高中:

char

人学:

char

査询

0

添加

0

修改

0

删除

0

2

页共

33

1: char

子女

2

char

子女

添加

3

char

()

修改()

删除()

査询()

职称信息

职称名:

char

职称

号:

char

人数:

int

査询

0

添加

0

修改

0

删除0

第3章逻辑结构设计

3.1

局部

E-R

3-1

3-2

3-3

3-4

第页共

33

3

工号

3.2

类和对象向关系模式转换

个人基本信息(姓名、工号、性别、出生年 份、

电子邮件、职称号、所属部门)

职称(姓名、职称号、人数)

部门(人数、部门名)

家庭关系(工号、姓名、父、母、妻(夫)、

子女

1

、子女

2

、子女

3)

学历信息(姓名、工号、小学、初中、高中、 本

科、研究生、博士)

第页共

33

4

奖惩(姓名、工号、奖励、惩罚、日期)

第4章 数据库物理结构设计

4.1

存取方法设计

数据库系统是多用户共享的系统,对同一个 关系

要建立多条存储路径才能满足多用户的多 种应用要求。

对于教务管理系统来说,为了提高 某些属性(如:学生

学号,教职工号,课程号, 学生成绩,选课信息等)的

查询速度,可以选择 聚簇存取的方法,即把这些属性上

具有相同值的 元组集中放在连续的物理块上。这样在

查询某个 学院或是查询某个专业或某学年等的学生成

绩 或选课等时就会大大提高査询速度。因此,该系 统

中选择聚簇存取方法。

4.2

存储结构设计

教务管理系统是一个大型复杂的计算机网 络信息

系统,采用基于浏览器/服务器

B/S),

客户端/服务

C/S)

混合的应用体系结构来建 设教务管理系

统。数据库管理系统采用

Microsoft

公司推出的

SQL Server 2000

或 以上版

本,并用

SQL

进行数据库的建立和数 据库中数据的

维护和查询。

4. 3

物理设计

第页共

33

5

实现该设计的环境为

Windows XP Professional

+ MS SQL Server 2005

或以上版 本。

1

、建立学校人力资源管理系统数据库

create

database

学校人力资源管理系统

on

primary (

name=

学校人力资源管理系统,

filename=d:^

校人力资源管理学校人力资

源管理系统数据文

,

size=5, maxsize=10, filegrowth=l) log on (

name=

学校人力资源管理日志文件,

filename=*d:^

校人力资源管理学校人力资

源管理日志文件・

IdF

size=3, maxsize=10, filegrowth=l)

2

、建立个人基本信息表

USE

[学校人力资源管理系统]

GO

/****** object: Table [dbo].[

个人基本信息]

Script Date: 01/03/2015 20:32:39 ******/

SET ANSI_NULLS ON

GO

第页共

33

6

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[

个人基本信息]

[姓名]

[char](10) NULL,

[工号]

[char](10) NOT NULL,

[性别]

[char](10) NULL,

[出生年份]

[char](10) NULL,

[电子邮件

][char](50) NULL,

[职称号]

[char](10) NULL,

[所属部门]

[char](10) NULL,

CONSTRAINT [PK_

个人基本信息]

PRIMARY KEY CLUSTERED

(

[工号]

ASC

)WITH (PAD_INDEX = OFF

7

页共

33

(

STATISTICS_NORECOMPUTE

IGNORE_DUP_KEY

ALLOW_ROW_LOCKS

ALLOW_PAGE_LOCKS

[PRIMARY]

)ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

=

=

=OFF

OFF

= ON

ON) ON

ALTER TABLE [dbo].[

个人基本信息]

WITH

NOCHECK ADD CONSTRAINT [FK_

个人基本

信息一部门]

FOREIGN KEY

([所属部门])

REFERENCES [dbo].[

部门]([部门名])

GO

ALTER TABLE [dbo].[

个人基本信息]

NOCHECK CONSTRAINT [FK_

个人基本信 息

一部门]

GO

第页共

33

8

ALTER TABLE [dbo].[

个人基本信息]

WITH NOCHECK ADD CONSTRAINT [FK_

个人基本信息—职称

1] FOREIGN KEY

([职称

号])

REFERENCES [dbo].[

职称

1]

([职称

号])

GO

ALTER TABLE [dbo].[

个人基本信息]

NOCHECK CONSTRAINT [FK_

个人基本信

息_职称

1]

GO

3

、建立家庭关系表

USE

[学校人力资源管理系统]

GO

/****** Object: Table [dbo].[

家庭关系]

Script Date: 01/03/2015 20:30:35 ******/

SET ANSI_NULLS ON

GO

第页共

33

9

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [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

SET ANSI_PADDING OFF

10

页共

33

GO

ALTER TABLE [dbo].[

家庭关系]

WITH

CHECK ADD CONSTRAINT [FK_

家庭关 系

一个人基本信息]

FOREIGN KEY([

工号])

REFERENCES [dbo].[

个人基本信息]([工

号])

GO

ALTER TABLE [dbo].[

家庭关系]

CHECK

CONSTRAINT [FK_

家庭关系—个人基本信 息]

GO

4

建立学历信息表

USE

[学校人力资源管理系统]

GO

/****** Object: Table [dbo].[

学历信息]

Script Date: 01/03/2015 20:28:28 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

11

页共

33

CREATE TABLE [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

SET ANSI_PADDING OFF

GO

ALTER TABLE [dbo].[

学历信息]

WITH

NOCHECK ADD CONSTRAINT [FK_

学历 信息

一个人基本信息]

FOREIGN KEY

([工号])

REFERENCES [dbo].[

个人基本信息]([工

号])

GO

ALTER TABLE [dbo].[

学历信息]

CHECK

CONSTRAINT [FK_

学历信息—个人基本信 息]

12

页共

33

5

GO

建立奖惩信息表

USE

[学校人力资源管理系统]

GO

/****** Object:

ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[

奖惩]( [姓名]

[char](10)

NULL,

[工号]

[chaF](10) NULL,

[奖励]

[nchar](50)

NULL,

[惩罚]

[nchar](50) NULL,

[日期]

[nchar](10)

NULL

)ON [PRIMARY]

GO

SET ANSI_PADDING OFF

Table [dbo].[

奖惩]

Script Date: 01/03/2015 20:27:38 ******/ SET

13

页共

33

GO

ALTER TABLE [dbo].[

奖惩]

WITH

NOCHECK ADD CONSTRAINT [FK_

奖惩 —个

人基本信息]

FOREIGN KEY([

工号])

REFERENCES [dbo].[

个人基本信息]([工

号])

GO

ALTER TABLE [dbo].[

奖惩

]CHECK

CONSTRAINT [FK_

奖惩—个人基本信息]

GO

6

建立职称信息表

SET ANSI_NULLS ON

GO

USE

[学校人力资源管理系统]

GO /****** object: Table [dbo].[

职称

1]

Script Date: 01/03/2015 20:24:24 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

14

页共

33

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[

职称

1](

[职称

号]

[char](10) NOT NULL,

[职称名]

[char](10)

NULL,

[人数]

[char](10) NULL,

CONSTRAINT [PK_

职称

1] PRIMARY KEY

CLUSTERED

(

[职称号]

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

SET ANSI_PADDING OFF

GO

7

、建立部门表

USE

[学校人力资源管理系统]

15

页共

33

GO

/****** Object: Table [dbo].[

部门]

Script Date: 01/03/2015 20:25:29 ******/

SET ANSI NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI PADDING ON

GO

CREATE TABLE [dbo].[

部门](

[部门名]

[char](10) NOT NULL,

[人数]

[int] NULL,

CONSTRAINT [PK_

部门]

PRIMARY KEY

CLUSTERED

[部门名]

ASC

)WITH (PAD_INDEX

= OFF,

16

页共

33

STATISTICS_NORECOMPUTE

IGNORE_DUP_KEY

ALLOW_ROW_LOCKS

ALLOW_PAGE_LOCKS

[PRIMARY]

)ON [PRIMARY]

GO

SET ANSI_PADDING OFF

第5章 数据库完整性设计

5.1

主键

=OFF

OFF

= ON

ON) ON

=

=

表名

个人基本信息 信

部门

家庭关系

奖惩

学历信息

职称

5.2

主键

(工号)

(部门名)

(工号)

(工号)

(工号)

(职称号)

参照完整性设计

1

、个人基本信息表中把职称号和所属部门设为 外键

ALTER TABLE [dbo].[

个人基本信息]

WITH

17

页共

33

NOCHECK ADD CONSTRAINT [FK_

个人基本

信息_ 部门]

FOREIGN KEY

([所属部门])

REFERENCES [dbo]

部门]([部门名])

GO

ALTER TABLE [dbo].

[个人基本信息]

N0CHECK CONSTRAINT [FK_

个人基本信息_部

门]

GO

ALTER TABLE [dbo].[

个人基本信息]

WITH

NOCHECK ADD CONSTRAINT [FK_

个人基本

信息_ 职称

1] FOREIGN KEY

职称号])

REFERENCES [dbo]

职称

1]

([职称

号])

GO

ALTER TABLE [dbo].

[个人基本信息]

NOCHECK

CONSTRAINT [FK_

个人基本信息—职称

1]

GO

2

、家庭关系中工号设计为外键

ALTER TABLE [dbo].

[家庭关系]

WITH

CHECK ADD CONSTRAINT [FK_

家庭关系—个

18

页共

33

人基本信息]

FOREIGN KEY

([工号])

REFERENCES [dbo]

个人基本信息]([工

号])

GO

ALTER TABLE [dbo]

•[家 庭 关系]

CHECK

CONSTRAINT [FK_

家庭关系一个人基本信息]

GO 3

、奖惩表中工号为外键

ALTER TABLE [dbo].

[家庭关系]

WITH CHECK

ADD CONSTRAINT [FK_

家庭关系—个人基本信

息]

FOREIGN KEY

([工号])

REFERENCES [dbo].[

个人基本信息]([工

号])

GO

ALTER TABLE [dbo].

[家庭关系]

CHECK

CONSTRAINT [FK_

家庭关系—个人基本信息]

GO

4

、学历信息中工号设计为外键

ALTER TABLE [dbo].

[学历信息]

WITH

NOCHECK

ADD CONSTRAINT [FK_

学历信息—个人基本信

息]

FOREIGN KEY

([工号])

19

页共

33

REFERENCES [dbo]

个人基本信息]([工

号])

GO

ALTER TABLE [dbo].

[学历信息]

CHECK

CONSTRAINT [FK_

学历信息_个人基本信息]

GO

5.3 Check

约束

1

、个人基本信息表中将性别进行

check

约束:

(性别

in

('男','女'))

5.4

触发器设计

1

、在个人信息表中建立删除职工信息触发器

USE

[学校人力资源管理系统]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE trigger [dbo].

[人数减少]

on [dbo].

[个人基本信息]

for delete

AS

begin

20

页共

33

check

declare @a char(50

select @a=deleted.

所属部门

from deleted

update

部门

set

部门.人数二部门.人数

-1

where

二部门•部门名

end

GO 2

、在个人信息表中建立增加教职工触发器

USE

[学校人力资源管理系统]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

create trigger [dbo].

[人数增加]

on [dbo].

[个人基本

信息]

for insert

AS

begin

declare @a char(50

)

select @a=inserted.

所属部门

from inserted

update

部门

21

页共

33

set

部门.人数二部门.人数

+1 where

@沪部门•部

门名+

—left(@a, 3

)

=

班级•班级号

end

GO

第7章数据库存储过程设计

创建存储过程

1.

査询学校各部门各种职称的教职工数量

USE

[学校人力资源管理系统]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE procedure [dbo].

[查询部门人数]

@a char

(

50)

as

select

部门名,人数

from

部门

where

部门•部门名二

@a

22

页共

33

GO

23

页共

33

总结

理论联系实际才能做好一件事,学习一门课 程同

样是这样。通过

16

学时的数据库课程设计 实习,受

益匪浅,从中学到了许多新知识,这些 知识是在课堂

中不能学到或者说很难学到的。并 且对大型数据库设

计这一门课程有了更深一步 的理解。在做课程设计

中,可以把课堂上所学的 理论知识和实践联系起来,

在所要开发的系统中 渐渐学会了融会贯通。同样通过

SQLServer

的 应用,也使我们熟练和巩固了对

SQL

的理解。 这次课程设计,完成课题是《教务管理

系 统》,在学校人力资源管理系统的开发中釆用了

完整的数据库设计的全过程,从需求分析到概念 结构

设计,到逻辑结构设计,最后到数据库的实 施和维

护,每一步都认真的分析和实施。当然, 在本次课程

设计的成果中还存在许多的不足之 处,这就需要我们

学习更多的知识,进行更深研 究。

当然了,在建表过程中一开始没有用代码来

实现,所以在构建数据库关系图的时候出现了不 少的

问题导致

6

张表重新建了好几次,不过最后

23

页共

33

仍然做了出来,收或还是蛮大的。

在这次实习中,我们完全投入到了开发系统

的世界里。结束后明白了理论和实践要想充分地 结

合,需要非常扎实的基本功。这就说明学好基 础知识

是理论付诸实践的前提。在开发教务管理 系统中我学

到了很多,希望在以后能充分利用实 习的机会充实自

己,用所学的理论知识充分去实 践,在实践中又要努

力去巩固理论知识。只有这 样,才能把一门课程甚至

一门学科学精、学透。

参考文献:

1.

王珊,萨师煩•数据库系统概论

[M]

高等教育

出版社,

2006

2.

郑阿奇等.

SQLServer

实用教程(第

3

版)

[M].

子工业出版社,

2009

3

•赵乃真等.信息系统设计与应用・清华大学出

版社,

2005

24

页共

33

《数据库 原理

及应

选题合理,功能简单

(D

25

页共

33

有一定的工作量和实用

能设计丰富,有一定的难度

价值

(C

系数

(B

功能设计合理全面,能体现数据库的存储和整理数据 的功能

(A

具备基本的数据表,数据量较少,但能够实现系统基 本需要

(D

具备基本的数据表,数据量适中,实现了一定的数据 完整性

数据表和 数据

(C

有多个数据表,数据量适中,有完善的数据完整性

(B)

有多个数据表,数据量充足,具有较强的数据安全性 和数据

完整性

(A

具备基本的数据表,有主外键约束

(D

创建了若干种的数据库对象,并加以利用

(C

数据库对 象

在实际应用中合理利用

了各类数据库对象

(B

具有身份验证、数据备份等较复杂的数据管理功能

(A)

利用存储过程实现了各种査询功能

(D

功能实现

除査询功能,还实现了各种数据操作功能

(C)

在上--条基础上,还实现了数据统计汇总功能

(B)

合理利用函数、存储过程、触发器实现各种数据査询、 操作、

管理功能

(A)

完成设计报告,阐述了系统功能,结构较完整

(D

开题报告反映设计思路,结构完整,格式较规范

(C)

设计报告

报告内容完整,图表使用准确,格式清晰,功能描述 详尽

(B

报告内容完整,图表使用准确,描述详细,代码阐述 清楚,

反映系统执行流程

教师签字:

(A)

总评成绩:

26

页共

33