← Questões de Banco de Dados

Banco de Dados · CONSULPLAN · 2024

Questão comentada de Banco de Dados

Uma transação é uma unidade de execução do programa que acessa e, possivelmente, atualiza vários itens de dados. Normalmente, uma transação é iniciada por um programa do usuário escrito em linguagem de manipulação de dados (normalmente SQL) ou linguagem de programação (por exemplo: C++ ou Java), com acessos embutidos ao banco de dados em JDBC ou ODBC. Em um contexto de transações em bancos de dados, sobre a propriedade de “isolamento”, assinale a afirmativa correta.

Gabarito: C

Em transações, você costuma ouvir falar no conjunto ACID: atomicidade, consistência, isolamento e durabilidade. A ideia do isolamento é simples de entender na prática: uma transação não deve “enxergar” a bagunça provisória da outra enquanto ambas ainda estão em execução. Em outras palavras, cada uma precisa se comportar como se estivesse sozinha no sistema, mesmo quando várias rodam ao mesmo tempo. Isso é importante porque, em banco de dados, concorrência sem controle vira receita para erro: leitura de dados intermediários, atualização perdida, inconsistência temporária e por aí vai. Para evitar isso, o SGBD usa mecanismos como bloqueios, versões e escalonamento de operações, justamente para preservar o isolamento entre transações concorrentes. Por isso, o gabarito está na letra C. Ela traduz bem o conceito: as transações devem ser realizadas de forma independente, sem interferência indevida umas sobre as outras. Vale lembrar que, na doutrina de bancos de dados, isolamento não significa que as transações nunca concorrem, e sim que a concorrência é controlada para parecer segura. As demais alternativas misturam conceitos. A ordem de execução remete mais a escalonamento; consistência é outro objetivo do ACID; e a ideia de “assegurar execução bem-sucedida” conversa mais com durabilidade ou até com atomicidade, não com isolamento. Em prova, a banca adora trocar os nomes dos atributos para ver se você está atento. Aqui, a chave é: isolamento = independência operacional entre transações concorrentes.

Continue treinando

Questões relacionadas