创建职工管理数据库语句集合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 职工信息(职工编码);