数据库—人力资源管理系统.doc
《数据库—人力资源管理系统.doc》由会员分享,可在线阅读,更多相关《数据库—人力资源管理系统.doc(17页珍藏版)》请在咨信网上搜索。
(完整word版)数据库—人力资源管理系统 人力资源管理系统数据库设计与实现 所完成的工作: 数据库整体结构设计 需求分析 ER图绘制 完成数据库的物理设计 SQL语句编写和上机检验 系统名称:人力资源管理系统 一、系统需求分析 1、该“人力资源管理系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER图的绘制,再到数据库模式的建立(即为数据神农百草膏第三代库及其基本表的建立),而后数据的录入,最后完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使用。 2、系统结构简述 本系统包括6个实体:总经理、经理、员工、部门、指标、工资 实体之间的关系转换为5个表:职务表、部门表、员工表、考核表、工资表 其中,实体部分有3个表:员工表、部门表、工资表 员工与指标间多对多关系转换为考核表 注:各个基本表中关键字已在关系模式中说明 3、实现的功能 1)通过表的创建过程进行数据的关联和约束 创建多个约束、规则、默认值对数据进行安全性管理(详见物理设计) 创建检查约束(用到case…when语句分情况),检验员工编号的合理性,即通过编号可以体现他的部门(A为总经理,B为经理,C为员工) 2)插入、修改、删除功能 本系统有5个表:员工表、部门表、职务表、考核表、工资表。其中员工表、部门表、职务表是基本表,数据直接、完全输入。考核表、工资表与员工表有外键联系,且有计算列,需要创建存储过程来插入数据。 ◎建立2个存储过程,进行考核表、工资表的插入 ◎建立一个存储过程,考虑外键联系,删除某员工的全部信息 ◎建立触发器,当添加、删除数据时会显示 3)查询功能 ◎使用select语句实现简单查询和复杂查询 并创建存储过程进行查询 ◎创建视图,通过视图来查询 部门编号 二、ER图 部门名称 经理编号 1 1 n 1 部门 分管 经理 领导 总经理 1 1 领导 属于 办公电话 n n 员工编号 员工 本月出勤次 员工编号 1 m 本月业绩 获得 考核领导 基本工资 本月考核 1 n 基本奖金 n 1 影响 工 资 计算工资 指 标 本月实发工资 所得税 业 绩 出勤次 员工姓名 职务 部门编号 性别 员工编号 员 工 出生日期 学历 电话 入职日期计算工资 年龄 注:总经理与经理的属性ER图与员工相同 员工的职务属性通过员工编号体现,规则见“职务表” 三、关系模式 系统中的实体有:总经理、经理、员工、部门、指标、工资 为简化关系模式,将总经理、经理、员工的信息集中到一个表。关系模式如下: 职务表(职务名称、职务编号、基本工资、基本奖金) 部门表(部门编号、部门名称、经理编号、办公电话) 员工表(员工编号、员工姓名、部白兔牌暗疮膏门编号、职务、出生日期、年龄、入职日期、性别、学历、电话) 考核表(员工编号、本月出勤次、本月业绩、本月考核) 工资表(员工编号、基本工资、基本奖金、计算工资、所得税、本月实发工资) 四、物理设计 职务表结构 属性名 数据类型 说明 职务名称 char (6) 主键 职务编号 char (2) not null 基本工资 int 基本奖金 int 说明:职务表为基本表,直接输入数据。其中,职务编号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;性别规则 出生日期 datetime not null 年龄 int 入职日期 datetime not null 学历 char (4) 学历规则;默认约束 电话 char (12) 说明:1、员工表与部门表有外键联系,部门编号是部门表的主键;直接输入数据 2、员工编号是主键,并有检查约束,确认输入的员工编号合理。具体是员工编号的首字母与职务对应的编号一致,如,总经理编号为AXX,经理BXX,员工CXX 3、职务与规则“职务_rule”绑定,取值范围(“总经理”“'经理”“员工”) 4、公式:年龄=year(getdate( ))-year(出生日期) 5、性别与规则“性别_rule”绑定,取值范围(“男”“'女”) 6、学历与规则“学历_rule”绑定,取值范围(“博士”“'硕士”“学士”),默认值学士 考核表结构 属性名 数据类型 说明 员工编号 char (4) 主键;外键 本月出勤次 int not null;默认值 本月业绩 int not null 本月考核 int 主键 说明:1、考核表与员工表有外键联系;用表约束定义联合主键 2、本月考核为计算列,公式本月考核=本月业绩*本月出勤次。创建存储过程“insert考核表”实现输入数据, 3、本月出勤次与默认“default 本月出勤次”绑定,默认值为30 工资表结构 属性名 数据类型 说明 员工编号 char (4) 主键;外键 基本工资 int not null 基本奖金 int not null 计算工资 int 所得税 int 本月实发工资 int 主键 说明:1、考核表与员工表有外键联系;用表约束定义联合主键 2、后三列为计算列,公式: 计算工资=基本工资+本月考核*基本奖金/50 所得税=计算工资*0.05 本月实发工资=计算工资-所得税 其中,本月考核是考核表中该员工对应的考核 创建存储过程“insert工资表”实现输入数据 五、系统实现 --创建数据库"人力资源管理系统DB" create database 人力资源管理系统DB on ( name=人力资源管理系统DB_dat, filename='e:\人力资源管理系统DB_dat.mdf', size=5120kb, maxsize=kb, filegrowth=1024kb ) log on ( name='人力资源管理系统DB_log', filename='e:\人力资源管理系统DB_log.ldf', size=1024kb, maxsize=kb, 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) 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 职务表(职务名称) ) create 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, 本月实发工资 int, constraint pk_工资表_key primary key(员工编号,本月实发工资), constraint fk_员工表_工资表_key foreign key(员工编号)references 员工表(员工编号) ) --为员工表建立检查约束,保证输入的员工编号合理 alter table 员工表 with nocheck add constraint ck_员工编号 check (substring(员工编号,1,1)= case when 职务='总经理' then'A' when 职务='经理' then'B' when 职务='员工' then'C' end ) go --建立职务规则、学历规则、性别规则,并与员工表绑定 create rule 职务_rule AS @职务 in('总经理','经理','员工') go exec sp_bindrule 职务_rule,'员工表.职务' go create rule 学历_rule AS @学历 in('博士','硕士','学士','大专') go exec sp_bindrule 学历_rule,'员工表.学历' go create rule 性别_rule AS @性别 in('男','女') go exec sp_bindrule 性别_rule,'员工表.性别' go --建立学历默认值约束,与员工表对应列绑定 create default 学历_defa AS'学士' go exec sp_bindefault 学历_defa,'员工表.学历' go --建立本月缺勤次默认值约束,与考核表对影列绑定 create default 本月出勤次_defa AS'31' go exec 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','人事部','B03','') insert 部门表 values('D','总经理','A01','') insert 员工表 values('A01','***','D','总经理','女', '', '', '','硕士','') insert 员工表 values('B01','','D1','经理','女', '', '', '','博士','') insert 员工表 values('B02','','D2','经理','女', '', '19', '','硕士','') insert 员工表 values('B03','赵某','D3','经理','男', '', '21', '','博士','') insert 员工表 values('C01','钱某','D1','员工','女', '', '22', '','学士','') insert 员工表 values('C02','孙某','D1','员工','男', '', '21', '','硕士','') insert 员工表 values('C03','李某','D1','员工','男', '', '24', '','学士','') insert 员工表 values('C04','周某','D1','员工','男', '', '26', '','大专','') insert 员工表 values('C05','吴某','D2','员工','女', '', '19', '','学士','') insert 员工表 values('C06','郑某','D2','员工','男', '', '20', '','硕士','') insert 员工表 values('C07','王某','D2','员工','男', '', '25', '','博士','5') insert 员工表 values('C08','冯某','D3','员工','女', '', '29', '','博士','') insert 员工表 values('C09','陈某','D3','员工','女', '', '20', '','硕士','') --查看员工表、职务表、部门表数据 select * from 员工表 select * from 职务表 select * from 部门表 go --创建存储过程,用于输入考核表、工资表的数据 create procedure insert考核表 @员工编号 char(4), @本月出勤次 int, @本月业绩 int as insert 考核表 values(@员工编号,@本月出勤次,@本月业绩,@本月业绩-5*@本月出勤次) go create procedure insert工资表 @员工编号 char(4), @基本工资 int, @基本奖金 int as begin declare @本月考核 int set @本月考核=(select 本月考核 from 考核表 where 员工编号=@员工编号) insert 工资表 values(@员工编号,@基本工资,@基本奖金, @基本工资+@本月考核*@基本奖金/50, (@基本工资+@本月考核*@基本奖金/50)*0.05, (@基本工资+@本月考核*@基本奖金/50)*0.95) end go --输入考核表、工资表数据 exec insert考核表 A01,31,95 exec insert考核表 B01,31,95 exec insert考核表 B02,30,80 exec insert考核表 B03,31,55 exec insert考核表 C01,31,100 exec insert考核表 C02,27,95 exec insert考核表 C03,31,95 exec insert考核表 C04,31,85 exec insert考核表 C05,29,75 exec insert考核表 C06,31,95 exec insert考核表 C07,28,80 exec insert考核表 C08,31,30 exec insert考核表 C09,29,70 exec insert工资表 A01,50000,5000 exec insert工资表 B01,10000,5000 exec insert工资表 B02,10000,5000 exec insert工资表 B03,10000,5000 exec insert工资表 C01,3000,1000 exec insert工资表 C02,3000,1000 exec insert工资表 C03,3000,1000 exec insert工资表 C04,3000,1000 exec insert工资表 C05,3000,1000 exec insert工资表 C06,3000,1000 exec insert工资表 C07,3000,1000 exec insert工资表 C08,3000,1000 exec insert工资表 C09,3000,1000 --查看考核表、工资表数据 select * from 考核表 select * from 工资表 go --创建存储函数删除某一员工的信息 create procedure 删除员工 @员工编号 char(4) as begin delete 考核表 where 员工编号=@员工编号 delete 工资表 where 员工编号=@员工编号 delete 员工表 where 员工编号=@员工编号 end go --创建触发器 create trigger tr_delete on 员工表 for delete as declare @num varchar(50) select @num=str(@@rowcount) +'个学生被删除' select @num return go create trigger tr_insert on 员工表 for insert as declare @num varchar(50) select @num=str(@@rowcount) +'个学生被添加' select @num return go --检验触发器 exec 删除员工 A01 go --删除数据,检验触发器 insert 员工表 values('A01','','D','总经理','女', '', '20', '','硕士','') go --恢复数据 --创建索引 create nonclustered index 员工编号_idx on 员工表(员工编号) --创建存储过程进行简单查询和复杂查询 --查询员工业绩,按业绩降序排列 create procedure 查询员工业绩降序排列 AS select 员工表.员工编号,员工表.员工姓名,考核表.本月业绩 from 员工表 inner join 考核表 on 员工表.员工编号=考核表.员工编号 order by 考核表.本月业绩 desc exec 查询员工业绩降序排列 go --查询所有的研究生名单 create procedure 查询所有研究生名单按部门分组 AS select 部门表.部门名称,员工表.员工姓名,员工表.学历 from 员工表 inner join 部门表 on 员工表.部门编号=部门表.部门编号 where 员工表.学历='博士' or 员工表.学历='硕士' exec 查询所有研究生名单按部门分组 go --建立视图进行查询 create view 查询员工所有个人信息 AS select 员工表.员工编号,员工表.员工姓名,部门表.部门名称,员工表.职务,员工表.性别, 员工表.出生日期, 员工表.年龄, 员工表.入职日期,员工表.学历,员工表.电话, from 部门表 inner join 员工表 on 员工表.部门编号=部门表.部门编号 create procedure 查询员工所有个人信息_proc AS select * from 查询员工所有个人信息 exec 查询员工所有个人信息_proc go 听范读短文的录音。学生根据拼音自由朗读短文,不会拼读的音节求助同学或老师。听老师读短文,把自己不会认读的字和词听清楚。指名朗读,重点纠正“蓝”“绿”“帆”的读音。齐读短文,进一步熟悉短文。你最喜欢哪一句话?指导学生有感情地朗读。ficulties,shallconsistofminingorganizationstosolveproblems.C-class:fromsegmentsandbusinessrisksthatmustbeaddressedintheDepartment.2,open-pitmineunsafetypesinclude:electrical,transport,blasting,fire,andotherslope.3,accordingtotheseverityofthehazardfilledinbyunittroubleshooting,registrationform(seeatt- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 数据库 人力资源 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文