SóProvas


ID
159028
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de arquiteturas de aplicações cliente-servidor e para
a Internet, julgue os próximos itens.

Gatilhos (triggers) podem ser usados para impor restrições de integridade semântica em um banco de dados relacional. Um gatilho pode especificar evento, condição e ação. A ação é executada se a condição for satisfeita quando ocorrer o evento. Se uma condição não for especificada, a ação será disparada pelo evento. Uma ação pode ser uma sucessão de declarações SQL.

Alternativas
Comentários
  • Retirado de http://www.devmedia.com.br/post-1695-Introducao-a-TRIGGERS.html

    "Os TRIGGERS são usados com enorme eficiência para impor e manter integridade referencial de baixo nível, e não para retornar resultados de consultas. A principal vantagem é que eles podem conter uma lógica de processamento complexa.

    Você pode usar TRIGGERS para atualizações e exclusões em cascata através de tabelas relacionadas em um banco de dados, impor integridades mais complexas do que uma restrição CHECK, definir mensagens de erro personalizadas, manter dados desnormalizados e fazer comparações dos momentos anteriores e posteriores a uma transação."

  • Um trigger tipico tem tres componentes:
    1. O evento: q sao atualizaçoes no BD(especificados apos BEFORE);
    2. A condição: determina se a açao da regra deve ser executada;
    3. A ação: q normalmente eh 1 sequencia de isntrucoes SQL, mas pde ser outro procedimento logico.

    Suponha q vc queira ser avisado qdo suas vendas ultrapassarem 10.000,00; o trigger pde disparar 1 açao qdo isso ocorrer, por exemplo, enviando um email lhe avisando. Seria mais ou menos assim:

    CREATE TRIGGER recorde_vendas
        BEFORE INSERT OR UPDATE OF vendas,
    FOR EACH NOW
        WHEN(NEW.vendas > 10000)
           ENVIAR_EMAIL
              (NEW.email)

    Então, nesse caso, tem-se o trigger recorde_vendas, que sera disparado sempre que um evento(INSERT/UPDATE) possuir a condiçao(WHEN) de vendas superior a 10000, cuja ação é o envio de um email para o vendedor.





  • alguem explica esse trecho


    "Se uma condição não for especificada, a ação será disparada pelo evento. "

  • Raphael Lacerda


    a condição de uma trigger é opcional (cláusula WHEN é opcional.) Se não tem condição, ao acontecer o evento, a ação vai ser executada de qualquer forma