Atomic Transaction
O que é uma transação Atomic?
-> retirado da sigla ACID.
-> retirado da sigla ACID.
Rodc
Curtidas 0
Respostas
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!!!
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
26/05/2006
Mas então, que banco que não tem transação, por exemplo?
GOSTEI 0
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:
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!!
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
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...
Valeu pela discussão, abraços...
GOSTEI 0
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!!
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