Você está na página 1de 4

-- table ok

create table departamento(


numero_depto integer,
nome varchar(80),
fk_EMPREGADO_rg_gerente integer,
PRIMARY KEY (numero_depto)
);
-- table ok
create table departamento_projeto(
codigo serial,
fk_DEPARTAMENTO_numero_depto integer,
fk_PROJETO_numero_projeto integer,
PRIMARY KEY (codigo),
FOREIGN KEY (fk_DEPARTAMENTO_numero_depto)
REFERENCES DEPARTAMENTO(numero_depto)
);
-- table ok --
create table projeto(
numero_projeto integer,
nome varchar(50),
localizacao varchar(80),
PRIMARY KEY (numero_projeto)
);
-- table ok
create table empregado_projeto(
codigo serial,
fk_EMPREGADO_rg_empregado integer,
fk_PROJETO_numero_projeto integer,
horas integer,
PRIMARY KEY (codigo),
FOREIGN KEY (fk_PROJETO_numero_projeto)
REFERENCES PROJETO(numero_projeto)
);
-- table ok
create table empregado(
rg_empregado integer,
nome varchar(100),
cpf bigint,
salario float,
dat_inic_sal date,
fk_DEPARTAMENTO_rg_supervisor integer,
fk_DEPARTAMENTO_depto integer,
PRIMARY KEY (rg_empregado),
FOREIGN KEY (fk_DEPARTAMENTO_depto)
REFERENCES DEPARTAMENTO(numero_depto)
);
-- table ok --
create table historico_salario(
fk_EMPREGADO_rg_empregado integer,
dat_ini_sal date,
dat_fim_sal date,
salario decimal,
FOREIGN KEY (fk_EMPREGADO_rg_empregado)
REFERENCES EMPREGADO(rg_empregado)
);
-- table ok --
create table dependente(
codigo serial,
fk_EMPREGADO_rg_responsavel integer,
nome_dependente varchar(100),
nascimento date,
relacao varchar(20),
sexo varchar(15),
PRIMARY KEY (codigo),
FOREIGN KEY (fk_EMPREGADO_rg_responsavel)
REFERENCES EMPREGADO(rg_empregado)
);

alter table departamento


add constraint departamento_fk_EMPREGADO_rg_gerente_
FKey
foreign key fk_EMPREGADO_rg_gerente
references empregado(rg_empregado);

alter table departamento_projeto


add constraint departamento_projeto_fk_PROJETO_numero_projeto_FKey
foreign key fk_PROJETO_numero_projeto
references projeto(numero);

alter table empregado_projeto


add constraint empregado_projeto_fk_EMPREGADO_rg_empregado_FKey
foreign key fk_EMPREGADO_rg_empregado
references empregado(rg_empregado);

alter table empregado


add constraint empregado_fk_DEPARTAMENTO_rg_supervisor_FKey
foreign key fk_DEPARTAMENTO_rg_supervisor
references departamento (rg_gerente);

insert into departamento(numero, nome, rg_gerente)


values (1, 'Contabilidade', 10101010101),
(2, 'Engenharia Civil', 30303030303),
(3, 'Engenharia Mecânica', 20202020202),
(4, 'Industrial', '');

insert into departamento_projeto(numero_depto, numero_projeto)


values (2, 5),
(3, 10),
(2,20);

insert into projeto(numero_projeto, nome, localizacao)


values (5, 'Financeiro', 'São Paulo'),
(10, 'Motor', 'Rio Claro'),
(12, 'Prédio Inovação', 'Serra'),
(20, 'Prédio Central', 'Campinas'),
(25, 'Águas Limpas', 'Vitória');

insert into empregado_projeto(rg_empregado, numero_projeto, horas)


values (20202020202, 5, 10),
(20202020202, 10, 25),
(30303030303, 5, 35),
(40404040404, 20, 50),
(50505050505, 20, 35),
(80808080808, 5, 70);

insert into empregado(rg, nome, cpf, salario, dat_inic_sal,


rg_supervisor, depto)
values (10101010101, 'João Luiz', 11111111111, 6000.00,
'2011-05-01', ' ', 1),
(20202020202, 'Fernada', 22222222222, 5500.00,
'2008-12-01', 10101010101, 1),
(30303030303, 'Ricardo', 33333333333, 2300.00,
'2009-08-01', 20202020202, 2),
(40404040404, 'Jorge', 44444444444, 3200.00,
'2010-10-01', 30303030303, 2),
(50505050505, 'Renata', 55555555555, 1300.00,
'2012-02-01', 30303030303, 2),
(60606060606, 'Luiz Renato', 66666666666,
3000.00, '2012-05-01', 20202020202, 3),
(70707070707, 'Luiz Fernando', 77777777777,
2000.00, '2008-08-01', 60606060606, 3),
(80808080808, 'João Antonio', 88888888888,
3950.00, '2010-07-01', 20202020202, 1);

insert into historico_salario(rg_empregado, dat_ini_sal,


data_fim_sal, salario)
values (10101010101, '2010-01-01', '2010-11-30',
2000.0),
(10101010101, '2010-12-01', '2011-04-30',
4000.0),
(20202020202, '2007-05-01', '2012-12-31',
2500.0),
(20202020202, '2008-01-01', '2010-11-30',
4000.0),
(40404040404, '2008-08-01', '2009-10-31',
1500.0),
(40404040404, '2009-11-01', '2010-09-30',
2500.0),
(40404040404, '2010-10-01', '2012-10-31',
3500.0),
(70707070707, '2008-01-01', '2008-07-31',
1000.0);

insert into dependente (rg_responsavel, nome_dependente,


nascimento, relacao, sexo)
values (10101010101, 'Jorge', '1986-12-27', 'Filho',
'Masculino'),
(10101010101, 'Luiz', '1979-11-18', 'Filho',
'Masculino'),
(20202020202, 'Fernanda Carla', '1969-02-14',
'Cônjuge', 'Feminino'),
(20202020202, 'Ângelo', '1995-02-10', 'Filho',
'Masculino'),
(30303030303, 'André', '1990-05-01', 'Filho',
'Masculino'),
(80808080808, 'Ana Maria', '1980-06-30',
'Cônjuge', 'Feminino'),
(80808080808, 'Karla Cristina', '1999-08-25',
'Filha', 'Feminino');

select * from projeto;

select nome, localizacao, numero_projeto from projeto;

select * from projeto where localização == “Vitória”;

select nome, numero_projeto from projeto where localização ==


“Vitória”;

select * from projeto where numero_projeto > 10;

select * from empregado where salario > 3000;

select * from empregado where fk_DEPARTAMENTO_rg_supervisor ==


1010;

select * from empregado where rg_empregado == 4040;

select * from historico_salario where fk_EMPREGADO_rg_empregado ==


4040;

select * from empregado where fk_DEPARTAMENTO_rg_supervisor <


2020;

select * from projeto where numero_projeto <= 10;

Você também pode gostar