TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Cenário da classe de laboratório Operação da base de dados

Seminário: Cenário da classe de laboratório Operação da base de dados. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  29/11/2013  •  Seminário  •  716 Palavras (3 Páginas)  •  365 Visualizações

Página 1 de 3

Roteiro aula laboratório sobre Transações em Banco de Dados

1. Comece verificando como está ajustada a variável Autocommit = Quando igual a 1, está marcada como verdadeiro, ou seja, o SGDB fará os commits (encerramento e gravação no BD) automaticamente. Toda transação que incluir UPDATE ou INSERT não precedidas por um BEGIN estarão imediatamente visíveis para todas as conexões (ou seja comitadas).

MySQLWorkbench 5.2 , server administration, variables, System Variables – na box do search escreva a palavra commit.

2. Use o SQL editor do MYSQL do MySQLWorkbench ( comandos para utilizar referido programa já foram tratados nas aulas anteriores)

3. Crie novo schema de banco de dados , chamado BANCO,

create schema if not exists banco;

USE banco;

create table if not exists t

(`f` int) ENGINE = InnoDB;

4. Abra duas conexões diferentes para acessar seu banco de dados

use banco;

5. Na PRIMEIRA conexões aberta, atualize o valor de f da tabela t criada no passo 3 e veja seu valor (usando select)

begin;

insert into t(f) values(1);

select * from t;

resultado deve ser uma linha contendo o valor 1

6. Na SEGUNDA conexão aberta, verifique o valor de f

select * from t;

O resultado NÃO deve APRESENTAR nenhuma linha.

Pois a instrução 5 é iniciada explicitamente com begin e não foi comitada.

________________________________________

7. Na PRIMEIRA conexão (da instrução 5) faça um rollback e veja o resultado

rollback;

Select * from T;

O resultado NÃO deve APRESENTAR nenhuma linha.

Percebeu que a durabilidade (aciD) da transação 5 não foi confirmada pelo COMMIT e desta forma não se refletiu pelo banco

________________________________________

8. Repita agora os passos 5 (mude o valor de 1 para 2) SEM UTILIZAR O BEGIN na PRIMEIRA CONEXÃO

insert into t(f) values(2);

select * from t;

Qual é o resultado?

9. Agora veja o conteúdo da mesma tabela USANDO A SEGUNDA CONEXÃO.

select * from t;

Qual é o resultado? Por quê?

________________________________________

10. Na PRIMEIRA CONEXÃO Agora faça o passo 5 USANDO O BEGIN (mude o valor para 3) e faça o COMMIT ao final da transação

begin;

insert into t(f) values(3);

commit;

select * from t;

11. Agora veja o conteúdo da mesma tabela USANDO A SEGUNDA CONEXÃO.

select * from t;

Qual é o resultado? Por quê?

________________________________________

12. Na PRIMEIRA CONEXÃO DESLIGUE o AUTOCOMMIT

SET AUTOCOMMIT=0;

13. Na PRIMEIRA CONEXÃO Agora INSIRA novo valor (mude o valor para 4) - NÃO USE BEGIN

insert into t(f) values(4);

select * from t;

Qual é o resultado? Por quê?

14. Agora veja o conteúdo da mesma tabela USANDO A SEGUNDA CONEXÃO.

select * from t;

Qual

...

Baixar como (para membros premium)  txt (5.1 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com