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.
- A)Define a ordem adequada de execução das transações.
Errada, porque definir a ordem adequada de execução se relaciona ao escalonamento das transações, não ao isolamento em si.
- B)Certifica-se de que as transações mantêm a consistência dos dados.
Errada, porque manter a consistência dos dados é atributo ligado à consistência do ACID, e não ao isolamento.
- C)Garante que as transações sejam realizadas de forma independente e não afetem umas as outras.
Certa, pois isolamento garante que transações concorrentes não interfiram indevidamente umas nas outras.
- D)Assegura a execução bem-sucedida de todas as transações, ao mesmo tempo em que separa os dados de acordo com as instruções do usuário.
Errada, porque fala em sucesso da execução e separação de dados, misturando ideias de atomicidade, durabilidade e até controle de concorrência.
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.