SóProvas


ID
195403
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma equipe de desenvolvimento de software recebeu a
incumbência de desenvolver um sistema com as características
apresentadas a seguir.

* O sistema deverá ser integrado, interoperável, portável e
seguro.
* O sistema deverá apoiar tanto o processamento online, quanto
o suporte a decisão e gestão de conteúdos.
* O sistema deverá ser embasado na plataforma JEE (Java
enterprise edition
) v.6, envolvendo servlets, JSP (Java server
pages
), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA
e web services.

O líder da equipe iniciou, então, um extenso processo de
coleta de dados com o objetivo de identificar as condições
limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características
funcionais e não funcionais do sistema, ao longo de seu ciclo de
vida. A partir dessa coleta, o líder deverá apresentar à equipe um
conjunto de informações e de decisões.

No que se refere a técnicas de análise de desempenho e otimização
de consultas SQL, no contexto do desenvolvimento do sistema
descrito no texto, julgue os itens seguintes.

Para que não ocorram deadlocks no sistema a ser desenvolvido pela equipe, deve-se evitar o desenho de transações do SGBD nas quais o usuário precise realizar entrada de dados, especialmente em sistemas de processamento transacional online.

Alternativas
Comentários
  • Questão que merece ser anulada.

    Justificativa abaixo dado por Marcio Vitorino.

     

    Segundo Elmasri e Navathe (2002, p. 554) as principais estratégias utilizadas em transações OLTP para evitar deadlocks são
     Bloqueio em Duas Fases Conservador, Ordenamento de Registros de Timestamp e > Validação.

    > > No entanto, a questão afirma que "Para que não ocorram deadlocks
    > > no sistema a ser desenvolvido pela equipe, deve-se evitar o desenho de
    > > transações do SGBD nas quais o usuário precise realizar entrada de dados,
    > > especialmente em sistemas de processamento transacional online."
    > >
    > > Esta afirmação afirma que basta evitarmos entradas de dados para
    > > que não ocorram deadlock, quando na verdade as operações de exclusão e
    > > atualização de dados também causam deadlock.
    > >
     

    > > ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados - Fundamentos e
    > > Aplicações. 3. ed. Rio de Janeiro: LTC S.A., 2002. 837p.
    > >
    > > Marcio Victorino

  • Concordo com o colega. A resposta correta da questão causa muita estranheza. Ao estudarmos o assunto nos deparamos com vários protocolos para evitar deadlocks, já que a entrada de dados é necessária.

    Discordo num ponto. Podemos talvez interpretar por "entrada de dados" qualquer alteração, não apenas inclusão, mas também alteração e exclusão. Digo isso por que neste estudo resumimos as operações em "read"s e "write"s.

    Mesmo considerando isso, discordo do gabarito, principalmente por que a necessidade de entrada de dados será ditada pela necessidade do negócio, não cabendo ao analista/DBA evitá-las ou não. Se num OLTP qualquer é preciso, por exemplo, registrar vendas, não há opção de evitar tais registros (inclusão, exclusão e alteração). Um OLTP implica especialmente nisso na maioria dos casso. Se a questão estivesse salientando a parte OLAP (mencionada implicitamente no enunciado em "suporte a decisão") eu até concordaria.

    Na página da CESPE o gabarito ainda consta como preliminar:

    http://www.cespe.unb.br/concursos/TCU2010/

    Vamos aguardar.

  • O gabarito foi alterado de Certo para Errado em 08/09. Vide questão 145 da prova.

    Link da prova: http://www.cespe.unb.br/concursos/TCU2010/arquivos/TCU10_001_5.pdf

    Link da correção: http://www.cespe.unb.br/concursos/TCU2010/arquivos/TCU_10_TI_JUSTIFICATIVAS_DE_ALTERAO_DE_GABARITO.PDF

    Abs, Edu.

  • Olá, pessoal!
     
    O gabarito foi atualizado para "E", após recursos, conforme edital publicado pela banca, e postado no site.

    Justificativa da banca:
    O item é claro ao indicar que as transações as quais se refere são aquelas do SGBD delimitadas por BEGIN  e END transaction. Dessa forma, ao afirmar que “deve-se evitar o desenho de transações do SGBD nas quais o usuário precise realizar  entrada de dados", está claro que a entrada de dados seria aquela realizada no escopo da transação do SGBD, e não antes ou depois da transação. Sob outro aspecto, não se pode afirmar que as entradas de dados feitas pelo usuário provocam apenas inclusão, uma vez que a exclusão ou atualização de dados também envolvem entrada de dados. O item está errado, pois afirma que evitar o desenho de transações do SGBD nas quais o usuário precise realizar entrada de dados é condição necessária e suficiente para que se obtenha um sistema livre de deadlocks, quando, de fato, existem outros aspectos envolvidos.
     
    Bons estudos!