当前位置:文档之家› 创建职工管理数据库语句集合

创建职工管理数据库语句集合

create database rsgl
use rsgl
create table 部门(
部门编码 varchar(10) PRIMARY KEY, 部门名称 varchar(20) not null,
部门信息 VARCHAR(400) not null, 部门人数 int
);
#add table 部门 (部门人数 int)
create table 职务(
职务编码 varchar(10) PRIMARY KEY, 职务名称 varchar(20) not null,
职务信息 VARCHAR(400) not null );
create table 职称(
职称编码 varchar(10) PRIMARY KEY, 职称名称 varchar(20) not null,
职称信息 VARCHAR(400) not null );
create table 职工信息(
职工编码 varchar(10) PRIMARY KEY, 部门编码 varchar(10),
职务编码 varchar(10),
职称编码 varchar(10),
职工姓名 VARCHAR(10) not null,
职工性别 char(2) not null,
出生年月 date not null,
住址 varchar(40)
);
create table 学习经历(
学习经历编码 varchar(10) PRIMARY KEY, 职工编码 varchar(10) not null,
学习经历 varchar(100) not NULL
);
create table 任职经历(
任职经历编码 varchar(10) PRIMARY KEY, 职工编码 varchar(10) not null,
任职经历 varchar(100) not NULL
);
create table 家庭关系(
家庭关系编码 varchar(10) PRIMARY KEY, 职工编码 varchar(10) not null,
姓名 varchar(20) not NULL,
关系 char(2)
);
create table 奖惩信息(
奖惩信息编码 varchar(10) PRIMARY KEY, 职工编码 varchar(10) not null,
奖惩信息 varchar(100) not NULL,
备注 varchar(100)
);
delimiter //
create PROCEDURE
stu_部门()
begin
select 部门名称,count(*) 人数 from
部门 a,职工信息 b
where a.部门编码 = b.部门编码;
END//
delimiter ;
call stu_部门()
create view v_员工
as
select c.职工编码,c.职工姓名,a.部门名称,b.职务名称from
部门 a,职务 b,职工信息 c
where a.部门编码 = c.部门编码 and b.职务编码 = c.职务编码
select * from v_员工
建立触发器
CREATE TRIGGER t_人数 AFTER
INSERT
ON 职工信息 FOR EACH Row
call stu_部门()
CREATE TRIGGER t_人数1 AFTER
update
ON 职工信息 FOR EACH Row
call stu_部门()
CREATE TRIGGER t_人数3 AFTER
delete
ON 职工信息 FOR EACH Row
call stu_部门()
完整性约束
ALTER TABLE 职工信息ADD CONSTRAINT fk_部门FOREIGN KEY(部门编码) REFERENCES 部门(部门编码);
ALTER TABLE 职工信息ADD CONSTRAINT fk_职务FOREIGN KEY(职务编码) REFERENCES 职务(职务编码);
ALTER TABLE 职工信息ADD CONSTRAINT fk_职称FOREIGN KEY(职称编码) REFERENCES 职称(职称编码);
ALTER TABLE 学习经历ADD CONSTRAINT fk_学习FOREIGN KEY(职工编码) REFERENCES 职工信息(职工编码);
ALTER TABLE 任职经历ADD CONSTRAINT fk_任职FOREIGN KEY(职工编码) REFERENCES 职工信息(职工编码);
ALTER TABLE 家庭关系ADD CONSTRAINT fk_家庭FOREIGN KEY(职工编码) REFERENCES 职工信息(职工编码);
ALTER TABLE 奖惩信息ADD CONSTRAINT fk_奖惩FOREIGN KEY(职工编码) REFERENCES 职工信息(职工编码);。

相关主题