SóProvas


ID
2959144
Banca
UFMA
Órgão
UFMA
Ano
2019
Provas
Disciplina
Banco de Dados
Assuntos

Considerando o conceito de stored procedures em bancos de dados, qual das afirmativas a seguir está correta?

Alternativas
Comentários
  • GAB D

  • comandos em ,pode reduzir o tráfego na rede são executados no servidor.

  • Storage Procedures nada mais é que, a manipulação repetitiva de um dado que ocorre no servidor e apenas o resultado é enviado ao cliente, aumenta o processamento no servidor na primeira consulta, mas ao mesmo tempo diminui o trafego de rede.

    Logo, o servidor tem um cache das ultimas consultas, e ainda por ter teoricamente mais capacidade, proporciona um aumento na velocidade final da aplicação.

  • Considerando o conceito de stored procedures em bancos de dados, qual das afirmativas a seguir está correta?

    A. Servidores de bancos de dados relacionais podem executar stored procedures diretamente nas máquinas clientes sem necessidade de tráfego algum de informações entre o servidor que armazena os dados e a aplicação cliente que requisita tais dados.

    Errada. Com os procedimentos armazenados, você precisa ter menos tráfego de rede, pois quando você chama o procedimento armazenado a partir do aplicativo, tudo o que é passado pela rede é apenas o nome do procedimento e seus parâmetros. O fluxo é executado na engine do banco de dados e, em seguida, apenas o resultado final é enviado para o aplicativo.

    (Fonte: https://imasters.com.br/banco-de-dados/afinal-de-contas-o-que-e-uma-stored-procedure. Acessado em 7/3/2020)

    B. A característica principal que diferencia bancos de dados relacionais e não relacionais é a presença ou não de stored procedures.

    Errada. A principal diferença entre banco de dados relacional e não relacional tem a ver com o modo como as informações são inseridas e organizadas.

    O banco de dados relacional oferece maior consistência e confiabilidade, mas exige o relacionamento entre várias tabelas para o acesso à informação.

    Já o não relacional tem como vantagem uma escalabilidade maior, com a informação agrupada e armazenada no mesmo registro.

    Fonte: https://mercadoemfoco.unisul.br/banco-de-dados-relacional-e-nao-relacional-quando-utilizar/. Acessado em 7/3/2020.

    C. Por questões intrínsecas de segurança, uma stored procedure só pode acessar os dados de uma única tabela de um banco de dados relacional, a qual é chamada de tabela hospedeira.

    Errada. As Stored Procedures também simplificam o tratamento de segurança no banco de dados. Muitas vezes, você não deseja conceder aos usuários permissões para consultar diretamente e modificar dados nas tabelas. Em vez disso, você quer que eles consigam realizar essas tarefas apenas indiretamente por meio de procedimentos armazenados. Para conseguir isso, conceda aos usuários permissões EXECUTE na Stored Procedure, sem conceder acesso direto aos objetos.

    Seguindo a linha de raciocínio dos bancos, utilizando stored procedures outras aplicações e usuários não conseguiriam nenhum tipo de acesso às tabelas do banco de dados de forma direta.

    Eles poderiam apenas executar os stored procedures, que rodam ações específicas e determinadas pelos DBAs e desenvolvedores.

    Fontes:

    (https://imasters.com.br/banco-de-dados/afinal-de-contas-o-que-e-uma-stored-procedure. Acessado em 7/3/2020)

    (https://www.devmedia.com.br/introducao-aos-stored-procedures-no-sql-server/7904. Acesso em 7/3/2020)

  • D. Stored procedures podem fornecer um melhor desempenho em certas aplicações, minimizando a troca de informações entre o cliente e o servidor de banco de dados. Por outro lado, elas também aumentam a carga de processamento no servidor de dados.

    Certa. Dependendo da rotina a ser executada, isso pode requerer várias consultas e atualizações na base, o que acarreta um maior consumo de recursos pela aplicação. No caso de aplicações web, isso se torna ainda mais visível, devido a maior quantidade de informações que precisam trafegar pela rede e de requisições ao servidor.

    Uma boa forma de contornar ou ao menos atenuar esse consumo de recursos diretamente pela aplicação é transferir parte do processamento direto para o banco de dados. Assim, considerando que as máquinas servidoras geralmente têm configurações de hardware mais robustas, enquanto nada se pode garantir com relação às máquinas clientes, essa pode ser uma “saída” a se considerar.

    A questão em que se esbarra é: como executar várias ações no banco de dados a partir de uma única instrução? A resposta que trazemos para essa pergunta é: Stored Procedures (ou Procedimentos Armazenados, em português).

    (Fonte: https://www.devmedia.com.br/stored-procedures-no-mysql/29030. Acessado em 7/3/2020)

    E. Stored procedures possuem esse nome porque são armazenadas em procedimento, o que significa que só vão para a memória principal da máquina clientes e assim não ocupam memória alguma no servidor de banco de dados, seja ela a principal ou secundária.

    Errada. O SQL Server armazena em cache os planos de execução das consultas e, normalmente, os reutiliza em execuções subsequentes da procedure para economizar tempo, CPU e recursos de memória associados à otimização das consultas.

    (Fonte: https://imasters.com.br/banco-de-dados/afinal-de-contas-o-que-e-uma-stored-procedure. Acessado em 7/3/2020)

  • Stored Procedure, que traduzido significa Procedimento Armazenado, é uma conjunto de comandos em SQL que podem ser executados de uma só vez, como em uma função. Ele armazena tarefas repetitivas e aceita parâmetros de entrada para que a tarefa seja efetuada de acordo com a necessidade individual.

    Um Stored Procedure pode reduzir o tráfego na rede, melhorar a performance de um banco de dados, criar tarefas agendadas, diminuir riscos, criar rotinas de processsamento, etc.