Implementação de Banco de Dados Cassio Diego cassiodiego.com/bd 1 Aula 12 UNIDADE 4: TRANSAÇÕES (CONTINUAÇÃO) 4. Propriedades ACID 5. Execução Concorrente de Transações 6. Controle de Transação em Sql (Commit, Rollback, Savepoint) 2 Transações INTRODUÇÃO 3 Transações PROPRIEDADE ACID • Atomicidade: A execução de uma transação deve ser atômica, ou todas as ações são executadas, ou nenhuma é. • Consistência: Cada transação executada isoladamente deve preservar a consistência do banco de dados. • Isolamento: Cada transação deve ser isolada dos efeitos da execução concorrente de outras transações. • Durabilidade: Toda transação que for finalizada de forma bem sucedida deve persistir seus resultados em banco mesmo na presença de falhas do sistema. 4 Transações ATOMICIDADE Trata o trabalho como forma indivisível. As falhas nas transações podem ter como motivo: • Interrupção do banco de dados; • Queda do sistema; • Detecção de um situação inesperada. 5 Transações ATOMICIDADE • Uma transação interrompida pode deixar o banco de dados em um estado inconsistente. • O banco de dados deve prover recursos para remoção dos efeitos de transações incompletas para garantir a atomicidade. 6 Transações CONSISTÊNCIA E ISOLAMENTO • É o usuário quem deve garantir a consistência da transação - • Ex.: Transferencia de fundos entre contas não alteram a quantia total de dinheiro nas contas. O isolamento deve garantir que duas transações, executadas de maneira concorrente, devem ter mesmo resultado se executadas em ordem serial. - Ex.: T1 concorrente com T2 => T1, T2 ou T2, T1 7 Transações DURABILIDADE • Mesmo com quedas, tratamentos e interrupções, garante que os dados estarão disponíveis em definitivo após o commit, e somente uma nova transação poderá desfazer a alteração. 8 Transações CONTROLE DE TRANSAÇÃO • commit: • rollback: • savepoint: 9 Transações TRABALHO • Pesquisar aplicações de transações 10 Próxima aula... UNIDADE 5: OTIMIZAÇÃO E PROCESSAMENTO DE CONSULTAS 1. Algoritmos para processamento de consultas 1.1. Algoritmos para operação de Seleção; 1.2. Algoritmos para classificação; 1.3. Algoritmos para junção; 11 Bibliografia Básica • SILBERSCHATZ, Abraham; KORTH, Henry F; SUDARSHAN, S. A. Sistema de banco de dados. 5ª ed. Rio de Janeiro: Campus, 2006. • ELMASRI, R.; NAVATHE, S., Sistemas de Banco de Dados. Pearson Education do Brasil, 4ª.Ed 2005. • RAMALHO, Jose Antonio Alves. SQL a linguagem dos bancos de dados. São Paulo: BERKELEY BRASIL, 1999. 12 Bibliografia Complementar • DATE, C.J. Introdução a sistemas de banco de dados. 8ª ed. Rio de Janeiro: Campus, 2004. • DAMAS Luis SQL- Structured query language 6ª. Ed. Editora LTC 2007 • GILLENSON, M, MILLER, F. Introdução a Gerência de Banco de Dados. Editora LTC 1a. Edição 2009 • PRICE.Jason Oracle Database 11g SQL Editora Artmed 1a. Edição 2008 • KLINE,Daniel; KLINE , Kevin Sql - O Guia Essencial - Manual de Referencia Profissional. Editora Alta Books 1 2010 13 Materiais cassiodiego.com/bd 14 Contato Oficial [email protected] 15