SóProvas


ID
2618830
Banca
CESPE / CEBRASPE
Órgão
STM
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o próximo item, que dizem respeito aos SGBDs Oracle, MySQL e PostgreSQL.


Em um pacote (package) no SGBD Oracle, a implementação dos métodos juntamente com quaisquer métodos privados e atributos permanece oculta no corpo do pacote.

Alternativas
Comentários
  • Os pacotes PL/SQL agrupam funções e procedures relacionadas, juntamente com variáveis e cursores comuns. O pacote consiste em duas partes: uma especificação do pacote e um corpo de pacote. Na especificação, os métodos e atributos dos pacotes são expostos; a implementação dos métodos, juntamente com quaisquer métodos privados e atributos permanecem ocultos no corpo do pacote. A utilização de um pacote, em vez de uma procedure ou função independente, permite que a procedure ou função incorporada seja alterada sem invalidar nenhum objeto que referencia elementos da especificação do pacote, evitando assim a recompilação dos objetos que referenciam o pacote. Vejam que a alternativa está perfeitamente correta.

     

    Fonte: https://www.estrategiaconcursos.com.br/blog/prova-da-semana-comentario-da-prova-do-stm-programacao-de-sistemas-banco-de-dados-e-bi-tecnico/

  • juntamente com....

  • CORRETO

     

    Os métodos são expostos, a implementação deles não

  • Pra mim o gabarito está ERRADO, no corpo do package é onde expomos a implementação dos metodos.

    Já na especificação os métodos juntamente com quaisquer métodos privados e atributos permanece ocultas

    VEJAM O CÓDIGO ABAIXO:

    --Especificação--

    CREATE OR REPLACE PACKAGE funcionario AS

      // get nome completo do funcionario

      FUNCTION get_nomeCompleto(n_func_id NUMBER)

        RETURN VARCHAR2;

      // get salario do funcionario

      FUNCTION get_salario(n_func_id NUMBER)

        RETURN NUMBER;

    END funcionario;

     

    /*

      Package funcionario body

    */

    CREATE OR REPLACE PACKAGE BODY funcionario AS

      // get funcionário nomeCompleto

      FUNCTION get_nomeCompleto(n_func_id NUMBER) RETURN VARCHAR2 IS

          v_nomeCompleto VARCHAR2(46);

      BEGIN

        SELECT primeiro_nome || ',' ||  ultimo_nome

        INTO v_nomeCompleto

        FROM funcionarios

        WHERE empresa_id = n_func_id;

      

        RETURN v_nomeCompleto;

      

      EXCEPTION

      WHEN NO_DATA_FOUND THEN

        RETURN NULL;

      WHEN TOO_MANY_ROWS THEN

        RETURN NULL;

      END; // end get_nomeCompleto

      

       get salario

      FUNCTION get_salario(n_func_id NUMBER) RETURN NUMBER IS

        n_salario NUMBER(8,2);

      BEGIN

        SELECT salario

        INTO n_salario

        FROM funcionarios

        WHERE empresa_id = n_func_id;

      

        RETURN n_salario;

      

        EXCEPTION

          WHEN NO_DATA_FOUND THEN

            RETURN NULL;

          WHEN TOO_MANY_ROWS THEN

            RETURN NULL;

      END;

    END funcionario;

  • Em um pacote (package) no SGBD Oracle, a implementação dos métodos juntamente com quaisquer métodos privados e atributos permanece oculta no corpo do pacote.

    ___________________________

    Gabarito: CERTO