建立数据库:
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
Where br.员工编号=d.员工编号
end
go
Create Trigger 修改员工编号1
On 员工工作岗位表
for Update
As
if Update(员工编号)
begin
Update 员工基本信息表
Set 员工编号=i.员工编号
From 员工基本信息表 a , Deleted
Where a.员工编号=d.员工编号
end go Create Trigger 修改员工编号2
On 员工学历信息表
for Update
As
if Update(员工编号)
begin
d ,Inserted i d ,Inserted i
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 员工基本信息表.员工编号
机房计算机设备管理系统(SQL数据库)_1401191951516107