



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、员工管理系统数据库(sql server)2009-12-27 16:49员工管理系统数据库(sql server)数据库设置:工资管理系统帐户设置: 三个用户 管理员, 部门经理 ( 查询本部门员工的信息 ), 员工(权限只能查询本人)创建数据库设置权限-表1,员工表(员工编号 (PK)(FK) ,姓名, 出生日期, 身份证号, 加入公司日期, 登录名, 密码,电话 , 电子邮件,部门编号 (FK), 员工级别,拥有假期时间 , 备注)2,部门表 ( 部门名称 , 部门编号 (PK)( 自动增量 ), 部门经理编号 ( 员工编号 ), 部门描述 )3,工资表(工资编号(PK) ,员工编号,基
2、本工资,应发工资, 缺勤早退扣除,津贴, ,奖金,住房公积金,养老费,是否为单位住房, 水电费,工作日期,当前日期, 薪资发放当前日期)4,考勤表(考勤编号 (PK) ,员工编号, 到达时间, 记录者编号 ( 员工编号 ) ,考勤类型, 日期)5,请假表(请假编号 (PK),员工编号, 请假原因, 提交时间, 请假开始时间, 请假结束时间,审核者编号,拒绝申请的理由,申请状态)6,假期表(假期编号(PK) ,假期具体日期,假期名称,是否为法定假期)各表 PK为自动增量 , 聚集索引表之间的关系员工表 ( 部门编号 )- 部门表 ( 部门编号 )员工表 ( 员工编号 )- 工资表 ( 员工编号
3、)员工表 ( 员工编号 )- 考勤表 ( 员工编号 )员工表 ( 员工编号 )- 请假表 ( 员工编号 )表之中的约束1, 员工表 (check 密码为 6 位以上 ,check登录名长度大于1,unique登录名唯一 )2, 工资表 ( 基本工资 600, 是否为工资住房= 是 or 否 ,应发工资 =基本工资 +津贴 +奖金 - 缺勤早退扣除 - 住房公积金 - 养老费 - 水电费 )3, 考勤表 ( 记录者编号 员工编号 and考勤类型 = “缺勤” or “迟到” or “早退” )4, 请假表 ( 员工编号 审核者编号 and申请状态 = “已提交”、“已取消”、“已批准”、“已否决
4、” and 开始时间 结束时间 )-视图1,员工基本信息基表 : 员工表 -( 左外联接 )- 部门表得到了员工的详细信息, 其中包括员工的基本信息、员工的部门信息2, 考勤信息基表 : 考勤表 -( 内联接 )-员工表得到员工的姓名、 员工所属部门编号 ,考勤情况3, 请假信息基表 : 请假表 -( 内联接 )-员工表得到员工的请假申请信息 , 申请请假状态和请假批准人姓名4,工资信息基表 : 员工表 -( 左外联接 )- 部门表 -( 内联接 )- 工资表 得到员工的详细工资信息5,基本工资基表 : 员工表 -( 内联接 )- 工资表得到员工的基本工资6,变动工资基表 : 员工表 -( 内
5、联接 )- 工资表得到员工基本工资的变动增加信息7,假期信息基表 : 假期表得到假期信息-存储过程1,增加员工基表 : 员工表 插入员工表一条记录2,删除员工基表 : 员工表 删除员工表一条记录根据员工编号3,更新员工信息基表 : 员工表 更改员工的基本信息据员工登录名 , 密码4,得到用户密码基表 : 员工表 input用户名 , 员工编号 output用户密码5,更改密码基表 : 员工表 据 员工编号 , 登录名 , 原始密码用户表的密码6,删除部门全部员工基表 : 员工表7,增加部门基表 : 部门表8,请假申请基表 : 请假表 员工插入请假表一条记录9,更新员工请假状态基表 : 请假表
6、经理或管理员更改请假表中的申请请假状态, 或和拒绝申请的理由10, 删除请假记录基表 : 请假表 删除请假表一条记录据员工编号和提交时间11, 查看员工基本工资基表 : 工资表 - 员工表 据登陆名和密码 查出姓名 , 基本工资12, 更改员工基本工资基表 : 工资表 - 员工表 更改员工的基本工资13, 查询员工历史工资信息基表 : 员工表 - 工资表 input员工编号 output 得到员工工资具体信息14, 更改员工津贴基表 : 员工表 - 工资表 input员工编号 output更改员工的津贴15, 查看部门总发放工资基表 : 工资表 , 员工表 , 部门表 据部门编号-用户自定义函
7、数1, 返回员工工资编号通过员工编号2, 返回员工请假编号通过员工编号3, 返回员工所有请假记录通过请假编号4, 返回部门成员信息通过部门名称-触发器1,每次只能删一个员工定义在在员工表上否则给出出错信息2,更改员工拥有假期定义在员工表上当员工请假申请状态是 否决 时,之前其拥有假期时间已经被减少,否决完成后应该相应恢复其拥有假期时间3,员工申请请假状态为批准时定义在工资表自动将员工表的缺勤扣除项设为应扣的一半4,更新应发工资定义在工资表为基本工资 - 缺勤早退扣除 +奖金 +津贴 - 住房公积金 - 养老费 - 水电费-以下是代码其中约束和之间的关系没建立create database Sa
8、laryManagementon(name=SM_data,E:SM.MDF,SIZE=10MB,MAXSIZE=50MB,)Log On(NAME=SM_log,F:SM.ndf,SIZE = 5MB,MAXSIZE = 10MB,= 2MB)GO-use SalaryManagementcreate table dbo.员工表(员工编号int identity(1,1) not null primary key,姓名 nvarchar(50) NOT NULL,出生日期datetime NOT NULL ,身份证号nvarchar(18) not null,加入公司日期datetime N
9、OT NULL ,登录名 nvarchar(20) NOT NULL ,密码 binary(20) not NULL,电话 nvarchar (50) not null,电子邮件nvarchar (50) NOT NULL ,部门编号int not NULL,员工级别int not NULL,拥有假期时间int not NULL,备注 text null)gocreate table dbo.部门表( 部门编号 int IDENTITY (1, 1) NOT NULL primary key,部门名称nchar (10) not NULL,部门经理编号int not null,部门描述text
10、 null)gocreate table dbo.工资表创建基本表( 工资编号 int IDENTITY (1, 1) NOT NULL primary key,员工编号int not null,基本工资int not null,应发工资int not null,缺勤早退扣除int not null,津贴 int not null,住房公积金 int not null,养老费 int not null,是否为单位住房bit not null,-0表示否, 1 表示是水电费 int not null,-若是否为单位住房为0,则水电费为 0工作日期 datetime NOT NULL,当前记录日期
11、 datetime NOT NULL,薪资发放日期 datetime NOT NULl)gocreate table dbo.考勤表( 考勤编号 int identity(1,1) not null primary key,员工编号 int not null,到达时间 datetime not null,记录者编号 int not null,考勤类型 nvarchar(8) not null,-应为“缺勤” or “迟到” or “早退”日期 datetime not null)gocreate table dbo.请假表( 请假编号 int identity(1,1) not null pr
12、imary key,员工编号 int not null,请假原因 text not null,提交时间 datetime not null,请假开始时间 datetime not null,请假结束时间 datetime not null,审核者编号 int null,拒绝申请的理由ntext null,申请状态 nvarchar(6) null )-只能为“已提交” 、“已取消” 、“已批准”、“已否决” )gocreate table dbo.假期表( 假期编号 int identity(1,1) not null primary key,假期具体日期 datetime not null,
13、假期名称 nvarchar(20) not null,是否为法定假期bit not null)go-创建 视图-use SalaryManagementgocreate view dbo.员工基本信息ASSELECT y. 员工编号 ,y. 姓名 , y.电子邮件 , y.电话 , y.登录名 , y.出生日期 ,y. 部门编号 ,b. 部门名称 ,y. 员工级别 ,y. 拥有假期时间FROM dbo.员工表 as y left outer join dbo.部门表 bon y. 部门编号 =b. 部门编号gocreate view dbo.考勤信息asselect k.考勤编号 ,y. 姓名
14、 ,k. 日期 ,k. 考勤类型from 考勤表 as k inner join员工表 as yon k. 员工编号 =k. 员工编号gocreate view dbo.请假信息asselect q.请假编号 ,y. 姓名 ,q. 提交时间 ,q. 请假原因 ,q. 申请状态 ,q. 拒绝申请的理由from请假表 as q inner join员工表 as yon q. 员工编号 =y. 员工编号gocreate view dbo.工资信息asselect y.员工编号 ,b. 部门名称 ,y. 姓名 ,g.基本工资 ,g. 工资编号 ,g. 应发工资 ,g. 缺勤早退扣除 ,g.津贴 ,g.
15、 住房公积金 ,g. 养老费 ,g. 水电费 ,g. 薪资发放日期from 工资表 as g inner join员工表 as yon g. 员工编号 = y.员工编号 left outer join部门表 as bon y. 部门编号 = b.部门编号gocreate view dbo.基本工资asselect y.姓名 ,y. 员工编号 ,g. 基本工资from 员工表 as y inner join工资表 as gon y. 员工编号 =g. 员工编号gocreate view dbo.变动工资asselect y.姓名 ,y. 员工编号 ,g. 工资编号 ,g. 缺勤早退扣除 ,g.
16、津贴 ,g. 住房公积金 ,g. 养老费 ,g. 水电费 ,g. 薪资发放日期from员工表 as y inner join工资表 as gon y. 员工编号=g.员工编号gocreate view dbo.假期信息asselect假期编号 , 假期具体日期as假期日期 , 假期名称 , 是否为法定假期from假期表go-创建存储过程-use SalaryManagement- 利用系统函数 error来确定每个insert语句是否发生错误, 如果发生 , 事务将会滚 .gocreate procedure dbo.增加员工(姓名 nvarchar(50) ,出生日期 datetime ,身
17、份证号 nvarchar(18) ,加入公司日期datetime ,登录名 nvarchar(20) ,密码 binary(20) ,电话 nvarchar (50) ,电子邮件 nvarchar (50),部门编号 int ,员工级别 int ,拥有假期时间int,备注 text = null)asbegin transactioninsert员工表 (姓名 ,出生日期 ,身份证号 ,加入公司日期,登录名 ,密码 ,电话 ,电子邮件 ,部门编号 ,员工级别 ,拥有假期时间,备注 )values (姓名 ,出生日期 ,身份证号 ,加入公司日期,登录名 ,密码 ,电话 ,电子邮件 ,部门编号 ,
18、员工级别 ,拥有假期时间,备注 )if error0beginrollback tranreturnendgocreate procedure dbo.删除员工员工编号 intasdelete from员工表where 员工编号 =员工编号goCREATE PROCEDURE dbo更.改员工信息( 员工编号 int, 姓名 nvarchar(50) = null, 出生日期 datetime = null, 身份证号 nvarchar(18) = null, 加入公司日期 datetime = null, 电话 nvarchar (50) =null, 电子邮件 nvarchar (50)=
19、null , 部门编号 int =null, 员工级别 int=null , 拥有假期时间 int =null, 备注 text = null)AsUPDATE员工表Set员工编号 =员工编号 ,姓名 =姓名 ,出生日期 =出生日期 ,身份证号 =身份证号 ,电话 =电话 ,电子邮件 =电子邮件 ,员工级别 =员工级别 ,拥有假期时间=拥有假期时间,备注 =备注WHERE员工编号 = 员工编号return RowcountgoCREATE PROCEDURE dbo得.到员工密码(员工编号 int,密码 binary(20) output)AsSELECT 密码 =密码FROM员工表WHERE
20、员工编号 =员工编号return RowcountgoCreate Procedure dbo.更改密码(登录名 as nvarchar(20),老密码 as binary(20),新密码 as binary(20)ASDeclare 员工编号as intselect 员工编号 =员工编号from员工表where 登录名 =登录名 and密码 =老密码Update 员工表set密码 =新密码where 员工编号 =员工编号gocreate procedure dbo.删除部门全部员工部门编号intasdelete from员工表where 部门编号 = 部门编号goCreate Procedu
21、re dbo.增加部门(部门名称nchar(10),部门描述 nvarchar(50),部门经理编号int)ASinsert部门表 ( 部门名称 , 部门描述 , 部门经理编号)values ( 部门名称 ,部门描述 ,部门经理编号)gocreate procedure dbo.请假申请( 员工编号 int , 请假原因 text , 提交时间 datetime, 请假开始时间 datetime, 请假结束时间 datetime)asinsert请假表 ( 员工编号 , 请假原因, 提交时间 , 请假开始时间 , 请假结束时间 )values ( 员工编号 , 请假原因 ,提交时间 , 请假开始时间 ,请假结束时间 )gocreate procedure dbo.更新员工请假状态(员工编号 int, 审核者编号 int,拒绝申请的理由ntext = null ,申请状态 nvarchar(6) )asupdateset请假表审核者编号= 审核者编号 ,拒绝申请的理由=拒绝申请的理由申请状态 =申请状态,where 员工编号 =员工编号gocreate procedure dbo.删除请假记录( 请假编号 int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论