数据库人力资源管理系统

上传人:沈*** 文档编号:139626259 上传时间:2022-08-22 格式:DOC 页数:10 大小:102KB
收藏 版权申诉 举报 下载
数据库人力资源管理系统_第1页
第1页 / 共10页
数据库人力资源管理系统_第2页
第2页 / 共10页
数据库人力资源管理系统_第3页
第3页 / 共10页
资源描述:

《数据库人力资源管理系统》由会员分享,可在线阅读,更多相关《数据库人力资源管理系统(10页珍藏版)》请在装配图网上搜索。

1、人力资源管理系统数据库设计与实现所完成的工作: 数据库整体结构设计需求分析ER图绘制完成数据库的物理设计语句编写和上机检验系统名称:人力资源管理系统一、系统需求分析 1、该“人力资源管理系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立),而后数据的录入,最后完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使用。 2、系统结构简述 本系统包括6个实体:总经理、经理、员工、部门、指标、工资实体之间的关系转换为5个表:职务表、部门表、员工表、考核表、工资表其

2、中,实体部分有3个表:员工表、部门表、工资表员工与指标间多对多关系转换为考核表注:各个基本表中关键字已在关系模式中说明 3、实现的功能 1)通过表的创建过程进行数据的关联和约束 创建多个约束、规则、默认值对数据进行安全性管理(详见物理设计) 创建检查约束(用到casewhen语句分情况),检验员工编号的合理性,即通过编号可以体现他的部门(A为总经理,B为经理,C为员工) 2)插入、修改、删除功能 本系统有5个表:员工表、部门表、职务表、考核表、工资表。其中员工表、部门表、职务表是基本表,数据直接、完全输入。考核表、工资表与员工表有外键联系,且有计算列,需要创建存储过程来插入数据。 建立2个存储

3、过程,进行考核表、工资表的插入 建立一个存储过程,考虑外键联系,删除某员工的全部信息 建立触发器,当添加、删除数据时会显示 3)查询功能 使用select语句实现简单查询和复杂查询 并创建存储过程进行查询 创建视图,通过视图来查询 部门编号二、ER图部门名称经理编号11n1部门分管经理领导总经理11领导属于办公 nn员工编号员工本月出勤次员工编号1m本月业绩获得考核领导基本工资本月考核1n基本奖金n1影响工 资计算工资指 标本月实发工资所得税业 绩出勤次员工姓名职务部门编号性别员工编号员 工出生日期学历 入职日期计算工资年龄注:总经理与经理的属性ER图与员工相同员工的职务属性通过员工编号体现,

4、规则见“职务表”三、关系模式系统中的实体有:总经理、经理、员工、部门、指标、工资为简化关系模式,将总经理、经理、员工的信息集中到一个表。关系模式如下:职务表(职务名称、职务编号、基本工资、基本奖金)部门表(部门编号、部门名称、经理编号、办公 )员工表(员工编号、员工姓名、部门编号、职务、出生日期、年龄、入职日期、性别、学历、 )考核表(员工编号、本月出勤次、本月业绩、本月考核)工资表(员工编号、基本工资、基本奖金、计算工资、所得税、本月实发工资)四、物理设计 职务表结构属性名数据类型说明职务名称char (6)主键职务编号char (2)not null基本工资int基本奖金int说明:职务表

5、为基本表,直接输入数据。其中,职务编号A、B、C分别为总经理、经理、员工的员工编号的首字母(如,经理B01,员工C03) 部门表结构属性名数据类型说明部门编号char (2)主键部门名称char (6)not null经理编号char (4)经理 char (12)说明:部门表为基本表,直接输入数据。 员工表结构属性名数据类型说明员工编号char (4)主键;检查约束员工姓名char (6)not null部门编号char (2)外键职务char (6)职务规则性别char (2)not null;性别规则出生日期datetimenot null年龄int入职日期datetimenot nul

6、l学历char (4)学历规则;默认约束 char (12)说明:1、员工表与部门表有外键联系,部门编号是部门表的主键;直接输入数据 2、员工编号是主键,并有检查约束,确认输入的员工编号合理。具体是员工编号的首字母与职务对应的编号一致,如,总经理编号为AXX,经理BXX,员工CXX 3、职务与规则“职务_rule”绑定,取值范围(“总经理”“经理”“员工”) 4、公式:年龄=year(getdate( )-year(出生日期) 5、性别与规则“性别_rule”绑定,取值范围(“男”“女”) 6、学历与规则“学历_rule”绑定,取值范围(“博士”“硕士”“学士”),默认值学士 考核表结构属性名

7、数据类型说明员工编号char (4)主键;外键本月出勤次intnot null;默认值本月业绩intnot null本月考核int主键说明:1、考核表与员工表有外键联系;用表约束定义联合主键 2、本月考核为计算列,公式本月考核=本月业绩*本月出勤次。创建存储过程“insert考核表”实现输入数据, 3、本月出勤次与默认“default 本月出勤次”绑定,默认值为30 工资表结构属性名数据类型说明员工编号char (4)主键;外键基本工资intnot null基本奖金intnot null计算工资int所得税int本月实发工资int主键说明:1、考核表与员工表有外键联系;用表约束定义联合主键 2

8、、后三列为计算列,公式:计算工资=基本工资+本月考核*基本奖金/50本月实发工资=计算工资-所得税其中,本月考核是考核表中该员工对应的考核创建存储过程“insert工资表”实现输入数据 五、系统实现-创建数据库人力资源管理系统DBcreate database 人力资源管理系统DBon( name=人力资源管理系统DB_dat, filename=e:人力资源管理系统DB_dat.mdf, size=5120kb, maxsize=102400kb, filegrowth=1024kb)log on( name=人力资源管理系统DB_log, filename=e:人力资源管理系统DB_log

9、.ldf, size=1024kb, maxsize=102400kb, filegrowth=1024kb)use 人力资源管理系统DB-创建表create table 职务表( 职务名称 char(6) not null primary key, 职务编号 char(2) not null, 基本工资 int, 基本奖金 int,)create table 部门表( 部门编号 char(2) not null primary key, 部门名称 char(6) not null, 经理编号 char(4), 经理 char(12)create table 员工表( 员工编号 char(4)

10、 not null primary key, 员工姓名 char(6) not null, 部门编号 char(2), 职务 char(6), 性别 char(2) not null, 出生日期 datetime not null, 年龄 int, 入职日期 datetime not null, 学历 char(4), char(12), constraint fk_员工表_部门表_key foreign key(部门编号)references 部门表(部门编号), constraint fk_员工表_职务表_key foreign key(职务)references 职务表(职务名称)cre

11、ate table 考核表( 员工编号 char(4) not null, 本月出勤次 int not null, 本月业绩 int not null, 本月考核 int, constraint pk_考核表_key primary key(员工编号,本月考核), constraint fk_员工表_考核表_key foreign key(员工编号)references 员工表(员工编号)create table 工资表( 员工编号 char(4) not null, 基本工资 int not null, 基本奖金 int not null, 计算工资 int, 所得税 int, 本月实发工资

12、 int, constraint pk_工资表_key primary key(员工编号,本月实发工资), constraint fk_员工表_工资表_key foreign key(员工编号)references 员工表(员工编号)-为员工表建立检查约束,保证输入的员工编号合理alter table 员工表 with nocheckadd constraint ck_员工编号 check (substring(员工编号,1,1)= case when 职务=总经理 thenA when 职务=经理 thenB when 职务=员工 thenC end ) go-建立职务规则、学历规则、性别规

13、则,并与员工表绑定create rule 职务_rule AS 职务 in(总经理,经理,员工)goexec sp_bindrule 职务_rule,员工表.职务gocreate rule 学历_rule AS 学历 in(博士,硕士,学士,大专)goexec sp_bindrule 学历_rule,员工表.学历gocreate rule 性别_rule AS 性别 in(男,女)goexec sp_bindrule 性别_rule,员工表.性别go-建立学历默认值约束,与员工表对应列绑定create default 学历_defa AS学士goexec sp_bindefault 学历_de

14、fa,员工表.学历go-建立本月缺勤次默认值约束,与考核表对影列绑定create default 本月出勤次_defa AS31goexec sp_bindefault 本月出勤次_defa,出勤次 go-输入员工表、职务表、部门表数据insert 职务表 values(总经理,A,50000,5000)insert 职务表 values(经理,B,10000,5000)insert 职务表 values(员工,C,3000,1000)insert 部门表 values(D1,销售部,B01,)insert 部门表 values(D2,采购部,B02,)insert 部门表 values(D3

15、,人事部,B03,)insert 部门表 values(D,总经理,A01,)insert 员工表 values(A01,*,D,总经理,女, , , ,硕士,)insert 员工表 values(B01,D1,经理,女, , , ,博士,)insert 员工表 values(B02,D2,经理,女, , 19, ,硕士,)insert 员工表 values(B03,赵某,D3,经理,男, 19901126, 21, 20111211,博士,)insert 员工表 values(C01,钱某,D1,员工,女, 19890613, 22, 20111211,学士,)insert 员工表 valu

16、es(C02,孙某,D1,员工,男, 19900823, 21, 20111211,硕士,)insert 员工表 values(C03,李某,D1,员工,男, 19870524, 24, 20111211,学士,)insert 员工表 values(C04,周某,D1,员工,男, 19850126, 26, 20111211,大专,)insert 员工表 values(C05,吴某,D2,员工,女, 19920908, 19, 20111211,学士,)insert 员工表 values(C06,郑某,D2,员工,男, 19911121, 20, 20111211,硕士,)insert 员工表

17、 values(C07,王某,D2,员工,男, 19860224, 25, 20111211,博士,)insert 员工表 values(C08,冯某,D3,员工,女, 19820905, 29, 20111211,博士,)insert 员工表 values(C09,陈某,D3,员工,女, 19910403, 20, 20111211,硕士,)-查看员工表、职务表、部门表数据select * from 员工表select * from 职务表select * from 部门表go-创建存储过程,用于输入考核表、工资表的数据create procedure insert考核表 员工编号 char

18、(4), 本月出勤次 int, 本月业绩 intasinsert 考核表 values(员工编号,本月出勤次,本月业绩,本月业绩-5*本月出勤次)gocreate procedure insert工资表 员工编号 char(4), 基本工资 int, 基本奖金 intasbegindeclare 本月考核 intset 本月考核=(select 本月考核 from 考核表 where 员工编号=员工编号)insert 工资表 values(员工编号,基本工资,基本奖金, 基本工资+本月考核*基本奖金/50, (基本工资+本月考核*基本奖金/50)*, (基本工资+本月考核*基本奖金/50)*)

19、endgo-输入考核表、工资表数据exec insert考核表 A01,31,95exec insert考核表 B01,31,95exec insert考核表 B02,30,80exec insert考核表 B03,31,55exec insert考核表 C01,31,100exec insert考核表 C02,27,95exec insert考核表 C03,31,95exec insert考核表 C04,31,85exec insert考核表 C05,29,75exec insert考核表 C06,31,95exec insert考核表 C07,28,80exec insert考核表 C08

20、,31,30exec insert考核表 C09,29,70exec insert工资表 A01,50000,5000exec insert工资表 B01,10000,5000exec insert工资表 B02,10000,5000exec insert工资表 B03,10000,5000exec insert工资表 C01,3000,1000exec insert工资表 C02,3000,1000exec insert工资表 C03,3000,1000exec insert工资表 C04,3000,1000exec insert工资表 C05,3000,1000exec insert工资表

21、 C06,3000,1000exec insert工资表 C07,3000,1000exec insert工资表 C08,3000,1000exec insert工资表 C09,3000,1000-查看考核表、工资表数据select * from 考核表select * from 工资表go-创建存储函数删除某一员工的信息create procedure 删除员工 员工编号 char(4)asbegindelete 考核表 where 员工编号=员工编号delete 工资表 where 员工编号=员工编号delete 员工表 where 员工编号=员工编号endgo-创建触发器create t

22、rigger tr_delete on 员工表 for deleteasdeclare num varchar(50)select num=str(rowcount) +个学生被删除select numreturngocreate trigger tr_insert on 员工表 for insertasdeclare num varchar(50)select num=str(rowcount) +个学生被添加select numreturngo-检验触发器exec 删除员工 A01go -删除数据,检验触发器insert 员工表 values(A01,D,总经理,女, 19911226,

23、20, 20111211,硕士,)go -恢复数据-创建索引create nonclustered index 员工编号_idx on 员工表(员工编号)-创建存储过程进行简单查询和复杂查询-查询员工业绩,按业绩降序排列create procedure 查询员工业绩降序排列 ASselect 员工表.员工编号,员工表.员工姓名,考核表.本月业绩from 员工表 inner join 考核表 on 员工表.员工编号=考核表.员工编号order by 考核表.本月业绩 descexec 查询员工业绩降序排列go-查询所有的研究生名单create procedure 查询所有研究生名单按部门分组 A

24、Sselect 部门表.部门名称,员工表.员工姓名,员工表.学历from 员工表 inner join 部门表 on 员工表.部门编号=部门表.部门编号where 员工表.学历=博士 or 员工表.学历=硕士exec 查询所有研究生名单按部门分组go-建立视图进行查询create view 查询员工所有个人信息 ASselect 员工表.员工编号,员工表.员工姓名,部门表.部门名称,员工表.职务,员工表.性别, 员工表.出生日期, 员工表.年龄, 员工表.入职日期,员工表.学历,员工表. , from 部门表 inner join 员工表 on 员工表.部门编号=部门表.部门编号 create procedure 查询员工所有个人信息_proc ASselect * from 查询员工所有个人信息exec 查询员工所有个人信息_procgo

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!