Questões de Concurso
Comentadas sobre gerência de transações em banco de dados
Foram encontradas 312 questões
I - Um modo de prevenir a ocorrência de deadlocks (impasses) é fazer com que todas as transações bloqueiem antecipadamente todos os itens de que precisam: se qualquer um dos itens não puder ser bloqueado, todos devem ser liberados. Embora previna a ocorrência de deadlocks, essa solução limita o nível de concorrência no sistema.
II - Bloqueios binários são aqueles que permitem dois estados (ou valores): locked (bloqueado) e unlocked (desbloqueado). Os bloqueios binários são sempre do tipo exclusivo: nenhuma transação diferente da que obteve o lock pode acessar os dados bloqueados.
III - Bloqueios podem ser obtidos em itens do banco de dados de diferentes granularidades, como, por exemplo: registros, blocos, tabelas e, até mesmo, todo o banco de dados. Tendo em vista que os itens de diferentes granularidades formam uma hierarquia em forma de árvore, uma mesma transação pode obter diferentes tipos de bloqueios nos nós, ao longo do caminho da raiz (banco de dados) até um nó específico da árvore.
IV - O protocolo de bloqueio em duas fases (two-phase locking) é composto pelas fases: (i) de expansão (ou crescimento), onde bloqueios são obtidos, mas nenhum bloqueio pode ser liberado, e (ii) de encolhimento (ou retrocesso), onde bloqueios existentes são liberados, mas nenhum novo bloqueio pode ser obtido.
V - Quando uma transação T1 obtém um bloqueio exclusivo sobre um item, nenhuma outra transação poderá alterar o dado bloqueado, sendo possível apenas ler tal dado. Quando uma transação T1 obtém um bloqueio do tipo compartilhado, será possível a outras transações ler e alterar o dado bloqueado, sendo somente proibida a exclusão de tal dado.
Estão corretas apenas as afirmativas:
T1:
Na tabela DEPARTAMENTO, bloqueia a linha N em modo compartilhado;
Na tabela DEPARTAMENTO, lê a coluna DESPESA da linha N;
Na tabela DEPARTAMENTO, desbloqueia a linha N;
Na tabela PROJETO, bloqueia a linha M em modo compartilhado;
Na tabela PROJETO, lê a coluna VERBA da linha M;
Na tabela PROJETO, desbloqueia a linha M;
Na tabela PROJETO, bloqueia a linha M em modo exclusivo;
Na tabela PROJETO, escreve a coluna VERBA da linha M com o valor VERBA + DESPESA;
Na tabela PROJETO, desbloqueia a linha M;
T2:
Na tabela PROJETO, bloqueia linha M em modo compartilhado;
Na tabela PROJETO, lê a coluna VERBA da linha M;
Na tabela PROJETO, desbloqueia a linha M;
Na tabela DEPARTAMENTO, bloqueia a linha N em modo compartilhado;
Na tabela DEPARTAMENTO, lê a coluna DESPESA da linha N;
Na tabela DEPARTAMENTO, desbloqueia a linha N;
Na tabela DEPARTAMENTO, bloqueia a linha N em modo exclusivo;
Na tabela DEPARTAMENTO, escreve a coluna DESPESA da linha N com o valor DESPESA + VERBA;
Na tabela DEPARTAMENTO, desbloqueia a linha N;
É correto afirmar que essas transações
Analise as seguintes afirmações relacionadas a conceitos de Sistemas de Gerenciamento de Banco de Dados.
I. O LOCK é um mecanismo usado para controlar o acesso aos dados em um sistema multiusuário. Ele previne que o mesmo dado seja alterado por dois usuários simultaneamente ou que a tabela seja alterada em sua estrutura enquanto os dados estão sendo modificados.
II. Os bloqueios de registros gastam mais memória que bloqueios em páginas ou tabelas, mas permitem bloquear um único registro por um longo tempo.
III. O LOCK de tabela ocorre quando o sistema entra em estado de DeadLock e, em seguida, executa um COMMIT para sair do referido estado.
IV. O comando SQL responsável por fechar uma transação confi rmando as operações feitas é o INSERT. Para desfazer todas as operações o comando a ser utilizado é o DROP.
Indique a opção que contenha todas as afirmações verdadeiras.
Considere os seguintes comportamentos em transações de banco de dados:
Dirty Read
Nonrepeatable Read
Phantom Read
O(s) comportamento(s) possível(eis) no nível de isolamento READ COMMITTED do padrão SQL-92 é(são):