Triggers DML são usados com frequência para impor as regr...

Próximas questões
Com base no mesmo assunto
Ano: 2014 Banca: FUNCAB Órgão: MDA Prova: FUNCAB - 2014 - MDA - Analista de Negócios |
Q499282 Banco de Dados
Triggers DML são usados com frequência para impor as regras de negócio e a integridade dos dados. O SQL Server fornece DRI - Declarative Integridade Referencial, por meio de instruções específicas. A integridade referencial refere-se as regras sobre as relações entre as chaves primárias e estrangeiras de tabelas. Para impor a integridade referencial, deve-se usar as restrições PRIMARY KEY e FOREIGN KEY. Os gatilhos DML são executados em resposta a diversos eventos DML, que correspondem , basicamente, às seguintes instruções SQL:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a D - ALTER TABLE e CREATE TABLE.

Para entender essa questão, é necessário compreender o básico dos triggers DML e da Declarative Referential Integrity (DRI) no contexto de bancos de dados SQL. Triggers são procedimentos que são acionados automaticamente na ocorrência de eventos, como inserção, atualização ou deleção de dados em uma tabela. A integridade referencial é uma propriedade de bancos de dados que garante a consistência entre chaves primárias e estrangeiras, assegurando a validade dos links entre tabelas.

A integridade referencial é geralmente mantida por meio de PRIMARY KEY e FOREIGN KEY constraints. No entanto, o enunciado quer que identifiquemos as instruções SQL que correspondem a eventos DML que acionam os triggers. As instruções ALTER TABLE e CREATE TABLE não são estritamente eventos DML, mas sim eventos de definição de dados (DDL - Data Definition Language). Entretanto, algumas implementações de SQL Server permitem que os triggers respondam a tais eventos, caracterizando a alternativa D como correta.

As alternativas A, B, C e E não são corretas porque mencionam comandos que não são utilizados para definir triggers DML. SELECT TABLE não é um comando de modificação de dados e, portanto, não pode ter um trigger DML associado. DROP TABLE é um comando DDL que pode acionar um trigger de sistema, mas não um trigger DML.

Concluindo, embora os triggers DML sejam mais comumente associados a operações como INSERT, UPDATE e DELETE, a resposta correta é a alternativa D, considerando a possibilidade de definição de triggers em resposta a comandos de modificação de estrutura de tabelas, como ALTER TABLE e CREATE TABLE.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

ALTER TABLE não é DDL?

Acredito que o gabarito esteja errado, pois SELECT e DELETE são comandos DML.

 

As demais alternativas contêm, pelo menos, um comando DDL, invalidando-as.

 

Na minha opinião, deveria ser letra A.

São comandos do DML o INSERT, UPDATE e DELETE.
Agora aqui cabe um parêntesis.
Alguns autores costumam incluir no DML o comando SELECT, outros criam um grupo a parte pra ele, o DQL, Data Query Language, ou LInguagem de Consulta de Dados

Gabarito: D

O único entendimento possível que eu tiro desse gabarito é que, somente os comandos ALTER TABLE e CREATE TABLE são capazes de inserir PK’s e FK’s. No entanto, trata-se de comandos DDL, não DML.

A questão está mal-formulada, haja vista que os comandos DML acionadores de gatilhos são: INSERT, UPDATE e DELETE.

Questão aloprada, não se decide o que quer como resposta.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo