Atomic Transaction

MySQL

26/05/2006

O que é uma transação Atomic?
-> retirado da sigla ACID.


Rodc

Rodc

Curtidas 0

Respostas

Wagnerbianchi

Wagnerbianchi

26/05/2006

Olá rodc,

Sua pergunta é bem pertinente. . .às vezes ficamos presos ao desenvolvimento e não esquentamos a cabeça para conceitos.

Um transação atômico é toda transação que requer um COMMIT TRANSACTION no final, ou seja, se todas as transações com o banco de dados forem efetuadas, no final temos um COMMIT TRANSACTION.

Analogia:

Suponhamos que somos clientes de um banco (banco de finanças) e que temos que transferir uma determinada quantia para um outro correntista na mesma agência. A operação seria, pegar o valor que queremos transferir, checar o nosso saldo, se tivermos a tal quantia, esta é trasferida para uma outra conta, ok??

Temos então:

2 select´s
1 insert
1 update

...numa só transação!! Caso alguma coisa dê errado no meio da execução do procedimento, o ROLLBACK é acionado e a transferência é desfeita, voltando a quantia para nossa conta, sem que haja maiores conflitos.

[b:900c79b895]Atomicidade[/b:900c79b895] é isso, várias transações são desencadeadas em um só procedimento!!

Entendeste?? Qualquer dúvida, contineu o post!!!


GOSTEI 0
Rodc

Rodc

26/05/2006

Mas então, que banco que não tem transação, por exemplo?


GOSTEI 0
Wagnerbianchi

Wagnerbianchi

26/05/2006

Vamos lá. . .

Quando falamos ´Banco de Dados´, deixamos de fora o mais importante que é o SGBD. O banco de Dados sozinho não serve para nada em termos de corporatividade.

Conceitos:

- SGBD ou Sistema Gerenciador de Bancos de Dados, é um conjunto de aplicativos para controle dos dados contidos em banco de dados.

- Banco de Dados é um armazenamento ou depósitório de dados inter-relacionados.

O que seria do ORACLE, SQL Server ou MySQL sem o SGBD?? NADA!!

O SGBD que gerencia a integridade referencial, back-up, recuperação dos dados, performance. . .tudo isso, o banco é somente para guardar dados, sendo que, também as transações são gerenciadas pelo SGBD, pois ele que trata do CHECK POINT no LOG DE TRANSAÇÕES, que, é apartir deste tal carinha que as transações são comitadas ou retrocedidas por algum motivo.

Isso é somente um overview!!!

Agora, sua pergunta:

que banco que não tem transação, por exemplo?


Um exemplo clássico de banco de dados que não possui transação é o Access, que, é um banco de dados e não um SGBD.

Até pouco tempo atrás o MySQL também era considerado apenas um banco de dados. Hoje em dia já é um SGBD e tende a robustez!!

Outro, o SQLite é um banco de dados, não tem aplicativos para seu gerenciamento em longo nível. O SQLite é tema de grandes discussões pois, mesmo suportando transações, o mesmo trava todo o banco quando estas se iniciam, é mole?? ehehehe

Continue o post, caso precise mais algum exclarecimento!!

Abraço!!


GOSTEI 0
Rodc

Rodc

26/05/2006

Aê, vc é professor? Explica muito bem... gostei!!! Valeu pela ajuda.... e me surgiu esta dúvida exatamente lendo o descritivo do SqLite... eu uso ele e realmente, tem transação mas o banco fica travado.
Valeu pela discussão, abraços...


GOSTEI 0
Wagnerbianchi

Wagnerbianchi

26/05/2006

Opa. . .rs

Ainda não sou professor. . .estou graduando, mas chegaremos lá!!
Disponha, quando precisar de algo, poste no fórum que tentarei ajudar!

Um abraço!!


GOSTEI 0
POSTAR