Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza



Documentos relacionados
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza

Implementando uma Classe e Criando Objetos a partir dela

UNIDADE 6 - PROGRAMAÇÃO MODULAR

COMUNICADO SIAD 019 /2007 ASSUNTO: Frota Abastecimento no Posto Orgânico Coletivo de Combustível - POC

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Prof. Me. Marcos Echevarria

MÓDULO 3 Cadastros básicos

PROCEDIMENTOS DE AUDITORIA INTERNA

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Controle de transações em SQL

Guia do Usuário. idocs Content Server v

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Engenharia de Software II

MANUAL DA SECRETARIA

O Gerenciamento de Documentos Analógico/Digital

Sobre o Sistema FiliaWEB

ITIL v3 - Operação de Serviço - Parte 1

Especificação do Trabalho Prático

Gerenciamento da Integração (PMBoK 5ª ed.)

6. Pronunciamento Técnico CPC 23 Políticas Contábeis, Mudança de Estimativa e Retificação de Erro

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Incluindo, atualizando e excluindo linhas nas tabelas

Visando atender as diferentes realidades de seus jurisdicionados, o sistema LicitaCon contará com dois módulos para o recebimento das informações.

MANUAL MOODLE - PROFESSORES

Produto : Datasul, MFT(Faturamento), Datasul Projeto : PCREQ-4786 Data da criação

1. Introdução Pregão Eletrônico

RGF SISTEMAS DE INFORMÁTICA LTDA SISARQ SISTEMA DE CONTROLE DE ARQUIVO DESLIZANTE PARAÍSO DO TOCANTINS-TO

EDITAL DE SELEÇÃO PÓS-GRADUAÇÃO LATO SENSU Modalidade Online

Monitor de Comercialização Ofertante. Última Atualização 12/11/2015

Token USB Rainbow Ikey2032. Guia de instalação e alteração da senha (PIN)

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

PORTARIA Nº 47 DE 20 DE AGOSTO DE 2007

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica

Teclado. Mike McBride Anne-Marie Mahfouf Tradução: Lisiane Sztoltz

MBA EM GESTÃO PÚBLICA

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

EDITAL DE SELEÇÃO PÓS-GRADUAÇÃO LATO SENSU Modalidade Online

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

ECONTEXTO. Auditoria Ambiental e de Regularidade

ESTRUTURA DE GERENCIAMENTO DO RISCO OPERACIONAL DO BANCO COOPERATIVO SICREDI E EMPRESAS CONTROLADAS

Bem-vindo ao tópico sobre devolução e devoluções da nota fiscal de entrada.

FMEA (Failure Model and Effect Analysis)

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

TÉCNICAS DE PROGRAMAÇÃO

Sistema de Gerenciamento de Projetos V 1.01 MANUAL DO COORDENADOR

Portal do Projeto Tempo de Ser

Bem-vindo ao tópico sobre administração de listas de preços.

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Versão para atualização do Gerpos Retaguarda

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Resolução da lista de exercícios de casos de uso

Política de Gestão de Riscos Tese Investimentos. Junho/2016

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Administração de Sistemas de Informação Gerenciais

MANUAL CHAT DE ATENDIMENTO VIASOFT

EDITAL DE SELEÇÃO PÓS-GRADUAÇÃO LATO SENSU Modalidade Online

Manual do Usuário. Protocolo

Manual de Operacionalização do Módulo de Prestação de Contas PCS

Ajuda On-line - Sistema de Central de Materiais Esterilizados. Versão 1.0

SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL

Descrição do Produto. Altus S. A. 1

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Especificação Operacional.

Manual SAGe Versão 1.0

Bem-vindo ao tópico Múltiplas filiais.

Desenvolvimento de uma Etapa

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2

NORMA BRASILEIRA DE CONTABILIDADE NBC TSC 4410, DE 30 DE AGOSTO DE 2013

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS

MANUAL SICCL SQL SRTVS 701 Bloco O Ed. MultiEmpresarial Sala 804 Brasília/DF CEP Fone/Fax: (061) implanta@conselhos.com.

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Guia de utilização da notação BPMN

Manual de Instalação SIM/SINASC

agility made possible

Inventário WMS. SCM Concept (47)

Estoque. Como controlar o estoque

Monitor de Comercialização - Proponente MT

ADMINISTRAÇÃO E SERVIÇOS DE REDE

Medidor Powersave V2 USB

EDITAL DE SELEÇÃO PÓS-GRADUAÇÃO LATO SENSU Modalidade Online

ORIENTAÇÃO TÉCNICA - CONTABILIDADE

Seminário de Avaliação Econômica de Projetos Sociais

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

Disciplina: Unidade III: Prof.: Período:

Transcrição:

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza

Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes físicos e lógicos e suas características; Foi mostrado em sala que as relações existentes dentre esses componentes é de fundamental importância para configurar a comunicação existente de uma ou mais bases provida por um SGBD; A partir de agora, descendo na hierarquia de funcionamento estudaremos como essas estruturas se comunicam lógica e fisicamente para garantir independência local na movimentação das informações; Tudo isso sendo provido pelo que denomina-se de transações

Uma transação nada mais é do que uma unidade lógica de trabalho que contém uma ou mais instruções SQL com o objetivo de empenhar a movimentação dos dados com uma ou mais relações de objetos; A transação é conhecida como unidade atômica à abrangência que pode ocasionar com os efeitos das instruções, sendo de caráter físico, envolvendo critérios técnicos, e mais comumente lógico, para atualização, por exemplo, dos dados nas bases; A formução de comandos é descrita através de chamadas formuladas pela sintaxe e semântica dos dicionários de dados e finalizada com instruções COMMIT ou ROLLBACK;

Para ilustrar o conceito de transações, considere uma base de dados bancários. Quando um banco realiza transferências financeiras do cliente de uma conta poupança para uma conta corrente: Diminua o valor x da conta poupança; Incremente o valor x na conta corrente; Registre a transação y no diário de transações; Se todas as três instruções SQL podem ser executadas para manter as contas em equilíbrio, os efeitos da transação podem ser aplicada na base manipulada; No entanto, se um problema, tais como insuficiência de saldo ou conta inválida impede uma ou duas das transações serem realizadas com sucesso;

Fluxo de início, incremento e término transações SQL;

Analisando a figura anterior, é importante destacarmos dois principais aspectos das transações: a declaração e ocontrole; Uma instrução é um pouco diferente das transações que estamos acostumadas a ver em aplicações cotidianas. Quando uma transação está prestes de ser realizada, três fatores básicos são levados em conta anteriormente: Sintaxe da requisição (construtos do comando); Semântica da requisição (objetivo do comando); Além também das relações que o controle exercerá com o resultado da transação; Entretanto, até a transação ser confirmada, a declaração pode ser revertida - committing;

A operação de Commiting significa que um usuário solicitou explicitamente ou implicitamente que as mudanças na operação tornem-se permanentes; Um pedido explícito ocorre quando o usuário emite uma instrução COMMIT por instruções no próprio código SQL e um pedido implícito ocorre após o término normal de uma aplicação ou cumprimento de uma linguagem de definição de dados DDL; As mudanças realizadas pelas instruções de uma transação se tornam permanentes e visíveis à outros usuários só depois que a transação é realizada com sucesso. As consultas que são emitidas após a operação comprometem possíveis alterações confirmadas;

Você pode nomear uma transação usando o comando SET TRANSACTION... NOME antes que a mesma esteja ativa; Isto torna mais fácil o monitoramento das transações de longa duração e resolve eventuais problemas de transações compostas ou distribuídas; Caso uma ou mais declarações que já tenham sido tomadas como definitivas, há um processo simples de desfazer a todo custo eventuais correções e prevenções na estrutura dos comandos e transações; Para isso são adotados procedimentos de Rollback que tem como função reverter declarações executadas com erros, ou que até mesmo geraram erros;

O efeito da reversão é como se essa declaração nunca tivesse sido executada. Esta operação é chamada de reversão de nível de instrução para possibilitar a correção de erros descobertos durante a execução de instruções SQL; Um exemplo de um erro deste tipo é tentar inserir um valor duplicado em uma chave primária. O choque de instruções gera conflitos nos parâmetros (competição para os mesmos dados) provocando uma reversão; Os erros descobertos durante a análise da instrução, pela sintaxe ainda não foi executado, para que eles não causem danos maiores, sem a proteção rollback existente para os registros e dados das bases de dados;

Para compatibilizar o uso de commit e rollback e evitar danos maiores para as bases de dados, ao nível de usuário, muitos SGBDS possuem complexos módulos de gerenciamento de instruções; Em cada software específico a série de passos para realizar essas operações é baseada na infraestrutura física e lógica e na disposição de seus componentes em relação aos objetos; Em poucos passos, basicamente, o processo de execução de uma transação ocorre da seguinte maneira: Uma instrução SQL é interpretada pelo compilador do SGBD e o mesmo interpreta o comando como uma chamada para uma instância;

Após a instância ser detectada e armazenada pela, rotina, o objeto específico, a base inicia a leitura da transação e executa as relações existentes pela sintaxe e semântica relacionando os objetos envolvidos; Ao término da execução [caso não haja erros], o commit é invocado para autenticar as novas atualizações de registros, e dos dados informados, para que a base se autogerencie; Caso aparecçam erros, ou o usuário deseja voltar a ação realiza, o comando rollback é invocado para instanciar novamente todo o processo descrito; O processo e realizado por operações DDL (pesquisar);

Após o ciclo de leitura, correção e liberação ser realizado, a transação é efetuada com sucesso de acordo com os requisitos e parâmetros evidenciados; Há também a possibilidade de salvar transações em um determinado momento através de uma função denominada de savepoint. Essa função quebra a transações em partes menores para facilitar o processamento dos dados de acordo com o balanceamento e carga atuais da base; Um exemplo comum, do uso de savepoints, são as atualizações realizadas em intervalos de tempos programados de acordo com o reenvio de dados; São utilizadas constatemente em bases densas ;

Por fim, é importante destacar as transações autônomas que são transações invocadas a partir de outras transações; Uma transação autónoma permite-lhe sair do contexto da transação de chamada, realizar algumas operações SQL, confirmar ou desfazer as operações, e depois voltar para o contexto da operação de chamada e continuar com essa mesma operação; Após um certo tempo, uma operação deste tipo tornase independente para executar seus comandos sem quaisquer problemas que alterem seu funcionamento e o funcionamento das demais transações aninhadas anteriormente;

Para encerrarmos, alguns exemplos de códigos que iniciam as transações são os seguintes: SET TRANSACTION; COMMIT; ROLLBACK; SAVEPOINT; ROLLBACK TO SAVEPOINT; Todos afetando diretamente o contexto físico e lógico dos componentes das bases de dados;

Acessem o Disco Virtual da Disciplina no endereço: http://migre.me/3spr1 Baixem a Aula 05 na pasta Slides; Próxima aula veremos Regime e Controle de Objetos em Banco de Dados Parte I Dúvidas? Estejam a vontade!