当前位置:文档之家› 人事管理系统数据库设计 sql代码

人事管理系统数据库设计 sql代码

建立数据库:
create database 数据库
建表:
create table 部门信息表
(部门编号char(2) primary key ,
部门名称nchar(14) ,
部门职能nchar(14),
部门人数char (4)
)
go
create table 管理员信息表
(用户名nchar(4) primary key ,
密码char(10) ,
)
go
create table 用户信息表
(用户名char(10) primary key ,
用户类型char(10),
密码char(10)
)
go
create table 员工工作岗位表
(姓名nchar(4) primary key ,
员工编号char(4)
工作岗位nchar(3) ,
部门名称nchar(10),
参加工作时间char (4) )
go
create table 员工学历信息表
(姓名nchar(4) primary key ,
员工编号char(4)
学历nchar(2) ,
毕业时间char(10),
毕业院校nchar (10),
外语情况nchar(10),
专业nchar(10)
)
go
create table 员工婚姻情况表
(姓名nchar(4) primary key ,
员工编号char(4)
婚姻情况nchar(2) ,
配偶姓名nchar(4),
配偶年龄char (3),
工作单位nchar(10),
)
go
create table 员工基本信息表
(员工编号char(4) primary key ,
姓名nchar(4) ,
性别nchar(1),
民族nchar (3),
出生年月char(14),
学历nchar(10),
政治面貌nchar(3),
婚姻状况nchar(2),
部门名称nchar(10),
工作岗位nchar(10),
)
建立视图:
CREATE VIEW 按员工工作岗位查询
as
SELECT 员工工作岗位表.工作岗位, 员工基本信息表.员工编号,
员工基本信息表.姓名, 员工基本信息表.性别, 员工基本信息表.出生年月, 员工基本信息表.学历, 员工基本信息表.婚姻状况,
员工基本信息表.部门名称
FROM 员工工作岗位表INNER JOIN
员工基本信息表ON 员工工作岗位表.姓名= 员工基本信息表.姓名
go
CREATE VIEW 按员工详细信息查询
as
SELECT 员工基本信息表.*
FROM 员工基本信息表
go
CREATE VIEW 按参加工作时间查询
as
SELECT 员工工作岗位表.参加工作时间, 员工工作岗位表.工作岗位, 员工基本信息表.员工编号, 员工基本信息表.姓名, 员工基本信息表.性别,
员工基本信息表.出生年月, 员工基本信息表.部门名称
FROM 员工工作岗位表INNER JOIN
员工基本信息表ON 员工工作岗位表.姓名= 员工基本信息表.姓名
触发器的建立
delete触发器:
create trigger 删除员工1 ON 员工工作岗位表
for delete
AS
BEGIN
DELETE FROM 员工基本信息表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工2 ON 员工学历信息表
for delete
AS
BEGIN
DELETE FROM 员工基本信息表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工3 ON 员工婚姻情况表
for delete
AS
BEGIN
DELETE FROM 员工基本信息表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工4 ON 员工基本信息表
for delete
AS
BEGIN
DELETE FROM 员工工作岗位表WHERE 员工编号IN(
SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工5 ON 员工基本信息表
for delete
AS
BEGIN
DELETE FROM 员工学历信息表WHERE 员工编号IN( SELECT 员工编号FROM DELETED
)
end
go
create trigger 删除员工6 ON 员工基本信息表
for delete
AS
BEGIN
DELETE FROM 员工婚姻情况表WHERE 员工编号IN( SELECT 员工编号FROM DELETED
)
end
Update触发器:
Create Trigger 修改编号1
On 员工基本信息表
for Update
As
if Update(员工编号)
begin
Update 员工工作岗位表
Set 员工编号=i.员工编号
From 员工工作岗位表br , Deleted d ,Inserted i
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改编号2
On 员工基本信息表
for Update
As
if Update(员工编号)
begin
Update 员工学历信息表
Set 员工编号=i.员工编号
From 员工学历信息表br , Deleted d ,Inserted i
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改编号3
On 员工基本信息表
for Update
As
if Update(员工编号)
begin
Update 员工婚姻情况表
Set 员工编号=i.员工编号
From 员工婚姻情况表br , Deleted d ,Inserted i
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号1
On 员工工作岗位表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表a , Deleted d ,Inserted i
Where a.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号2
On 员工学历信息表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表a , Deleted d ,Inserted i
Where a.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号3
On 员工婚姻情况表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表a , Deleted d ,Inserted i
Where a.员工编号=d.员工编号
end
存储过程的建立:
CREATE PROC 按婚姻查找
@婚姻状况nchar(2)
AS select 员工基本信息表.员工编号,员工基本信息表.姓名,员工婚姻情况表.婚姻情况,员工婚姻情况表.配偶姓名
from 员工基本信息表inner join
员工婚姻情况表on 员工基本信息表.员工编号=员工婚姻情况表.员工编号
where 员工婚姻情况表.婚姻情况=@婚姻状况
order by 员工基本信息表.员工编号
CREATE PROC 按学历查找
@员工学历nchar(4)
AS select 员工基本信息表.员工编号,员工基本信息表.姓名,员工学历信息表.学历, 员工学历信息表.毕业院校,员工学历信息表.专业
from 员工基本信息表inner join
员工学历信息表on 员工基本信息表.员工编号=员工学历信息表.员工编号
where 员工学历信息表.学历=@员工学历
order by 员工基本信息表.员工编号。

相关主题