PROF.
JOSÉ ROBERTO COSTA
[Link]
PROF. JOSÉ ROBERTO COSTA
CONCEITOS DE BANCO DE DADOS
Transações
No contexto de Banco de Dados, transação é uma sequência de operações de Banco de Dados que satisfaz as
propriedades ACID e, portanto, pode ser percebida como uma operação lógica única sobre os dados.
Por exemplo, uma transferência de fundos de uma conta bancária para outra, mesmo envolvendo múltiplas mudanças,
como debitar uma conta e creditar outra, é uma transação única.
Transações – ACID
• Atomicidade
• Consistência
• Isolamento
• Durabilidade
A sigla ACID significa Atomicity, Consistency, Isolation, Durability, ou em português Atomicidade, Consistência,
Isolamento e Durabilidade, e diz respeito a um conjunto de propriedades em transações de Bancos de Dados que são
importantes para garantir a validade dos dados mesmo que ocorram erros durante o armazenamento ou
problemas mais graves no sistema, como crashes ou problemas físicos em um servidor.
As propriedades ACID são fundamentais para o processamento de transações em Bancos de Dados.
➢ Atomicidade:
As transações são, geralmente, compostas de várias declarações (comandos / operações). A atomicidade é uma
propriedade que garante que cada transação seja tratada como uma entidade única, a qual deve ser executada por
completo ou falhar completamente. Desta forma, todas as operações da transação devem ser executadas com sucesso
para que a transação tenha sucesso.
➢ Atomicidade:
Se uma única operação que seja do bloco da transação falhar, toda a transação deverá ser cancelada – as transações são
aplicadas de uma forma “tudo ou nada”. Caso haja falha em qualquer operação da transação, o Banco de Dados será
retornado ao estado anterior ao início da transação. Chamamos a esse retorno de estado de Rollback (“transação
desfeita”).
➢ Atomicidade:
Caso a transação tenha sucesso, o BD é alterado de forma permanente, em um processo denominado Commit
(“efetivação”).
➢ Consistência:
A propriedade da consistência permite assegurar que uma transação somente leve o banco de dados de um estado válido
a outro, mantendo a estabilidade do banco. Os dados que são gravados devem sempre ser válidos, de acordo com regras
definidas, e isso inclui qualquer operação considerada, como triggers, constraints (restrições), procedimentos
armazenados, ou outras que determinem a validade dos dados inseridos. Desta forma, é evitada a corrupção do Banco de
Dados que pode ser causada por uma transação ilegal.
➢ Consistência:
[Link]
PROF. JOSÉ ROBERTO COSTA
Por exemplo, se for feita uma tentativa de inserir um registro em uma tabela de vendas da venda de um produto que não
esteja presente em uma tabela de produtos, a transação falhará.
RESOLUÇÃO DE QUESTÕES
QUESTÃO 01
A propriedade de "consistência" (C) em um sistema de gerenciamento de banco de dados relacional com transações
ACID garante que:
A. Todas as transações sejam executadas em uma ordem pré-determinada.
B. O banco de dados sempre permaneça em um estado válido, mesmo após falhas ou interrupções.
C. Todas as transações sejam concluídas com sucesso ou revertidas ao seu estado anterior em caso de falha.
D. Todas as transações sejam isoladas umas das outras, de modo que os resultados de uma transação não sejam visíveis
para outras transações até que sejam confirmadas.
E. Os dados sejam gravados em mídias adequadas para backup e recuperação.
Transações - ACID
➢ Isolamento:
É muito comum que transações sejam executadas de forma concorrente, ou seja, de forma que várias tabelas sejam lidas
ou alteradas por vários usuários simultaneamente. Com a propriedade do isolamento a execução concorrente permite
deixar o banco de dados no mesmo estado em que ele estaria caso as transações fossem executadas em sequência.
➢ Isolamento:
Por exemplo, imagine dois clientes tentando comprar o último exemplar de um produto em estoque, simultaneamente. O
primeiro a finalizar a compra fará com que a transação do outro seja interrompida, sofrendo rollback.
➢ Durabilidade:
A propriedade da durabilidade garante que uma transação, uma vez executada (efetivada), permanecerá neste estado
mesmo que haja um problema grave no sistema, como travamento de sistema ou falta de energia elétrica no servidor.
Para isso, as transações finalizadas são gravadas em dispositivos de memória permanente (não-volátil), como discos
rígidos, de modo que os dados estejam sempre disponíveis, mesmo que a instância do BD seja reiniciada.
Operações COMMIT e ROLLBACK
Se uma transação for concluída com sucesso (todas as operações bem-sucedidas), o banco de dados será alterado
permanentemente, com os dados alterados persistidos (salvos em disco); essa operação é chamada de Commit.
Porém, se houver falha em qualquer uma das operações que compõem a transação, o banco deverá ser retornado ao
estado anterior ao início da transação; chamamos a essa operação de Rollback.
Assim, podemos caracterizar as transações da seguinte forma:
• Todas as transações possuem início e fim;
• As transações podem ser salvas (consolidadas no banco de dados) ou desfeitas;
• Caso uma transação falhe no meio da execução de suas operações, nenhuma das operações será salva no banco
de dados – todas serão desfeitas.
[Link]
PROF. JOSÉ ROBERTO COSTA
QUESTÃO 02
Em um moderno SGDB, uma Transaction, ou transação, é uma unidade lógica de trabalho, determinada por uma
sequência de operações, finalizada pela execução de uma operação COMMIT ou ROLLBACK. A transação deve possuir
importantes propriedades, conhecidas pelas iniciais ACID. Qual das alternativas descreve o significado da sigla ACID?
A. Atomicidade, Coerência, Infinidade e Durabilidade.
B. Atomicidade, Consistência, Isolamento e Durabilidade.
C. Autoridade, Correspondência, Isolamento e Duplicidade.
D. Autonomia, Consistência, Integridade e Domínio.
E. Automático, Consistência, Infinidade e Duplex.
QUESTÃO 03
O aumento da confiabilidade do sistema gerenciado de banco de dados ocorre por meio da introdução de redundância de
dados, ou seja, pela disponibilização de formas diferentes de acesso ao dado, como interface gráfica e linguagem SQL.
CERTO ( ) ERRADO ( )
[Link]