数据库课程设计人力资源管理系统数据库的设计与实现.docx

上传人:b****4 文档编号:26830397 上传时间:2023-06-23 格式:DOCX 页数:16 大小:201.59KB
下载 相关 举报
数据库课程设计人力资源管理系统数据库的设计与实现.docx_第1页
第1页 / 共16页
数据库课程设计人力资源管理系统数据库的设计与实现.docx_第2页
第2页 / 共16页
数据库课程设计人力资源管理系统数据库的设计与实现.docx_第3页
第3页 / 共16页
数据库课程设计人力资源管理系统数据库的设计与实现.docx_第4页
第4页 / 共16页
数据库课程设计人力资源管理系统数据库的设计与实现.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据库课程设计人力资源管理系统数据库的设计与实现.docx

《数据库课程设计人力资源管理系统数据库的设计与实现.docx》由会员分享,可在线阅读,更多相关《数据库课程设计人力资源管理系统数据库的设计与实现.docx(16页珍藏版)》请在冰豆网上搜索。

数据库课程设计人力资源管理系统数据库的设计与实现.docx

数据库课程设计人力资源管理系统数据库的设计与实现

数据库课程设计--人力资源管理系统数据库的设计与实现

课程设计题目:

人力资源管理系统数据库的设计与实现

专业:

信息工程专业

班级:

1222301

学号:

201220230122

姓名:

曾广明

指导教师:

吴建东黄笑娟

2013年1月17日

一、实验题目:

人力资源管理系统数据库的设计与实现

二、实验时间及地点:

1、时间:

1月6号至9号。

2、地点:

东华理工大学核工楼303。

三、实验目的:

通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决人力资源管理系统数据库的设计与实现的实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

四、课程设计要求:

1(进行系统功能需求分析

2.数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)

3.设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定

4.通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引

5.根据系统功能需求设计相应的查询视图

6.要求根据系统功能需求建立存储过程

7.根据功能需求建立相应的触发器以保证数据的一致性

8.通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)

五、实现思路:

描述:

设计一个人力资源管理系统(至少包括员工、部门、职称三个表)。

实现下列功能:

1(员工人事信息维护(包括信息录入,修改和删除等);

2(部门信息维护(包括信息录入,修改,删除);

1(职称信息维护;

2(按职称统计人员数量

3(按部门查询人员信息

2

2、处理对象:

1.员工基本信息(employee):

包括员工工号,姓名,性别,年龄,学

历,住址,电话,出生年月

2(公司部门综合信息(department):

包括部门编号,部门名称,员工工

3.公司人员职称信息(position):

包括员工工号,员工职位,所属部门

3、概念设计模型:

1、局部E-R图:

各实体关系E-R图:

员工部门所属

员工职称当任

员工局部E-R图:

员工号

姓名

性别电话员工

年龄出生年月

学历住址

3

工资局部E-R图:

所属部门职位

职称

员工号null

部门局部E-R图:

部门号

员工号部门名

部门

4

2、整体E-R图:

员工号

姓名

性别员工电话

年龄出生年月

学历住址

当任所属

null职位部门

职称

员工号职位

部门号

员工号所属部

门门3、系统流程图:

用户

发出查询内容发出修改信息

判断查询内容判断修改内容在员工基本信息中处理在员工职称信息中处理在员工基本信息中处理在员工职称信息中处理

显示查询结果存储修改数据

5

4、关系模式:

员工:

employee(eno,ename,sex,age,edu,address,tel,birth)

职称;position(eno,pjob,pdepartment)员工工号,员工职位,所属部门

部门:

department(eno,dno,position)六、实验过程:

1、表的建立:

(1)、员工表的建立:

createtableemployee

enochar(20)notnullconstraintenamePRIMARYKEY,--主键约束

enamechar(10)NOTNULL,

sexchar

(2)NOTNULL,

ageintNOTNULL,

educhar(10),

addresschar(50),

telchar(20),

birthdatetimeNOTNULL,

(2)职称表的建立:

6

Createtableposition(

enochar(20)notnullPRIMARYKEYforeignkeyreferencesemployee(eno),----主键和外键约束

pjobchar(8)notnull,

pdepartmentchar(10),

(3)、部门表的建立:

createtabledepartment

enochar(20)notnullPRIMARYKEYforeignkeyreferencesemployee(eno),

dnochar(20)NOTNULL,

positionchar(20)

7

2、视图的建立:

(1)、员工及部门信息视图:

createviewview_employeeas

selectemployee.enoas员工号,enameas姓名,sexas性别,ageas年龄,eduas学历,addressas住址,telas联系电话,birthas出生年月,positionas职位,dnoas部门号

fromemployee,departmentwhereemployee.eno=department.eno

8

2、创建索引:

createuniqueclusteredindexix_enoonemployee(enodesc)

createuniqueclusteredindexix_snoonsalary(enodesc)

createuniqueclusteredindexix_dnoondepartment(enodesc)

4、存储过程的建立:

(1)、插入员工信息:

createprocinput_employee

@员工号char(20),

@姓名char(20),

@性别char

(2),

@年龄int,

@学历char(10),

@住址char(50),

@电话char(20),

@生日datetime,

as

9

insertintoemployeevalues(@员工号,@姓名,@性别,@年龄,@学历,@住址,@电

话,@生日)

(2)、插入职称信息:

createprocinput_position(@员工号char(20),

@职位char(10),

@所属部门char(20)

as

insertintopositionvalues(@员工号,@职位,@所属部门)

10

(3)、插入部门信息:

createprocinput_department(

@员工号char(20),

@部门号char(20),

@职务char(20)

as

insertintodepartmentvalues(@员工号,@部门号,@职务)

11

(4)、更改员工信息:

createprocedureupdate_employee

@员工号char(5),

@姓名char(20),

@性别char

(2),

@年龄int,

@学历char(10),

@住址char(50),

@电话char(20),

@生日datetime

as

ifEXISTS(select*fromemployeewhereeno=@员工号)

BEGIN

updateemployeesetename=@姓名,sex=@性别,age=@年龄,edu=@学历,address=@住址,tel=@电

话,birth=@生日

where@员工号=employee.enoEND

else

print'没有找到该员工,请核对是否存在'

12

(5)、更改部门信息:

createprocupdate_department

@员工号char(20),

@部门号char(20),

@职务char(20)

as

ifEXISTS(select*fromdepartmentwhereeno=@员工号)

BEGIN

updatedepartmentsetdno=@部门号,position=@职务

where@员工号=department.enoEND

else

print'没有找到该员工,请核对是否存在'

13

(7)、删除员工所有信息:

createproceduredelete_info

@员工号char(20))

as

delete

fromemployeewhereeno=@员工号

delete

fromsalary

whereeno=@员工号

delete

fromdepartmentwhereeno=@员工号

5、触发器的建立:

6、创建一个触发器,向employee中插入一条记录,自动显示employee表中的记录

createtriggerChuFaonemployee

forinsert

as

select*

14

fromemployee

6、系统调试与结果:

(1)、简单查询

(2)使用多表查询鼬的职位

(3)使用子查询,查询与鼬相同学历的人的名字,性别,年龄

15

(4)将employee表中的员工年龄全部加一岁

(5)按职称统计人员数量

(6)在employee中添加一条记录(95008,长门,男,25,博士,china,6533344,1994-2-1)

16

七、实验总结

通过本次实验,加深的了对关系数据库的原理及应用的认识:

1.主键是多张二维表之间联系的关键。

找对主键,能使表及存储过程,触发

器的建立变得更加简单和规范。

2.在删除表的同时,也相应删除了先前绑定的触发器。

3.做好前期准备工作,能让建表等工作更容易。

在需要做赋值等运算时,声

明几个变量会使代码简单许多。

八、心得体会:

通过本次人力资源管理系统数据库课程设计,让我了解了很多知识上的不足。

锻炼了上机操作的能力。

明白了建一个数据库系统是一个非常复杂的问题,要考虑许多问题,一定要想的周全。

拓展了我的知识,收获颇丰~

17

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1