Sistemas para Internet - Banco de Dados II Segunda Atividade Avaliativa – G1.
Atenção: Precisando de assessoria nos seus PROJETO entre em contato com a SGP
E-mail: ajudastrabalhosprogramacao@gmail.com
Com base no diagrama ER abaixo execute as atividades solicitadas
Uma empresa necessita desenvolver um sistema que realize o controle de vales realizados por seus funcionários, a fim de que possa realizar a cobrança destes quando for realizar sua folha de pagamento. Inicialmente, torna-se necessário que sejam armazenadas informações referentes de seus funcionários, como, matrícula, nome, CPF, nº da carteira de trabalho, salário base, número de vales emitidos, número de vales em aberto, número de vales descontados e valor total de vales em aberto.
Uma empresa necessita desenvolver um sistema que realize o controle de vales realizados por seus funcionários, a fim de que possa realizar a cobrança destes quando for realizar sua folha de pagamento. Inicialmente, torna-se necessário que sejam armazenadas informações referentes de seus funcionários, como, matrícula, nome, CPF, nº da carteira de trabalho, salário base, número de vales emitidos, número de vales em aberto, número de vales descontados e valor total de vales em aberto. Também é importante que seja armazenado a competência que será realizado o desconto, que é composta por uma data inicial, uma data final, e uma descrição de identifica a competência. Quanto for solicitado a emissão de vale, o sistema deverá armazenar o funcionário, a data da geração, a data para desconto e o valor do vale. Quando gerado o desconto do vale, é importante que seja armazenado no registro de vale a data do desconto e a competência que ocorreu o referido desconto. Cada vale deverá possuir um status sendo 1 para vale emitido e 2 para vale descontado.
Script de criação do banco:
create table tbfuncionario(
pkcodmat integer not null,
nome varchar2(30),
cpf varchar2(14),
carttrab varchar2(14),
salariobase number(15,2),
numvalesemitidos integer,
numvalesaberto integer,
numvalesdescontados integer,
valortotalvalesaberto number(15,2),
constraint tbfuncionario_pk primary key(pkcodmat)
);
create table tbcompetencia(
pkcodcomp integer not null,
descricao varchar2(30),
dataini date,
datafim date,
constraint tbcompetencia_pk primary key(pkcodcomp)
);
create table tbvale(
pkcodvale integer not null,
fkcodmat integer,
datageracao date,
datadesconto date,
valorvale number(15,2),
fkcodcompemi integer,
fkcodcompdesc integer,
status integer,
limite number(15,2),
constraint tbvale_pk primary key(pkcodvale)
);
alter table tbvale add constraint tbvale_fkcodmat foreign key(fkcodmat) references tbfuncionario(pkcodmat);
alter table tbvale add constraint tbvale_fkcodcompem foreign key(fkcodcompemi) references tbcompetencia(pkcodcomp);
alter table tbvale add constraint tbvale_fkcodcompdesc foreign key(fkcodcompdesc) references tbcompetencia(pkcodcomp);
1) Crie 3 Sequence que serão utilizadas para geração das chaves primárias de cada uma das tabelas. Crie também 3 triggers uma para cada tabela que antes de inserir adicionem o valor das sequences criadas nas respectivas chaves primárias.
2)Desenvolva uma função que receba como parâmetro uma data qualquer e devolva como resposta o código de competência que a data está associada.
3) Crie uma trigger na tabela de Vale que verifique se o status do vale foi alterado (somente se for alterado. Caso o status permaneça o mesmo não realize nenhuma ação que segue).
Caso seja alterado para 2 o banco deverá:
- aumentar a quantidade de vales descontados na tabela funcionário,
- diminuir a quantidade de vales em aberto na tabela de funcionário
- diminuir o valor total de vales em aberto do funcionário.
Caso seja alterado para 1 o banco deverá:
- aumentar a quantidade de vales emitidos na tabela de funcionário,
- aumentar a quantidade de vales em aberto da tabela de funcionário
- aumentar o total de vales em aberto da tabela de funcionário.
Atenção: Precisando de ajuda entre em contato com a SGP e solicite uma assessoria com a melhor equipe do mercado no desenvolvimento de trabalhos acadêmicos
E-mail: ajudastrabalhosprogramacao@gmail.com
Facebook: fb.me/ajudaemTrabalhosdeprogramacao
0 comentários:
Postar um comentário