Lista de estudos banco de dados

985 palavras 4 páginas
2ª Lista de Estudo – GDI EC 2014.2 – SQL/PL-SQL
Professor: Robson Fidalgo (rdnf@cin.ufpe.br)
Equipe de monitoria: [acmh, gbl, irsl, jts2, jgms, kbc, mlnr, mirn, smdr, tsm, voo]@cin.ufpe.br Questão 1
Adicione a tp_empregado dois métodos: uma função que retorne a idade do funcionário e um procedimento que use a função anterior para imprimir o nome, a idade e o salário de um funcionário.
Execute o procedimento para o chefe do departamento de código 1
RALTER TYPE tp_empregado
ADD MEMBER FUNCTION getIdade RETURN NUMBER CASCADE;
ALTER TYPE tp_empregado
ADD MEMBER PROCEDURE printInfo CASCADE;
CREATE OR REPLACE TYPE BODY tp_empregado AS
MEMBER FUNCTION getIdade RETURN NUMBER IS
BEGIN
RETURN ((SYSDATE - dt_nasc)/365);
END;
MEMBER PROCEDURE printInfo IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Nome: ' || nome);
DBMS_OUTPUT.PUT_LINE('Idade: ' || SELF.getIdade());
DBMS_OUTPUT.PUT_LINE('Salario: ' || salario);
END;
END;
/
DECLARE emp tp_empregado;
BEGIN
SELECT DEREF (ref_chefe) INTO emp
FROM tb_departamento
WHERE codigo = 1; emp.printInfo(); END;
/
Questão 2
Altere o tipo Empregado para incluir um método MAP de ordenação. Esse método deverá ser implementado de maneiras diferentes para Técnico e Graduado. No caso de Graduado, a ordenação será feita de acordo com o número do CPF; já para Técnico, será utilizado o produto do CPF pela última série cursada. Depois disso, faça uma consulta SQL que retorne o nome e o CPF de todos os empregados que já trabalharam na empresa, ordenando pelo empregado.
R--criando o método em tp_empregado, visto que não é possível criar método MAP apenas no subtipo.
Note que não será criado corpo do tipo (método abstrato).
ALTER TYPE tp_empregado
ADD MAP MEMBER FUNCTION empToInt RETURN NUMBER CASCADE;
--altera-se tp_tecnico para adicionar o método MAP específico do subtipo (através do OVERRIDING)
ALTER TYPE tp_tecnico
ADD OVERRIDING MAP MEMBER FUNCTION empToInt RETURN NUMBER CASCADE;

--cria-se o corpo de tp_tecnico, com a definição do método
CREATE OR REPLACE TYPE

Relacionados

  • Estrutura de Dados
    16294 palavras | 66 páginas
  • Lrisoas
    3040 palavras | 13 páginas
  • trabalho unopar
    2148 palavras | 9 páginas
  • administração
    4199 palavras | 17 páginas
  • Banco de Dados PEGE
    5830 palavras | 24 páginas
  • Analise de sistemas 3º semestre
    3537 palavras | 15 páginas
  • Portfólio ADS 3º Semestre
    2887 palavras | 12 páginas
  • Trabalho de alocaçao de encadeamento
    1922 palavras | 8 páginas
  • hudib
    337 palavras | 2 páginas
  • Monografia 1
    7117 palavras | 29 páginas