数据库人力资源管理系统Word文档下载推荐.docx

上传人:b****6 文档编号:19030308 上传时间:2023-01-03 格式:DOCX 页数:13 大小:41.79KB
下载 相关 举报
数据库人力资源管理系统Word文档下载推荐.docx_第1页
第1页 / 共13页
数据库人力资源管理系统Word文档下载推荐.docx_第2页
第2页 / 共13页
数据库人力资源管理系统Word文档下载推荐.docx_第3页
第3页 / 共13页
数据库人力资源管理系统Word文档下载推荐.docx_第4页
第4页 / 共13页
数据库人力资源管理系统Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库人力资源管理系统Word文档下载推荐.docx

《数据库人力资源管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库人力资源管理系统Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

数据库人力资源管理系统Word文档下载推荐.docx

并创建存储过程进行查询

◎创建视图,通过视图来查询

 

二、ER图

总经理与经理的属性ER图与员工相同

员工的职务属性通过员工编号体现,规则见“职务表”

三、关系模式

系统中的实体有:

为简化关系模式,将总经理、经理、员工的信息集中到一个表。

关系模式如下:

职务表(职务名称、职务编号、基本工资、基本奖金)

部门表(部门编号、部门名称、经理编号、办公电话)

员工表(员工编号、员工姓名、部白兔牌暗疮膏门编号、职务、出生日期、年龄、入职日期、性别、学历、电话)

考核表(员工编号、本月出勤次、本月业绩、本月考核)

工资表(员工编号、基本工资、基本奖金、计算工资、所得税、本月实发工资)

四、物理设计

职务表结构

属性名

数据类型

说明

职务名称

char(6)

主键

职务编号

char

(2)

notnull

基本工资

int

基本奖金

说明:

职务表为基本表,直接输入数据。

其中,职务编号A、B、C分别为总经理、经理、员工的员工编号的首字母(如,经理B01,员工C03)

部门表结构

部门编号

部门名称

经理编号

char(4)

经理电话

char(12)

部门表为基本表,直接输入数据。

员工表结构

员工编号

主键;

检查约束

员工姓名

外键

职务

职务规则

性别

notnull;

性别规则

出生日期

datetime

年龄

入职日期

学历

学历规则;

默认约束

电话

1、员工表与部门表有外键联系,部门编号是部门表的主键;

直接输入数据

2、员工编号是主键,并有检查约束,确认输入的员工编号合理。

具体是员工编号的首字母与职务对应的编号一致,如,总经理编号为AXX,经理BXX,员工CXX

3、职务与规则“职务_rule”绑定,取值范围(“总经理”“'

经理”“员工”)

4、公式:

年龄=year(getdate())-year(出生日期)

5、性别与规则“性别_rule”绑定,取值范围(“男”“'

女”)

6、学历与规则“学历_rule”绑定,取值范围(“博士”“'

硕士”“学士”),默认值学士

考核表结构

本月出勤次

默认值

本月业绩

本月考核

1、考核表与员工表有外键联系;

用表约束定义联合主键

2、本月考核为计算列,公式本月考核=本月业绩*本月出勤次。

创建存储过程“insert考核表”实现输入数据,

3、本月出勤次与默认“default本月出勤次”绑定,默认值为30

工资表结构

计算工资

所得税

本月实发工资

2、后三列为计算列,公式:

计算工资=基本工资+本月考核*基本奖金/50

所得税=计算工资*0.05

本月实发工资=计算工资-所得税

其中,本月考核是考核表中该员工对应的考核

创建存储过程“insert工资表”实现输入数据

五、系统实现

--创建数据库"

人力资源管理系统DB"

createdatabase人力资源管理系统DB

on

(name=人力资源管理系统DB_dat,

filename='

e:

\人力资源管理系统DB_dat.mdf'

size=5120kb,

maxsize=kb,

filegrowth=1024kb

logon

(name='

人力资源管理系统DB_log'

\人力资源管理系统DB_log.ldf'

size=1024kb,

use人力资源管理系统DB

--创建表

createtable职务表

(职务名称char(6)notnullprimarykey,

职务编号char

(2)notnull,

基本工资int,

基本奖金int,

createtable部门表

(部门编号char

(2)notnullprimarykey,

部门名称char(6)notnull,

经理编号char(4),

经理电话char(12)

createtable员工表

(员工编号char(4)notnullprimarykey,

员工姓名char(6)notnull,

部门编号char

(2),

职务char(6),

性别char

(2)notnull,

出生日期datetimenotnull,

年龄int,

入职日期datetimenotnull,

学历char(4),

电话char(12),

constraintfk_员工表_部门表_key

foreignkey(部门编号)references部门表(部门编号),

constraintfk_员工表_职务表_key

foreignkey(职务)references职务表(职务名称)

createtable考核表

(员工编号char(4)notnull,

本月出勤次intnotnull,

本月业绩intnotnull,

本月考核int,

constraintpk_考核表_keyprimarykey(员工编号,本月考核),

constraintfk_员工表_考核表_key

foreignkey(员工编号)references员工表(员工编号)

createtable工资表

基本工资intnotnull,

基本奖金intnotnull,

计算工资int,

所得税int,

本月实发工资int,

constraintpk_工资表_keyprimarykey(员工编号,本月实发工资),

constraintfk_员工表_工资表_key

--为员工表建立检查约束,保证输入的员工编号合理

altertable员工表withnocheck

addconstraintck_员工编号check

(substring(员工编号,1,1)=

case

when职务='

总经理'

then'

A'

经理'

B'

员工'

C'

end

go

--建立职务规则、学历规则、性别规则,并与员工表绑定

createrule职务_ruleAS@职务in('

'

execsp_bindrule职务_rule,'

员工表.职务'

createrule学历_ruleAS@学历in('

博士'

硕士'

学士'

大专'

execsp_bindrule学历_rule,'

员工表.学历'

createrule性别_ruleAS@性别in('

男'

女'

execsp_bindrule性别_rule,'

员工表.性别'

--建立学历默认值约束,与员工表对应列绑定

createdefault学历_defaAS'

execsp_bindefault学历_defa,'

--建立本月缺勤次默认值约束,与考核表对影列绑定

createdefault本月出勤次_defaAS'

31'

execsp_bindefault本月出勤次_defa,'

考核表.本月出勤次'

--输入员工表、职务表、部门表数据

insert职务表values('

50000'

5000'

10000'

3000'

1000'

insert部门表values('

D1'

销售部'

B01'

'

D2'

采购部'

B02'

D3'

人事部'

B03'

D'

A01'

insert员工表values('

***'

'

19'

赵某'

21'

C01'

钱某'

22'

C02'

孙某'

C03'

李某'

24'

C04'

周某'

26'

C05'

吴某'

C06'

郑某'

20'

C07'

王某'

25'

5'

C08'

冯某'

29'

C09'

陈某'

--查看员工表、职务表、部门表数据

select*from员工表

select*from职务表

select*from部门表

--创建存储过程,用于输入考核表、工资表的数据

createprocedureinsert考核表@员工编号char(4),@本月出勤次int,@本月业绩int

as

insert考核表values(@员工编号,@本月出勤次,@本月业绩,@本月业绩-5*@本月出勤次)

createprocedureinsert工资表@员工编号char(4),@基本工资int,@基本奖金int

begin

declare@本月考核int

set@本月考核=(select本月考核from考核表where员工编号=@员工编号)

insert工资表values(@员工编号,@基本工资,@基本奖金,

@基本工资+@本月考核*@基本奖金/50,

(@基本工资+@本月考核*@基本奖金/50)*0.05,

(@基本工资+@本月考核*@基本奖金/50)*0.95)

end

--输入考核表、工资表数据

execinsert考核表A01,31,95

execinsert考核表B01,31,95

execinsert考核表B02,30,80

execinsert考核表B03,31,55

execinsert考核表C01,31,100

execinsert考核表C02,27,95

execinsert考核表C03,31,95

execinsert考核表C04,31,85

execinsert考核表C05,29,75

execinsert考核表C06,31,95

execinsert考核表C07,28,80

execinsert考核表C08,31,30

execinsert考核表C09,29,70

execinsert工资表A01,50000,5000

execinsert工资表B01,10000,5000

execinsert工资表B02,10000,5000

execinsert工资表B03,10000,5000

execinsert工资表C01,3000,1000

execinsert工资表C02,3000,1000

execinsert工资表C03,3000,1000

execinsert工资表C04,3000,1000

execinsert工资表C05,3000,1000

execinsert工资表C06,3000,1000

execinsert工资表C07,3000,1000

execinsert工资表C08,3000,1000

execinsert工资表C09,3000,1000

--查看考核表、工资表数据

select*from考核表

select*from工资表

--创建存储函数删除某一员工的信息

createprocedure删除员工@员工编号char(4)

delete考核表where员工编号=@员工编号

delete工资表where员工编号=@员工编号

delete员工表where员工编号=@员工编号

--创建触发器

createtriggertr_deleteon员工表fordelete

declare@numvarchar(50)

select@num=str(@@rowcount)+'

个学生被删除'

select@num

return

createtriggertr_inserton员工表forinsert

个学生被添加'

--检验触发器

exec删除员工A01

go--删除数据,检验触发器

go--恢复数据

--创建索引

createnonclusteredindex员工编号_idxon员工表(员工编号)

--创建存储过程进行简单查询和复杂查询

--查询员工业绩,按业绩降序排列

createprocedure查询员工业绩降序排列AS

select员工表.员工编号,员工表.员工姓名,考核表.本月业绩

from员工表innerjoin考核表on员工表.员工编号=考核表.员工编号

orderby考核表.本月业绩desc

exec查询员工业绩降序排列

--查询所有的研究生名单

createprocedure查询所有研究生名单按部门分组AS

select部门表.部门名称,员工表.员工姓名,员工表.学历

from员工表innerjoin部门表on员工表.部门编号=部门表.部门编号

where员工表.学历='

or员工表.学历='

exec查询所有研究生名单按部门分组

--建立视图进行查询

createview查询员工所有个人信息AS

select员工表.员工编号,员工表.员工姓名,部门表.部门名称,员工表.职务,员工表.性别,员工表.出生日期,员工表.年龄,员工表.入职日期,员工表.学历,员工表.电话,

from部门表innerjoin员工表on员工表.部门编号=部门表.部门编号

createprocedure查询员工所有个人信息_procAS

select*from查询员工所有个人信息

exec查询员工所有个人信息_proc

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

当前位置:首页 > 自然科学

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

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