Questão nº 45

Questão de Banco de Dados · FGV CGE-SC 2022 (nº 45)

FGV2022Auditor do Estado - Ciências da ComputaçãoBanco de Dados
Gabarito: Dver comentário ↓

Nos SGBDs relacionais, os procedimentos chamados automaticamente como ação imediata após um determinado evento são chamados Trigger ou Gatilho. Geralmente esses objetos são especificados por um DBA.
Na descrição de uma Trigger podem-se encontrar três partes: (i) evento que é a alteração no banco de dado que ativa a trigger; (ii) condição, consulta ou teste que é executado quando a trigger é ativada; e (iii) ação que diz respeito ao procedimento que é executado quando a trigger é ativada e quando a condição é verdadeira.
Sobre triggers no SGBD Microsoft SQL Server, assinale V para a afirmativa verdadeira e F para afirmativa falsa.
( ) Não é permitido criar trigger de DELETE/UPDATE em colunas de tabelas que sejam chaves estrangeiras e tenham configurado DELETE/UPDATE de forma CASCADE.
( ) Uma das maneira de auditar tabelas de bancos de dados é usando trigges. No SQL Server é permitido construir triggers em eventos do TRUNCATE TABLE uma vez que esse comando não deixa de ser de fato um comando de DELETE.
( ) É permitido criar triggers para eventos de CREATE, DROP, ALTER, RESTORE DATABASE assim como para LOGON com intuito de aumentar a segurança do banco de dados.
As afirmativas são, respectivamente,

Resposta comentada

Gabarito Alternativa D

Triggers (ou gatilhos) são procedimentos especiais em bancos de dados que são executados automaticamente em resposta a eventos específicos, como a inserção, atualização ou exclusão de dados.

(A) Incorreta: Não é permitido criar trigger de DELETE/UPDATE em colunas de tabelas que sejam chaves estrangeiras e tenham configurado DELETE/UPDATE de forma CASCADE.
Fundamento: No SQL Server, é permitido criar triggers em tabelas, mesmo que elas participem de relacionamentos de chave estrangeira com ações CASCADE. A trigger será executada antes ou depois da operação DML, e a ação CASCADE ocorrerá conforme configurado, independentemente da trigger.

(B) Incorreta: Uma das maneira de auditar tabelas de bancos de dados é usando trigges. No SQL Server é permitido construir triggers em eventos do TRUNCATE TABLE uma vez que esse comando não deixa de ser de fato um comando de DELETE.
Fundamento: Esta afirmativa é falsa por duas razões principais. Primeiro, o comando `TRUNCATE TABLE` é um comando DDL (Data Definition Language), não um comando DML (Data Manipulation Language) como `DELETE`. Segundo, `TRUNCATE TABLE` não dispara triggers DML (INSERT, UPDATE, DELETE) porque ele dealloca páginas de dados, não remove linhas individualmente. Armadilha da banca: A justificativa "uma vez que esse comando não deixa de ser de fato um comando de DELETE" é o distrator. Embora `TRUNCATE` remova todos os dados, ele o faz de uma maneira que não é equivalente a um `DELETE` para fins de triggers DML. No entanto, é possível criar DDL triggers (triggers de nível de banco de dados ou servidor) para o evento `TRUNCATE TABLE`, mas a afirmativa induz ao erro ao compará-lo a um `DELETE` que dispararia triggers DML.

(C) Incorreta: (Esta não é a correta, mas seria a alternativa C se houvesse uma)

(D) Correta: É permitido criar triggers para eventos de CREATE, DROP, ALTER, RESTORE DATABASE assim como para LOGON com intuito de aumentar a segurança do banco de dados.
Fundamento: No SQL Server, existem os DDL Triggers (triggers de Data Definition Language) que podem ser criados para responder a eventos como `CREATE`, `DROP`, `ALTER` (para objetos como tabelas, views, stored procedures, e até mesmo bancos de dados como `CREATE DATABASE`, `DROP DATABASE`, `ALTER DATABASE`, `RESTORE DATABASE`). Além disso, existem os Logon Triggers que são disparados quando um usuário tenta fazer login no servidor. Ambos os tipos de triggers são frequentemente usados para fins de auditoria, segurança e conformidade, permitindo monitorar e controlar atividades críticas no banco de dados.

Fonte: FGV CGE-SC 2022 Auditor do Estado - Ciências da Computação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho