Buscar

Functions

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

06-atividade-Functions.pdf
 
MINISTÉRIO DA EDUCAÇÃO 
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
INSTITUTO FEDERAL DO PIAUÍ 
CAMPUS FLORIANO 
 
 
 
Rua Francisco Urquiza Machado, 462 – Meladão 
CEP: 64.800-000 - Floriano-PI 
Fone: (89) 3515-2236 Fax: (89) 3515-2234 
E-mail: genfloriano@gmail.com 
ATIVIDADE DE FIXAÇÃO 
 
Considere o esquema da Empresa: 
Func (cod_func, nome, dta_nasc, salário, cod_deptoce) 
Depto (cod_depto, nome, cod_gerce) 
Projeto (cod_proj, nome, duração, cod_deptoce) 
Participa (cod_projce, cod_funcce, horas_trab) 
 
*ce = Chave estrangeira 
* TODOS os atributos devem ser NOT NULL 
 
Questão 1 
Crie uma função para cadastrar a participação dos empregados em projetos. Faça os testes necessários para manter a integridade. 
 
Questão 2: 
Crie uma função que receba como parâmetro o número de um departamento e retorne o total de horas trabalhadas pelo seu 
gerente. 
 
Questão 3: 
Crie uma função que some as horas trabalhadas de cada projeto e atualize a duração dos mesmos (em dias). 
 
Questão 4: 
Crie uma função que receba como parâmetros dois valores de porcentagem e aumente com o primeiro valor o salário dos 
funcionários nascidos antes de 1972 e com o segundo valor o salário dos funcionários nascidos em 1972 ou depois. 
script_locadora.sql
Create table cliente
(
	idcliente Integer NOT NULL,
	nome Varchar NOT NULL,
 primary key (idcliente)
);
Create table filme
(
	idfilme Integer NOT NULL,
	titulo Varchar(30) NOT NULL,
	idtipo Integer NOT NULL,
 primary key (idfilme)
);
Create table locacao
(
	idlocacao Serial NOT NULL,
	idcliente Integer NOT NULL,
	idfilme Integer NOT NULL,
	data_locacao Date NOT NULL,
	data_prev_devolucao Date NOT NULL,
	multa Numeric(9,2),
	status Char(1) NOT NULL,
 primary key (idlocacao)
);
Create table devolucao
(
	idlocacao Integer NOT NULL,
	data_devolucao Date,
 primary key (idlocacao)
);
Create table tipo_filme
(
	idtipo Integer NOT NULL,
	descricao Varchar(30) NOT NULL,
	qtd_dias_locacao Integer NOT NULL,
	vlr_multa_dia Numeric(9,2) NOT NULL,
 primary key (idtipo)
);
Alter table locacao add foreign key (idcliente) references cliente (idcliente) on update restrict on delete restrict;
Alter table locacao add foreign key (idfilme) references filme (idfilme) on update restrict on delete restrict;
Alter table devolucao add foreign key (idlocacao) references locacao (idlocacao) on update restrict on delete restrict;
Alter table filme add foreign key (idtipo) references tipo_filme (idtipo) on update restrict on delete restrict;
/*
select * from cliente;
select * from tipo_filme;
select * from locacao;
select * from devolucao;
select * from filme;
*/
		
script_locadora_povoamento.sql
insert into cliente values (1,'ana');
insert into cliente values (2,'maria');
insert into cliente values (3,'joao');
insert into tipo_filme values (1,'lancamento',1,2.00);
insert into tipo_filme values (2,'catalogo',2,1.00);
insert into filme values (1,'x-men', 2);
insert into filme values (2,'corrida da morte', 1);
insert into filme values (3,'bob esponja', 2);
/*
insert into locacao values (default, 1,1,'2009-05-13', '2009-05-16',0,'L');
insert into locacao values (default, 1,2,'2009-05-13', '2009-05-15',0,'L');
insert into locacao values (default, 2,3,'2009-05-13', '2009-05-16',0,'L');
insert into devolucao values (1,'2009-05-16');
insert into devolucao values (2,'2009-05-15');
insert into devolucao values (3,'2009-05-16');
*/

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando