员工管理系统数据库_第1页
员工管理系统数据库_第2页
员工管理系统数据库_第3页
员工管理系统数据库_第4页
员工管理系统数据库_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(sql2009-12-2716:49员工管理系统数据库(sqlserver)数据库设置:工资管理系统(权限只能查询本人创建数据库设置权限表((FK))2,部门表(部门名称,部门编号(PK)(自动增量),部门经理编号(员工编号),部门描述)3,工资表((PK)(((PK),审核者编号,拒绝申请的理由,申请状态)6,假期表((PK),假期具体日期,假期名称,是否为法定假期)各表PK为自动增量,聚集索引表之间的关系员工表(部门编号)--部门表(部门编号)员工表(员工编号)--工资表(员工编号)员工表(员工编号)--考勤表(员工编号)员工表(员工编号)--请假表(员工编号)表之中的约束1,员工表(check密码为6位以上,check登录名长度大于1,unique登录名唯一)2,>600"or3,考勤表(记录者编号<>员工编号and考勤类型=“缺勤”or“迟到”or“早退”)4,请假表(员工编号<>审核者编号and申请状态=“已提交决”and视图员工基本信息基员工-(左外联)-部门表 得到了员工的详细信息其中包括工的基本信息、员工的部门信息2,考勤信息 基考勤--(内联)--员工表 得到员工的姓名员工所属部门编考勤情况3,请假信息 基请假--(内联)--员工表 得到员工的请假申请信,申请请状态和请假批准人姓名4,工资信息 基员工-(左外联)-部门-(内联)-工资表得到员工的详细工信息5,基本工资基表:员工表--(内联接)--工资表得到员工的基本工资6,变动工资基表:员工表--(内联接)--工资表得到员工基本工资的变动增加信息7,假期信息基表:假期表得到假期信息存储过程1,增加员工 基:员工表插入员工表一条记录2,删除员工 基:员工表删除员工表一条记录根据员工编号3,更新员工信息 基:员工表更改员工的基本信息据员工登录,密码4,得到用户密码 基:员工表input用户员工编号output用户密码5,更改密码 基:员工表据员工编登录,原始密码用户表的密码6,删除部门全部员工基表:员工表7,增加部门 基:部门表8,请假申请 基:请假表员工插入请假表一条记录9,更新员工请假状态基表:请假表经理或管理员更改请假表中的申请请假状态,或和拒绝申请的理由10,删除请假记录 基:请假表删除请假表一条记录据员工编号和提交时间11,查看员工基本工资基表:工资表--员工表据登陆名和密码查出姓名,基本工资12,更改员工基本工资基表:工资表--员工表更改员工的基本工资13,查询员工历史工资信息基表:员工表--工资表input员工编号output得到员工工资具体信息14,更改员工津贴 基:员工--工资表input员工编号output更改员工的津贴15,查看部门总发放工资基表:工资表,员工表,部门表据部门编号用户自定义函数1,返回员工工资编号 通过员工编号2,返回员工请假编号 通过员工编号3,返回员工所有请假记录通过请假编号4,返回部门成员信息 通过部门名称触发器1,每次只能删一个员工 定义在在员工表上否则给出出错信息2,更改员工拥有假期 定义在员工表上当员工请假申请状态"否"时之前其有假期时间已经被减少,否决完成后应该相应恢复其拥有假期时间3,员工申请请假状态为批准时定义在工资表自动将员工表的缺勤扣除项设为应扣的一半4,更新应发工资 定义在工资表为基本工资-缺勤早退扣除+奖金+津贴-住公积-养老水电费--以下是代码其中约束和之间的关系没建立createdatabaseSalaryManagementon(name='SM_data','E:\SM.MDF',SIZE=10MB,MAXSIZE=50MB,)LogOn(NAME='SM_log','F:\SM.ndf',SIZE=5MB,MAXSIZE==2MB)GO创 建 基 本 表useSalaryManagementcreatetabledbo.员工表(员工编号intidentity(1,1)notnullprimarykey,姓名nvarchar(50)NOTNULL,出生日期datetimeNOTNULL,身份证号nvarchar(18)notnull,加入公司日期datetimeNOTNULL,登录名nvarchar(20)NOTNULL,密码binary(20)notNULL,电话nvarchar(50)notnull,电子邮件nvarchar(50)NOTNULL,部门编号intnotNULL,员工级别intnotNULL,拥有假期时间intnotNULL,备注textnull)gocreatetabledbo.部门表(部门编号intIDENTITY(1,1)NOTNULLprimarykey,部门名称nchar(10)notNULL,部门经理编号intnotnull,部门描述textnull)gocreatetabledbo.工资表(工资编号intIDENTITY(1,1)NOTNULLprimary员工编号intnotnull,基本工资intnot应发工资intnot缺勤早退扣除intnotnull,津贴intnotnull,住房公积金intnotnull,养老费intnotnull,是否为单位住房bitnotnull,--0表示否,1表示是水电费intnotnull,--若是否为单位住房为0,则水电费为0工作日期datetimeNOTNULL,当前记录日期datetimeNOTNULL,薪资发放日期datetimeNOTNULl)gocreatetabledbo.考勤表(考勤编号intidentity(1,1)notnullprimarykey,员工编号intnotnull,到达时间datetimenotnull,记录者编号intnotnull,考勤类型nvarchar(8)notor日期datetimenotnull)gocreatetabledbo.请假表(请假编号intidentity(1,1)notnullprimarykey,员工编号intnotnull,请假原因textnotnull,提交时间datetimenotnull,请假开始时间datetimenotnull,请假结束时间datetimenotnull,审核者编号intnull,拒绝申请的理由ntextnull,申请状态nvarchar(6)null)--只能为“已提交gocreatetabledbo.假期表(假期编号intidentity(1,1)notnullprimarykey,假期具体日期datetimenotnull,假期名称nvarchar(20)notnull,是否为法定假期bitnotnull)go 创建视图useSalaryManagementgocreateviewASSELECTy.员工编号,y.姓名,y.电子邮件,y.电话,y.登录名,y.出生日期,y.部门编号,b.部门名称,y.员工级别,y.拥有假期时间FROMdbo.员工表asyleftouterjoindbo.部门表bony.部门编号=b.部门编号gocreateviewdbo.考勤信息asselect,y,k.日期,kfrom考勤表askinnerjoin员工表asyonk=kgocreateviewasselect请假编,y.姓,q.提交时,q.请假原,q.申请状,q.拒绝申请的理from 请假表asqinnerjoin员工表asyonq=ygocreateviewasselecty.员工编号,b.部门名称,y.姓名,g.基本工资,g.工资编号,g.应发工资,g扣除,g.津贴,g.住房公积金,g.养老费,g.水电费,g.薪资发放日期from工资表asginnerjoin员工表asyong.员工编号=y.员工编号leftouterjoin部门表asbony.部门编号=b.部门编号gocreateviewasselect,y,g.基本工资from员工表asyinnerjoin工资表asony=g.员工编号gocreateviewasselecty.姓名,y.员工编号,g.工资编号,g.缺勤早退扣除,g.津贴,g.住房公积金,g.养老费,g,g.薪资发放日期from员工表asyinnerjoin工资表asony.员工编号=g.员工编号gocreateviewasselect假期编号,假期具体日期as假期日期,假期名称,是否为法定假期from假期表go 创建存储过程useSalaryManagement--利用系统函数@@error来确定每个insert语句是否发生错误,如果发生,事务将会滚.gocreateprocedure(@姓名nvarchar(50),@出生日期datetime,@身份证号nvarchar(18),@加入公司日期datetime,@登录名nvarchar(20),@密码binary(20),@电话nvarchar(50),@电子邮件nvarchar(50),@部门编号int,@员工级别int,@拥有假期时间int,@备注text=null)asbegintransactioninsert员工表(姓名,出生日期,身份证号,加入公司日期,登录名,密码,电话,电子邮件,部门编号,员工级别,拥有假期时间,备注)values(@姓名,@出生日期,@身份证号,@加入公司日期,@登录名,@密码,@电话,@电子邮件,@部门编号,@员工级别,@拥有假期时间,@备注)if@@error<>0beginrollbacktranreturnendgocreateprocedure@员工编号intasdeletefrom员工表where=@goCREATEPROCEDURE(@int,@姓名nvarchar(50)=@出生日期datetime=@身份证号nvarchar(18)=@加入公司日期datetime=@电话nvarchar(50)=null,@电子邮件nvarchar(50)=null @部门编号int=null,@员工级别int=null,@拥有假期时间int=null,@备注text=null)AsUPDATE员工表Set员工编号=@@@@@电子邮件=@电子邮件,员工级别=@员工级别,拥有假期时间=@拥有假期时间,备注=@备注WHERE员工编号=@员工编号return@@RowcountgoCREATEPROCEDURE(@员工编号int,@密码binary(20)output)AsSELECT@密码=密码FROM员工表WHERE员工编号=@员工编号return@@RowcountgoCreateProcedure(@登录名asnvarchar(20),@老密码asbinary(20),@新密码asbinary(20))ASDeclare员工编号asintselectfrom员工表where登录名=@登录名and密码=@老密码Update员工表set密码=@新密码where员工编号=@员工编号gocreateprocedureintasdeletefrom员工表where部门编号=@部门编号goCreateProcedure(@部门名称nchar(10),@部门描述nvarchar(50),@部门经理编号int)ASinsert部门表(部门名称,部门描述,部门经理编号)values(@部门名称,@部门描述,@部门经理编号)gocreateprocedure(员工编号int,请假原因text,@提交时间datetime,@请假开始时间datetime,@请假结束时间datetime)asinsert请假表(员工编号,请假原因,提交时间,请假开始时间,请假结束时间)values(@员工编号,@请假原因,@提交时间,@请假开始时间,@请假结束时间)gocreateprocedure(@int,@审核者编号int,@拒绝申请的理由ntext=null,@申请状态nvarchar(6))asupdate请假表set 拒绝申请的理由=@拒绝申请的理由,申请状态=@申请状态where员工编号=@员工编号gocreateprocedure(@int,@员工编号int,@提交时间datetime)asdeletefrom请假表where员工编号=@员工编号andgocreateprocedure(@登录名nvarchar,@密码binary)as--得到员工编号declare员工编号asintselectfrom员工表where登录名=@登录名and密码=@密码--查询员工基本工资select,gfrom员工表asyinnerjoin工资表asony=g.员工编号whereg.员工编号=@员工编号gocreateprocedure(@int,@老基本工资int,@新基本工资int)asupdate工资表set基本工资=@新基本工资where员工编号=@员工编号gocreateprocedure(@int,@开始时间datetime,@结束时间datetime)ASselecty.姓名,g.工资编号,g.薪资发放日期as时间,g.基本工资,g.应发工资,g.缺勤早退扣除,g.津贴,g.住房公积金,g.养老费from工资表asgjoin员工表asyong=y.员工编号wherey@havingg.薪资发放日期>=@开始时间andg.薪资发放日期<=@结束时间groupbyg.工资编号gocreateprocedure(@int,@新津贴 asupdate工资表set津贴=@新津贴where员工编号=@员工编号gocreateprocedure@部门编号intasselect,b,sum(g.应发工资)as总发放工资from部门表asbinnerjoinasyonb=yinnerjoin工资表asgony=ggo 用户自定义函数--1,返回员工工资编号 通过员工编号CREATEFUNCTIONdbo.返回员工工资编号(@员工编号int)RETURNSintASbegin

DeclareintSEL

温馨提示

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

评论

0/150

提交评论