SóProvas



Questões de Gerência de Transações


ID
5278
Banca
CESGRANRIO
Órgão
REFAP SA
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Considere os seguintes comportamentos em transações de banco de dados:

Dirty Read
Nonrepeatable Read
Phantom Read

O(s) comportamento(s) possível(eis) no nível de isolamento READ COMMITTED do padrão SQL-92 é(são):

Alternativas
Comentários
  • Para o conceito: acesse:http://www.linhadecodigo.com.br/Artigo.aspx?id=666, terá a descrição dos possíveis comportamentos READ COMMITTED.
  • Nível de isolamento Dirty Read Nonrepeatable Read Phantom Read
    Read uncommitted Possível Possível Possível
    Read committed Impossível Possível Possível
    Repeatable read Impossível Impossível Possível
    Serializable Impossível Impossível Impossível

    Fonte: http://pgdocptbr.sourceforge.net/pg80/transaction-iso.html
  • c-

    Dirty Reads A dirty read occurs when a transaction reads data that has not yet been committed. For example, suppose transaction 1 updates a row. Transaction 2 reads the updated row before transaction 1 commits the update. If transaction 1 rolls back the change, transaction 2 will have read data that is considered never to have existed.

    Nonrepeatable Reads A nonrepeatable read occurs when a transaction reads the same row twice but gets different data each time. For example, suppose transaction 1 reads a row. Transaction 2 updates or deletes that row and commits the update or delete. If transaction 1 rereads the row, it retrieves different row values or discovers that the row has been deleted.

    Phantoms A phantom is a row that matches the search criteria but is not initially seen. For example, suppose transaction 1 reads a set of rows that satisfy some search criteria. Transaction 2 generates a new row (through either an update or an insert) that matches the search criteria for transaction 1. If transaction 1 reexecutes the statement that reads the rows, it gets a different set of rows.

    https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/transaction-isolation-levels?view=sql-server-ver15


ID
5803
Banca
CESGRANRIO
Órgão
EPE
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

A ferramenta gráfica de gerenciamento do Microsoft SQL Server 2000, que permite aos administradores do sistema monitorar eventos de mecanismo do servidor, tais como comandos TRANSACT-SQL, conexão, falha ou desconexão de login e outros, visualizando um registro contínuo da atividade do servidor em tempo real, é o:

Alternativas
Comentários
  • O SQL Server Profiler é uma ferramenta que captura eventos do SQL Server de um servidor. Os eventos são salvos em um arquivo de rastreamento que pode ser analisado ou usado para reproduzir uma série específica de etapas na tentativa de diagnosticar um problema. O SQL Server Profiler é usado para atividades, como:


    -Percorrer consultas de problemas para localizar a causa do problema.


    -Localizar e diagnosticar consultas de execução lenta.


    -Capturar a série de instruções Transact-SQL que resultam em um problema. Em seguida, o rastreamento salvo pode ser usado para replicar o problema em um servidor de teste onde o problema pode ser diagnosticado.


    -Monitorar o desempenho do SQL Server para ajustar cargas de trabalho. Para obter mais informações sobre como ajustar o design físico do banco de dados para cargas de trabalho do banco de dados, consulte Visão geral do Orientador de Otimização do Mecanismo de Banco de Dados.


    -Correlacionar contadores de desempenho para diagnosticar problemas.

  • A bibliografia de onde o colega encontrou foi:(Versão um pouco mais atualizada)

     

    https://msdn.microsoft.com/pt-br/library/ms181091.aspx

     


ID
6259
Banca
CESGRANRIO
Órgão
AL-TO
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Um SGBD para manter a integridade dos dados deve apresentar algumas propriedades para as transações. A propriedade que define "ou todas as operações da transação são refletidas corretamente no banco de dados ou nenhuma deve ser refletida" é:

Alternativas
Comentários
  • A integridade de uma transação depende de 4 propriedades, conhecidas como ACID.

    ATOMICIDADE:
    Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Qualquer ação que constitui falha na unidade de trabalho e a transação deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada (commit).

    CONSISTÊNCIA:
    Nenhuma operação do banco de dados de uma transação pode ser parcial.O status de uma transação deve ser implementado na íntegra. Por exemplo, um pagamento de conta não pode ser efetivado se o processo que debita o valor da conta corrente do usuário não for efetivado antes, nem vice-versa.

    ISOLAMENTO:
    Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. Nenhuma outra transação, operando no mesmo sistema, pode interferir no funcionamento da transação corrente. Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento.

    DURABILIDADE:
    Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.
  • Bons estudos amiga linda!!!
  • Idem amore... tenhamos um dia abençoado de estudos!!!
  • Resposta: Atomicidade

    ela deve ser realizada em sua totalidade ou não deve ser realizada de forma alguma.

    Uma transação deve ser executada até o fim (COMMIT), se houver algum problema (falha no sistema), ela deverá ser

    desfeita (ROLLBACK).


ID
10474
Banca
ESAF
Órgão
CGU
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

Analise as seguintes afirmações relacionadas a conceitos de Sistemas de Gerenciamento de Banco de Dados.

I. O LOCK é um mecanismo usado para controlar o acesso aos dados em um sistema multiusuário. Ele previne que o mesmo dado seja alterado por dois usuários simultaneamente ou que a tabela seja alterada em sua estrutura enquanto os dados estão sendo modificados.

II. Os bloqueios de registros gastam mais memória que bloqueios em páginas ou tabelas, mas permitem bloquear um único registro por um longo tempo.

III. O LOCK de tabela ocorre quando o sistema entra em estado de DeadLock e, em seguida, executa um COMMIT para sair do referido estado.

IV. O comando SQL responsável por fechar uma transação confi rmando as operações feitas é o INSERT. Para desfazer todas as operações o comando a ser utilizado é o DROP.

Indique a opção que contenha todas as afirmações verdadeiras.

Alternativas
Comentários
  • III - ERRADO. Lock de tabela não ocorre como consequencia como mostrado no item III. Ele pode ser usado para resolver isso, mas é algo que se tem controle e também evitar sobrecarga, mas é algo especificado pelo programador.IV - ERRADO. O comando é o commit para confirmar e rollback para voltar.
  • II. Os bloqueios de registros gastam mais memória que bloqueios em páginas ou tabelas, mas permitem bloquear um único registro por um longo tempo.
    Correto porque se entendermos uma tabela como um ponteiro para um set  ou grupo de dados entao veremos que é mais fácil bloquear um único objeto do que bloquear um set ou groupo de registros, como por exemplo um "select * from funcionarios where salario>5000". Neste sentido, os bloqueios de registros gastam mais memória.
  • Vai lá e usa o comando DROP na tabela para desfazer a operação, pra ver a merda que vai dar!

ID
15823
Banca
CESPE / CEBRASPE
Órgão
ANATEL
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

A respeito do desenvolvimento de aplicações e bancos de dados, julgue os seguintes itens.

No SQL, são possíveis os seguintes níveis de isolamento entre transações: serializável, read com efetivação, read sem efetivação e read repetitivo. No read com efetivação, não é possível a leitura de dados não-efetivados, nem é possível que, entre duas leituras de um registro feitas por uma transação, o registro tenha sido modificado por transações efetivadas com sucesso.

Alternativas
Comentários
  • No read com efetivação (commited) não é possível leitura de registros não efetivados, mas é possível que, entre duas leituras de um registro feitas por uma transação, o registro tenha sido modificado por transações efetivadas com sucesso.
  • Serializable– A transação é totalmente isolada. Caso tente atualizar dados não gravados de outra transação, esta t, não será efetuada.
    Repeateble Read– Dados podem ser lidos mais de uma vez. Permite a leitura fantasma.
    Read Commited– Não lê dado não commitado, espera a liberação da linha da outra transação. Evita leitura não repetível.
    Read Uncommited – lê dados não gravados pelo banco de dados (passiveis de roolback). Permite a leitura suja.
    Resumo Tabulado
      Atualização Perdida Leitura Suja Leitura não-repetida Leitura Fantasma READ UNCOMMITTED Não Permite Permite Permite Permite READ COMMITED Não Permite Não Permite Permite Permite REPEATEBLE READ Não Permite Não Permite Não Permite Permite SERIALIZABLE Não Permite Não Permite Não Permite Não Permite  
  • ESSA MODIFICAÇÃO COMMITADA ENTRE DUAS LEITURAS DE UMA MESMA TRANSAÇÃO GERA AQUELE PROBLEMINHA DE LEITURA NÃO REPETIDA. POIS É, ISSO ACONTECE PORQUE O ISOLAMENTO READ COMMITED PROTEGE A TRANSAÇÃO CONTRA A "ATUALIZAÇÃO PERDIDA" E CONTRA A "LEITURA SUJA", MAS NÃO PROTEGE CONTRA A "LEITURA NÃO REPETÍVEL", NEM CONTRA A "LEITURA FANTASMA".

  •  

    READ UNCOMMITED/ATUALIZAÇÃO PERDIDA: PROTEGE/LEITURA SUJA: NÃO/LEITURA NÃO REPETIDA: NÃO/LEITURA FANTASMA: NÃO

    READ COMMITED/P/P/N/N

    REPEATABLE READ/P/P/P/N

    SERIALIZABLE/P/P/P/P

     


ID
17782
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Duas transações (T1 e T2) de banco de dados executam as seguintes seqüências de operações:
T1:
Na tabela DEPARTAMENTO, bloqueia a linha N em modo compartilhado;
Na tabela DEPARTAMENTO, lê a coluna DESPESA da linha N;
Na tabela DEPARTAMENTO, desbloqueia a linha N;
Na tabela PROJETO, bloqueia a linha M em modo compartilhado;
Na tabela PROJETO, lê a coluna VERBA da linha M;
Na tabela PROJETO, desbloqueia a linha M;
Na tabela PROJETO, bloqueia a linha M em modo exclusivo;
Na tabela PROJETO, escreve a coluna VERBA da linha M com o valor VERBA + DESPESA;
Na tabela PROJETO, desbloqueia a linha M;

T2:
Na tabela PROJETO, bloqueia linha M em modo compartilhado;
Na tabela PROJETO, lê a coluna VERBA da linha M;
Na tabela PROJETO, desbloqueia a linha M;
Na tabela DEPARTAMENTO, bloqueia a linha N em modo compartilhado;
Na tabela DEPARTAMENTO, lê a coluna DESPESA da linha N;
Na tabela DEPARTAMENTO, desbloqueia a linha N;
Na tabela DEPARTAMENTO, bloqueia a linha N em modo exclusivo;
Na tabela DEPARTAMENTO, escreve a coluna DESPESA da linha N com o valor DESPESA + VERBA;
Na tabela DEPARTAMENTO, desbloqueia a linha N;

É correto afirmar que essas transações

Alternativas
Comentários
  • http://www.arquitecturadesoftware.org/blogs/hugoribeiro/archive/2006/10/16/sql-server-transactions-locking-4.aspx
  • http://postgresqlbr.blogspot.com/2007_05_01_archive.html- SERIALIZABLE - Fiel às características ACID, apresenta menor desempenho pois praticamente simula a execução sequencial de transações. A transação poderá ver apenas os dados já efetivados no banco antes do início da execução da transação. Isto é, não poderá por exemplo ler dados inseridos após o seu início.- REPEATABLE READ - Mais flexível, apresenta melhor desempenho em relação ao anterior. A transação poderá ler os mesmos dados várias vezes durante sua execução e o valor será o mesmo.- READ COMMITTED - Mais flexível e com melhor desempenho em relação ao anterior. A transação poderá ler os mesmos dados várias vezes durante sua execução e o valor lido será diferente caso o dado tenha sido atualizado por outra transação que tenha feito COMMIT explícito ou implícito.- READ UNCOMMITTED - Apresenta o melhor desempenho em relação às demais. No entanto não é fiel às características ACID. Neste caso a transação poderá ler os mesmos dados várias vezes durante sua execução e o valor lido será diferente caso o dado tenha sido atualizado por outra transação que tenha feito ou não COMMIT.
  • Essa questão é simples, basta lembrar dos princípios do protocólo 2PL“para toda transação Tx, todas as operaçõesde bloqueio de dados feitas por Tx precedema primeira operação de desbloqueio feita porTx”Como essas transações não respeitam o 2PL, não são serializáveis e consequentemente não podem ser executadas de forma concorrente.
  • não entendi essa questão, quando são serializáveis não quer dizer que não podem ser executadas concorrentemente?Mas a resposta diz "não são serializáveis e, portanto, não podem ser executadas concorrentemente"
  • Essa questão me parece tem relação com o conceito de Escalonamento (planos de execução) baseados em serialidade (serializability), conforme podemos ver a partir da página 407 do livro do Elmasri/Navathe (3a edição). O conceito de serialidade de escalonamentos (schedules) é usado para identificar se um plano S é correto quando há intercalação das operações executadas por duas transações. Se um plano de duas transações for serializável, então ele é correto, podendo ser utilizado. Um algorítimo para testar se os conflitos de um plano são sererializáveis consiste em (vide também http://en.wikipedia.org/wiki/Precedence_graph):

    • Para cada transação Ti participante do plano S, criar um nó (um círculo) rotulado Ti no grafo de precedência
    • Para cada caso em S em que Ti executar um ler_item(X) depois que uma Tj executar um escrever_item(X), criar uma seta (Tj —> Ti) no grafo de precedência
    • Para cada caso em S em que Ti executar um escrever_item(X) depois que Tj executar um ler_item(X), criar uma seta (Tj —> Ti) no grafo de precedência
    • Para cada caso em S em que Ti executar um escrever_item(X) depois que Tj executar um escrever_item(X), criar uma seta (Tj —> Ti) no grafo de precedência
    • O plano S será serializável se, e apenas se, o grafo precedência não contiver ciclos

    Os ciclos mencionados se referem à situação em que uma seta vai, por exemplo, de T1 para T2 e outra vai de T2 para T1. A questão não apresenta um escalonamento para as duas transações, mas podemos ver que o primeiro passo de cada uma delas é ler a variável que é escrita no final da outra. Isso claramente causa um ciclo que em qualquer escalonamento existirá, portanto o escalonamento não seria serializável e seria não é correto, não sendo possível executar as transações concorrentemente.

  • Segundo este comentário : "Essa questão é simples, basta lembrar dos princípios do protocólo 2PL “para toda transação Tx, todas as operações de bloqueio de dados feitas por Tx precedem a primeira operação de desbloqueio feita por Tx” Como essas transações não respeitam o 2PL, não são serializáveis e consequentemente não podem ser executadas de forma concorrente."

    Para ser serializáveis então a transação T1, por exemplo,  teria que ter os 3 bloqueios escalonados logo no início. Seria isso?

    Na tabela DEPARTAMENTO, bloqueia a linha N em modo compartilhado; 
    Na tabela DEPARTAMENTO, lê a coluna DESPESA da linha N; 
    Na tabela DEPARTAMENTO, desbloqueia a linha N; 
    Na tabela PROJETO, bloqueia a linha M em modo compartilhado;
    Na tabela PROJETO, lê a coluna VERBA da linha M;
    Na tabela PROJETO, desbloqueia a linha M; 
    Na tabela PROJETO, bloqueia a linha M em modo exclusivo; 
    Na tabela PROJETO, escreve a coluna VERBA da linha M com o valor VERBA + DESPESA; 
    Na tabela PROJETO, desbloqueia a linha M; 
  • A questão trata de controle de concorrência.
    O protocolo 2FL (two-phase locking- lock em duas fases, é uma das modalidades de protocolo para controle de concorrência por bloqueio (outros: binário e compatilhado). Este protocolo é definido por ter uma fase de expansão, onde ocorrem todos os bloqueios e uma fase de encolhimento onde ocorrem todos os desbloqueio. Durante a primeira fase não podem ser feitos desbloqueios, pois este representaria o início da segunda fase.
    Segundo esta característica do 2FL, as duas transações executam sequencialmente lock(x,s), leitura/escrita), unlock(). O que fere a regra do 2FL, assim os itens "b", "d", e "e" estão incorretos.
    A serialização refere-se a característica de duas transações que acessam os mesmos dados e geram o mesmo estado final no banco, sendo necessário garantir que os acesso se dêem de forma intercalada e gerem estados inconsistentes dos dados. As duas transações tratadas na questão, acessam as duas mesmas tabelas, contudo as operações de escrita e leitura são invertidas, tendo como resultado estados distintos no banco. Assim, não são serializáveis e não podem ser exeutadas concorrententemente,  sendo correto o item "a".
    Por não serem serializáveis e não podendo ser executadas concorrentemente não há como ser verdade o item "c".
  • b), d) e e) estão erradas de cara, porque as transações não obedecem ao bloqueio em duas fases. Para isso acontecer, deveria haver uma fase de expansão (bloqueios) e outra fase de encolhimento (desbloqueios). Ou seja: não poderia haver novos bloqueios depois que o primeiro desbloqueio fosse relaizado.

    c) está errada, pois afirma que as transações podem entrar em deadlock. Isto não é possível pois cada transação só ocupa um objeto por vez. Não fica com um objeto bloqueado e esperando liberação de um segundo objeto, o que caracterizaria um deadlock.

    Resta letra a), que é a alternativa correta mas é bem trabalhoso chegar a esta conclusão na hora da prova. Acho que por eliminação sai mais fácil mesmo.
  • Soh complementando o comentário do Redusa, de acordo com Navathe, 6a Ed. pg 527:

    cada T em um Schedule segue 2PL ---> Schedule é SERIALIZAVEL.

    Na Lógica Proposicional, teríamos:

    2PL -> SERIALIZAVEL (i)

    Assim, afirmar q:

    ~(2PL) ---> ~(SERIALIZAVEL)          ESTÁ ERRADO!!!

    2PL eh UMA  condição suficiente, mas não a única. Existe por exemplo a condição mais conhecida e simples do Grafo de Conflitos (adaptação minha de Navathe, 6a Ed. pg 517):

    "Suponha um Grafo com cada T sendo NOH e cada ARESTA DIRECIONADA sendo um par de operações em conflito (par de operacoes q obedecem: (1) sao d Ts diferentes (2) acessam o mesmo item X (3) pelo menos 1 das 2 operacoes é WRITE), sendo a origem da seta na transação q tem a 1a operação no tempo. Assim, temos que:
    NAO EXISTE CICLO ---->> SERIALIZAVEL"

    Entao, temos q:
    2PL           --> SERIALIZAVEL (i)
    ~(CICLO) --> SERIALIZAVEL (ii)

    Que, para termos de concursos, sao virtualmente as formas de se inferir serializabilidade.

    Se analisarmos a questão, veremos que há um CICLO no Grafo de Conflitos. Assim, temos:
    ~(2PL) E (CICLO)

    que, por Lógica Proposicional + i + ii :
    ~(2PL) E (CICLO))  ==  ~(2PL) E ~(~(CICLO)) --->  ~(SERIALIZAVEL)

    Assim, só restariam "a" e "c". Porém, não há deadlock pq, por definição de deadlock, para este existir, o sujeito tem q possuir previamente um bloqueio para um item e solicitar um bloqueio para outro. Como na questão não acontece esse tipo de coisa (sempre dps d um LOCK, existe um UNLOCK).

    Portanto, temos q o gabarito é "a"
  • O escalonamento é serializável se possuir ALGUMA escala em que o resultado seja igual ao escalonamento serial (uma executada após a outra). Como as duas transações mexem nos mesmos dados, porém em ordem inversa, as duas transações jamais podem ser serializáveis.
    Letra A!
  • Para mim a resposta correta seria a letra - C, pois se esta duas transações forem executadas concorrentemente, realmente poderia dar deadlock.

    A letra A esta errada, pois o 2PL prova que o escalonamento é serializável com base na equivalencia de conflito, mas caso não seja 2PL não implica que o escalonamento é não serializável. 

    Assim, afirmar q:

    ~(2PL) ---> ~(SERIALIZAVEL)  ESTÁ ERRADO!!!

  • Na letra A fala que não pode ser usado concorrentemente.

    Já que não ocorre deadlock, então porque não podem ser usadas concorrentemente?

    Também acredito que a mais correta é a letra C


ID
17977
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

No âmbito de banco de dados, que grafo de precedência representa um escalonamento que NÃO é serializável quanto ao conflito?

Alternativas
Comentários
  • Escalonamentos seriais
    • Um escalonamento de duas transações T1 e T2 é serial se todas as ações de T1 são
    executadas antes de todas as ações de T2 ou se todas as ações de T2 são executadas
    antes de todas as ações de T1
    • Todo escalonamento serial é válido
    Exemplo:
    T1: transferência de 100 reais da conta 0001 para a conta 0002
    EXEC SQL UPDATE conta SET saldo = saldo - 100 WHERE nrconta = 0001;
    EXEC SQL UPDATE conta SET saldo = saldo + 100 WHERE nrconta = 0002;
    EXEC SQL COMMIT;
    T2: transferência de 10% do saldo da conta 0001 para a conta 0002
    EXEC SQL SELECT saldo FROM conta WHERE nrconta = 0001 INTO :valor;
    valor := 0.1*valor;
    EXEC SQL UPDATE conta SET saldo = saldo - valor WHERE nrconta = 0001;
    EXEC SQL UPDATE conta SET saldo = saldo + valor WHERE nrconta = 0002;
    EXEC SQL COMMIT;
    Serializabilidade de conflito
    • Um escalonamento é serializável de conflito se puder ser transformado em um
    escalonamento serial através de trocas de posições de operações que nunca
    provoquem conflito (alteração no resultado do escalonamento)
    • As seguintes trocas de posição nunca provocam conflito:
    – Entre duas leituras de transações diferentes
    – Entre duas operações de transações diferentes sobre itens de dados diferentes
    • Todo escalonamento serializável de conflito é serializável (a recíproca não é
    verdadeira)

  • A opção c apresenta um grafo de precedência que não é serializável quanto ao conflito, pois, as operações T1 e T2 podem ocorrer na sequência de T1 para T2 e de T2 para T1, o que inviabiliza a serialização em caso de conflito.
  • Só ver o grafo que possui ciclo, este não é um escalonamento serializável.

ID
17986
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

No âmbito de bancos de dados distribuídos, seja T uma transação distribuída que deve ser efetivada (commited) segundo o protocolo de compromissamento de duas fases (two-phase commit). Sobre esse assunto, assinale a afirmativa INCORRETA.

Alternativas
Comentários
  • How the System Uses a 2-Phase Commit to Commit Transactions

    A 2-phase commit is an algorithm used to ensure the integrity of a committing transaction.

    To understand how this algorithm works, consider the following sample scenario. A group of six friends wants to rent a house for a one-week vacation. No member of the group can afford to pay more than one sixth of the rent; if any of the six cannot participate, then the house cannot be rented.


    In Phase 1 of this project, the organizer of the vacation contacts each person to verify availability and collect a sixth of the rent. If the organizer learns that even one person cannot participate, she contacts every member of the group, individually, to notify him or her that the house cannot be rented. If, however, each member of the group confirms availability and pays one sixth of the rent, the Phase 1 concludes successfully.

    In Phase 2 of the project, the organizer notifies each member of the group that the vacation will take place as planned.
    A 2-phase transaction commit works in much the same way as the vacation planning project.


    In Phase 1, the transaction coordinator contacts potential participants in the transaction. The participants all agree to make the results of the transaction permanent, but do not do so immediately. The participants log information to disk to ensure they can complete Phase 2. If all the participants agree to commit, the coordinator logs that agreement and the outcome is decided. The recording of this agreement in the log ends Phase 1.

    In Phase 2, the coordinator informs each participant of the decision, and they permanently update their resources.
  •  

    Two-Phase Commit:

    Este protocolo usa um processo especial, o coordenador.

    Os processos que deverão executar as ações são os participantes:

     

    O coordenador pode ou não ser participante. Se fôr, deverá executar quer seja como protocolo do coordenador quer seja como protocolo dos participantes.

    O protocolo envolve duas fases:

     

    Na primeira fase:

    O coordenador envia uma mensagem, VOTE-REQUEST, a cada um dos participantes, e espera pela resposta de todos os participantes.
    Cada um dos participantes emite um voto: ou VOTE-COMMIT ou VOTE-ABORT.

    Na segunda fase:

    O coordenador decide COMMIT se tiver recebido VOTE-COMMIT de todos os participantes, senão decide ABORT.
    Quando recebem a decisão do coordenador, os participantes atuam de acordo executando ou não as operações, e enviam um ACK.

     

     

  •  O erro está em "onde cada nó envia sua resposta a todos os outros nós."

    Cada nó envia sua resposta apenas para o coordenador.

  • Alguem pode explicar a letra "d" e "e" ?



    Agradeceria mto. abs !  
  • REDO (X): refaz a transação; uma transação que sofreu commit antes de uma falha, mas nem todas as atualizações foram gravadas no BD. É realizado um REDO até o último commit.
    UNDO (X): desfaz a transação; uma transação que começou a executar, mas não sofreu commit antes da falha, ela então é desfeita.
  • Questão MUITO MUITO BOA.

    Primeiro vamos a definição de 2PC.

    - TWO PHASE COMMIT/ CONFIRMAÇÃO EM DUAS FASES = Garante ATOMICIDADE, garante que uma transação em um BDD faça COMMIT/ROLLBACK de maneira sincronizada (ou todos fazem COMMIT ou todos fazem ROLLBACK).

    A = Ele ta DEFININDO 2PC

    B = Se ele é o coordenador ele pode fazer isso (ROLLBACK)

    C = ELES TEM QUE ENVIAR A RESPOSTA AO COORDENADOR. RESPOSTA DE COMMIT REALIZADO OU ROLLBACK REALIZADO.

    D = Observe que aqui é o NÃO COORDENADOR, Ele se recuperou de uma FALHA mas seu LOG apresenta COMMIT ou SEJA ele tem que confirmar e deve EXECUTAR O REDO (refazer).

    E = Observe que aqui é o NÃO COORDENADOR, Ele se recuperou de uma FALHA mas seu LOG apresenta ABORT ou SEJA ele tem que ABORTAR e deve EXECUTAR O UNDO (desfazer).

    GABARITO C


ID
27565
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considere as afirmativas abaixo sobre gerência de transações e indique a única correta.

Alternativas
Comentários
  • a) ERRADO: na leitura suja a transação lê valores escritos por uma transação que ainda NÃO foi confirmada.
    b) ERRADO: no read committed, é permitido visualizar apenas dados que já estejam inseridos.
    c) ERRRADO: rollback aborta a transação que está em andamento, impedindo que os as alterações nos dados nela realizadas sejam persistidos no banco de dados, não sendo possível "abortar algo já finalizado ("commitado")".
    d) CERTA
    e) ERRADO: O isolamento deve garantir que duas transações, executadas concorrentemente, devem ter o mesmo resultado se executadas em ordem serial. Há três fenômenos que infrigem o isolamento da transação: Leitura não Repetitiva, Leitura Suja e Leitura fantasma, sendo que o nível de isolamento seriável impede que esses fenômenos ocorram.
  • A) DIRTY READ, ou leitura suja, é a leitura que ocorre quando uma transação Alê um dado modificado por uma transação B antes da conclusão da transação B.

    B)READ COMMITED só permite que alterações feitas por uma transação A, após comitadas, sejam vistas por outras transações;

    C)Após um comando de COMMIT a transação não pode voltar ao seu estado incial;

    D)Correta

    E)Errado.  A consistência pode, por exemplo, ser atingida ao usar o nível de isolamento mais rigoroso - Serializable - que simula um comportamento em série ao escalonar as transações;

  • a) A leitura suja ocorre quando uma transação A lê um dado modificado pela transação B, antes que B termine, e a transação B termina com sucesso.

    R: Na verdade o Dirty read se dá quando se está lendo informações que ainda não foram comitadas, por uma transação B. Ou seja, a transação B pode ainda não ter acabado,mas, se ela der um commit nas suas modificações a Transação A poderá ver os dados quando fizer a leitura novamente. Isso em nada tem a ver com a transação B terminar antes ou depois de A.

    b) Se o nível de isolamento do banco de dados for read commited, as alterações realizadas por uma transação em um dado serão imediatamente vistas por outras transações, mesmo antes do término da primeira transação

    R: O erro está em dizer que as modificações serão vistas automaticamente, isso não é verdade pois a transação B precisa dar um commit para que A possa enxerga-las.

    c) Mesmo após a execução de um comando commit, é possível a uma transação retornar a seu estado inicial com a utilização de rollback.

    Isso não é possivel, pois fere o princípio da Consistência.

    d) Correta

    e) Em transações que ocorrem simultaneamente não existe qualquer garantia de que os dados lidos em um determinado momento são consistentes, independentemente do nível de isolamento utilizado.

    R: Isso não é verdade, a consistência ela se dá idependente do nível de isolamento. pois isso é Intrínseco ao Banco de Dados (ACID)


ID
27616
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Para a gerência de bloqueios em bancos de dados são feitas as afirmativas a seguir.

I - Um modo de prevenir a ocorrência de deadlocks (impasses) é fazer com que todas as transações bloqueiem antecipadamente todos os itens de que precisam: se qualquer um dos itens não puder ser bloqueado, todos devem ser liberados. Embora previna a ocorrência de deadlocks, essa solução limita o nível de concorrência no sistema.
II - Bloqueios binários são aqueles que permitem dois estados (ou valores): locked (bloqueado) e unlocked (desbloqueado). Os bloqueios binários são sempre do tipo exclusivo: nenhuma transação diferente da que obteve o lock pode acessar os dados bloqueados.
III - Bloqueios podem ser obtidos em itens do banco de dados de diferentes granularidades, como, por exemplo: registros, blocos, tabelas e, até mesmo, todo o banco de dados. Tendo em vista que os itens de diferentes granularidades formam uma hierarquia em forma de árvore, uma mesma transação pode obter diferentes tipos de bloqueios nos nós, ao longo do caminho da raiz (banco de dados) até um nó específico da árvore.
IV - O protocolo de bloqueio em duas fases (two-phase locking) é composto pelas fases: (i) de expansão (ou crescimento), onde bloqueios são obtidos, mas nenhum bloqueio pode ser liberado, e (ii) de encolhimento (ou retrocesso), onde bloqueios existentes são liberados, mas nenhum novo bloqueio pode ser obtido.
V - Quando uma transação T1 obtém um bloqueio exclusivo sobre um item, nenhuma outra transação poderá alterar o dado bloqueado, sendo possível apenas ler tal dado. Quando uma transação T1 obtém um bloqueio do tipo compartilhado, será possível a outras transações ler e alterar o dado bloqueado, sendo somente proibida a exclusão de tal dado.

Estão corretas apenas as afirmativas:

Alternativas
Comentários
  • II - Resposta : E

    • No método de lock binário, seja qual for o tipo de acesso (read ou write), apenas uma transação pode acessar um item de dado ao mesmo tempo.
    • Com o método de lock compartilhado/exclusivo o objetivo é permitir que mais de uma transação possa acessar o mesmo dado, ao mesmo tempo, para leitura (read), e apenas uma transação possa acessar para escrita (write).

    V - Resposta : E Basicamente todos os tipos de bloqueios nascem a partir de dois tipos principais: bloqueio compartilhado (S) e o bloqueio exclusivo (X), esta é uma classificação simplória, mas servirá ao propósito de facilitar o entendimento do processo. Ao receber um bloqueio do tipo compartilhado sobre um item de dados, uma transação garante a possibilidade de leitura, mas não de escrita sobre o item em questão. Ao receber o bloqueio do tipo exclusivo terá o direito tanto de leitura quando de escrita sobre o item de dados.

    As demais questões estão corretas.
  • Não entendi o porquê do item ii estar errado. Inclusive achei referências que confirmam que ele está certohttp://www.ic.unicamp.br/~thelma/gradu/MC526/turma-2006/Slides-aulas/Aula22-Controle_concorr.pdf
  • II - Só quem pode alterar o dado bloqueado é a transação que o bloqueou, mas é possível que outras leiam este dado. Por isso o ítem está errado. IV - São duas as fases. A de votação ou requisição de commit.- O coordenador manda uma mensagem de query to commit para todas as partes e espera as respostas;- As partes executam a query até o ponto onde ocorrerá o commit;- As partes escrevem entradas no seu log de undo e redo.- As partes respondem com uma mensagem de agreement dizendo sim para o commit ou abort caso contrário.A fase de commit ou completion- caso sucesso+ o coordenador manda mensagem de commit a todas as partes;+ cada parte completa a operação e solta o lock+ cada parte manda um ack para o coordenador;+ o coordenador completa a transação com a chegada de todos os acks.- caso falha+ o coordenador manda mensagem de rollback a todas as partes;+ cada parte desfaz a operação usando o log de undo e solta o lock+ cada parte manda um ack para o coordenador;+ o coordenador desfaz a transação com a chegada de todos os acks.
  • Achei a afirmativa II bem mal formulada. Tudo bem, podemos considerá-la errada por que misturou conceitos diferentes. Lock exclusivo/compartilhado com binário. O problema é talvez o português. Eu acertei a resposta, mas a afirmativa leva a gente a pensar que ele está comparando o tipo de bloqueio e neste sentido, na minha opinião, ela está correta. O bloqueio exclusivo não permite que nenhuma outra transação acesse o dado bloqueado e esta é a situação do dado bloqueado no bloqueio binário. A sutileza da frase está no trecho "é do tipo exclusivo".

    Acertei basicamente por que tinha certeza que a V estava errada e a I e IV corretas, mas se uma das opções de resposta fosse I, II e IV eu teria errado, pois estava em dúvida sobre a III.

    Digo que está mal formulada por que muita gente que entende o que a questão diz pode ter errado, portanto ela não mede se o respondente sabe e creio que isso é que deveria interessar às instituições.

    Abraços, Edu.

  • Realmente, péssima a formulação do item II.
    Com muita boa vontade dá pra aceitar, pois o termo "bloqueio exclusivo" não é usado pela técnica de bloqueio binário, apesar do conceito deste ser sempre o de um bloqueio exclusivo, pois somente a transação que bloqueou o item podem usá-lo.

    Mas pelo gabarito dá pra acertar por causa das alternativa I e IV.

ID
28594
Banca
CESGRANRIO
Órgão
DECEA
Ano
2006
Provas
Disciplina
Banco de Dados
Assuntos

Que propriedade do modelo ACID garante que uma transação é totalmente executada ou nenhum passo dela é executado?

Alternativas
Comentários
  • A atomicidade garante que uma transação ou ela é realizadfa com sucesso(COMMIT) ou ela é abortada (ROLBACK)
  • A ATOMICIDADE garante que uma transação é totalmente executada ou nenhum passo dela é executado.
  • Atomicidade - Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Qualquer ação que constitui falha na unidade de trabalho e a transação deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada (commit).

    Consistência - Nenhuma operação do banco de dados de uma transação pode ser parcial.O status de uma transação deve ser implementado na íntegra. Por exemplo, um pagamento de conta não pode ser efetivado se o processo que debita o valor da conta corrente do usuário não for efetivado antes, nem vice-versa.

    Isolamento - Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. Nenhuma outra transação, operando no mesmo sistema, pode interferir no funcionamento da transação corrente. Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento.

    Durabilidade - Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware

    http://pt.wikipedia.org/wiki/Banco_de_dados#Transa.C3.A7.C3.A3o
  • Segundo Date no livro introdução de sistemas de banco de dados:

    As transações são atômicas (tudo ou nada). Todas as operações da transação são refletidas corretamente no banco de dados, ou nenhuma delas.


  • a-

    Transacoes sao prcedimentos no banco de dados e imperceptiveis pelo usuario. A integraidade de uma transacao envolve 4 operacoes: ACID:

    Atomicidade- toda transacao nao pode ser feita pela metade. é tudo ou nada. 

    consistencia - restrições p/ garantir veracidade por chaves (primárias, candidatas, foreign, unique etc) e constraint checks. 

    isolamento - mesmo efeito com execução concorrente ou serial

    durabilidade- efeitos permanentes so alterados por transacoes especificas


ID
29119
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Atomicidade é uma propriedade de transação de um SGBD relacional que garante que

Alternativas
Comentários
  • Propriedades de uma transação: ACID. Atomicidade, Consistencia, Isolamento e Durabilidade.

    Atomicidade - Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Qualquer ação que constitui falha na unidade de trabalho e a transação deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada (commit).

    Consistência - Nenhuma operação do banco de dados de uma transação pode ser parcial.O status de uma transação deve ser implementado na íntegra. Por exemplo, um pagamento de conta não pode ser efetivado se o processo que debita o valor da conta corrente do usuário não for efetivado antes, nem vice-versa.

    Isolamento - Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. Nenhuma outra transação, operando no mesmo sistema, pode interferir no funcionamento da transação corrente. Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento.

    Durabilidade - Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.
  • Atomicidade : Qualquer operação deve ser executada por completo, caso contrário a ação é desfeita, comando conhecido como "rollback".
  • E-

    atomicidade: transação nao pode ser executada pela metade. é tudo ou nada. 

    consistencia - restrições para manter integridade dos dados. é quando se usam pk, fk, constraint checks etc

    isolamento- operações concorrentes nao podem afetar uma a outra. 

    durabilidade- dados salvos até que alguem os altere por update. 

  • Dá pra pegar muita gente desatenta! ATOMICIDADE É DIFERENTE DE ATRIBUTOS ATÔMICOS

  • Atomicidade: A Transação será feita completamente ou não será feita

  • eu marquei C, mas de fato, letra E está correta, visto que uma transação é feitas de várias operações.


ID
31072
Banca
FCC
Órgão
TRE-MG
Ano
2005
Provas
Disciplina
Banco de Dados
Assuntos

Para controlar a execução das transações, o SQL utiliza o comando

Alternativas
Comentários
  • O comando ROLLBACK desfaz a transação corrente, fazendo com que todas as modificações realizadas pela transação sejam rejeitadas.

    O comando COMMIT termina normalmente uma transação, efetuando todas as alterações feitas no banco de dados e fechando todos os cursores abertos.


    Rollback para desfazer as operações realizadas até o último comando Commit.
  • * COMMIT envia todos os dados das mudanças permanentemente.

    * ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou ROLLBACK sejam descartadas.
  • e-

    commit salva alterações.

    rollback cancela tudo o que foi feito apos o ultimo commit.

  • Comentários: (a) Errado. COMMIT não desfaz operações, ele confirma; (b) ROLLBACK desfaz operações realizadas e, não, confirmadas; (c) ROLLBACK desfaz operações realizadas e, não, confirmadas; (d) COMMIT não desfaz operações, ele confirma; (e) Correto. ROLLBACK desfaz operações realizadas (e ainda não confirmadas) até o último comando COMMIT (Letra E).


ID
32776
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Uma transação em um sistema de banco de dados pode ser descrita como uma unidade de execução de programa que acessa e, possivelmente, atualiza vários itens de dados. Para o gerenciamento de transações em sistemas de bancos de dados, assinale a afirmação correta.

Alternativas
Comentários
  • Para resolver esta questão vc deve ter bem claro o conceito de ACID em bancos de dados. ACID, significa:

    * A - Atomicidade
    * C - Consistência
    * I - Isolamento
    * D - Durabilidade

    Atomicidade

    Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação. Exemplos:

    * Ou todo o trabalho é feito, ou nada é feito.
    * Em uma transferência de valores entre contas bancárias, é necessário que, da conta origem seja retirado um valor X e na conta destino seja somado o mesmo valor X. As duas operações devem ser completadas sem que quaisquer erro aconteça, caso contrário todas as alterações feitas nessa operação de transferência devem ser desfeitas;

    Consistência

    Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados.

    Isolamento

    Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transação executada concorrentemente a outra deve ser o mesmo que o de sua execução de forma isolada. Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários.

    Ex: Duas transações executadas juntas.

    Transação Y altera o nome do cliente.
    Transação X altera o nome do mesmo cliente;

    Ao fazer insert, update ou delete enquanto a transação estiver em andamento todos os dados da tabela serão alocados para aquela transação, portanto a transação X só poderá ser executada após a conclusão da transação Y. Esta escolha é feita pelo banco de dados e ele executa primeiro uma transação depois a outra.

    Uma transação só pode ser simultânea se elas não alterarem os mesmos dados.

    Durabilidade

    Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas.
  • O que é execução entrelaçada???
  • Execução entrelaçada é a execução de comandos de duas ou mais transações concorrentemente. Ou seja, executar o comando da transação T1, depois da transação T2, depois voltar para T1, executar mais um comando de T1 e assim sucessivamente. Porém, devemos lembrar que essas transações devem ser serializáveis, ou seja, independente da ordem que T1 e T2 forem executadas, o resultado deve ser o mesmo que se elas tivessem sido executadas de forma serial.
  • Vamos aos erros presentes nas demais alternativas.

    Letra b:Um escalonamento é a ordem de execução de várias transações de forma concorrente, mas nunca entrelaçada.

    Errado, existem escalonamentos podem ser seriais e não-seriais.  Os seriais são aqueles em que as operações de cada transação são executadas consecutivamente, sem intercalação das operações de outra transação. Enquanto que, os planos não seriais são o oposto destes. Além disso, dentro dos não-seriais temos os  serializáveis, categoria que engloba as transações de forma concorrente entrelaçadas.

    NOTA: O conceito de serialidade de planos é usado para identificar quais planos são corretos quando há intercalação das operações das transações na execução dos planos.

    Letra C: Integridade não é uma das propriedades constantes na sigla ACID

    Letra D: 
    Mesmo após a execução de um comando commit, é possível a uma transação retornar a seu estado inicial com a utilização de rollback. Errado, após o commit não é possível dá o rollback das transações.

    Letra E: A partir do nivel de isolamento read commit já possuimos a garantia citada, portanto a questão esta errada

  • A letra A deve estar com erro de digitação, ainda não consegui entender o que está escrito. As demais estão erradas, acertei sem confiança


ID
43618
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

A execução de um conjunto de transações em um banco de dados é chamado de escalonamento. O critério para um escalonamento ser considerado correto é a(o)

Alternativas
Comentários
  • Uma trasação só pode ser executada de forma concorrente se for possível serializá-la, ou seja, sua execução ser equivalente a execução de transações de forma serial.
  • Modificações feitas por transações simultâneas devem ser isoladas das modificações feitas por qualquer outra transação simultânea. Uma transação reconhece os dados no estado em que estavam antes de outra transação simultânea tê-los modificado ou reconhece os dados depois que a segunda transação tiver sido concluída, mas não reconhece um estado intermediário. Isso é chamado serializabilidade porque resulta na capacidade de recarregar os dados iniciais e reexecutar uma série de transações de modo que os dados obtidos estejam no mesmo estado em que estavam depois que as transações originais foram executadas.
  • Transação é uma unidade lógica de trabalho. Trata-se de um conjunto de operações que devem ser processadas como uma unidade. A SERIALIZABILIDADE é um conceito que garante que um conjunto de transações, quando executadas concorrentemente, produzirão um resultado equivalente ao resultado produzido se estas transações fossem executadas uma após a outra (de foram serial). Portanto, a SERIALIZABILIDADE é um critério para que um escalonamento seja considerado correto.

  • a-

    In concurrency control of databases, transaction processing (transaction management), and various transactional applications (e.g., transactional memory and software transactional memory), both centralized and distributed, a transaction schedule is serializable if its outcome (e.g., the resulting database state) is equal to the outcome of its transactions executed serially, i.e. without overlapping in time.

    https://en.wikipedia.org/wiki/Serializability


ID
72064
Banca
CESGRANRIO
Órgão
IBGE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Considere as afirmativas abaixo sobre as transações em Sistemas de Bancos de Dados Relacionais.

I - A violação conhecida como leitura suja (dirty read) ocorre no nível de isolamento read committed.

II - Algoritmos com base em timestamp e bloqueios podem ser utilizados para a implementação de controle de concorrência.

III - A propriedade de atomicidade para transações distribuídas pode ser garantida pela implementação do algoritmo commit de duas fases.

Está(ão) correta(s) APENAS a(s) afirmativa(s)

Alternativas
Comentários
  • Atomicidade: A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha.Terminam com sucesso – COMMITSão todas desfeitas – ROLLBACK
  • 'Dirty read' ocorre no nível read uncommitted.
  • A 'dirty read' ou 'leitura suja' ocorre quando leitura de dados ainda não confirmados(antes de um commit ou rollback) é feita no banco. Esta situação ocorre somente quando o nível de isolamento do banco está ajustado para 'READ UNCOMMITED'.
  • I - ERRADO. Dirty Read ocorre quando o banco tem nivel de isolamento READ UNCOMMITED. Quando o nível é READ COMMITED podem acontecem Non-repeatable reads e phantom reads.http://en.wikipedia.org/wiki/Isolation_%28database_systems%29
  • dirty read (leitura suja) - A transação lê dados escritos por uma transação simultânea não efetivada (uncommitted). nonrepeatable read (leitura que não pode ser repetida) - A transação lê novamente dados lidos anteriormente, e descobre que os dados foram alterados por outra transação (que os efetivou após ter sido feita a leitura anterior). phantom read (leitura fantasma) - A transação executa uma segunda vez uma consulta que retorna um conjunto de linhas que satisfazem uma determinada condição de procura, e descobre que o conjunto de linhas que satisfazem a condição é diferente por causa de uma outra transação efetivada recentemente.
    Nível de isolamento Dirty Read Nonrepeatable Read Phantom Read Read uncommitted Possível Possível Possível Read committed Impossível Possível Possível Repeatable read Impossível Impossível Possível Serializable Impossível Impossível Impossível
    Fonte: http://pgdocptbr.sourceforge.net/pg80/transaction-iso.html

ID
73810
Banca
FGV
Órgão
SEFAZ-RJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

No funcionamento de um sistema de gerenciamento de banco de dados, uma situação de falha ocorre quando dois usuários tentam alterar, simultaneamente, um mesmo registro. Por exemplo, no caso de dois clientes de uma empresa de cartões de crédito tentarem realizar, num dado instante, a liquidação de um mesmo boleto da mesma fatura, um deles receberá uma mensagem de falha.

A situação descrita é conhecida por:

Alternativas
Comentários
  • Deadlock (blocagem, impasse), no contexto do sistemas operacionais (SO), caracteriza uma situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções, ou seja, ficam bloqueados. Trata-se de um problema bastante estudado no contexto dos Sistemas Operacionais, assim como em outras disciplinas, como banco de dados, pois é inerente à própria natureza desses sistemas.O deadlock ocorre com um conjunto de processos e recursos não-preemptíveis, onde um ou mais processos desse conjunto está aguardando a liberação de um recurso por um outro processo que, por sua vez, aguarda a liberação de outro recurso alocado ou dependente do primeiro processo.A definição textual de deadlock normalmente, por ser muito abstrata, é mais difícil de se compreender do que a representação por grafos, que será resumida mais adiante. No entanto, algumas observações são pertinentes:O deadlock pode ocorrer mesmo que haja somente um processo no SO, considerando que este processo utilize múltiplos threads e que tais threads requisitem os recursos alocados a outros threads no mesmo processo; O deadlock independe da quantidade de recursos disponíveis no sistema; Normalmente o deadlock ocorre com recursos como dispositivos, arquivos, memória, etc. Apesar da CPU também ser um recurso para o SO, em geral é um recurso facilmente preemptível, pois existem os escalonadores para compartilhar o processador entre os diversos processos, quando trata-se de um ambiente multitarefa. Um exemplo onde erros de deadlock ocorrem é no banco de dados. Suponha que uma empresa tenha vários vendedores e vários pontos de venda/caixas. O vendedor A vendeu 1 martelo e 1 furadeira. O sistema então solicita o travamento do registro da tabela ESTOQUE que contém o total de martelos em estoque e em seguida solicita o travamento do registro que contém o total de furadeiras em estoque. De posse da exclusividade de acesso aos dois registros, ele lê a quantidade de martelos, subtrai 1 e escreve de novo no registro, o mesmo com o registro de furadeiras. Observe, no entanto que existem diversos caixas operando simultaneamente de forma que se algum outro caixa naquele exato instante estiver vendendo um furadeira, ele ficará de aguardando a liberação do registro das furadeiras para depois alterá-lo. Note que ele só altera os registro depois que for dada exclusividade para ele de TODOS os recursos que ele precisa, ou seja, de todos os registro. Suponha agora que em outro caixa a venda foram vendidos 1 furadeira e 1 martelo e que o outro caixa solicitou o travamento do registro com a quantidade de furadeiras e agora quer o acesso ao de martelos, no entanto o de martelos está travado para o primeiro caixa. Nenhum deles devolve o recurso (registro) sobre o qual tem exclusividade e também não consegue acesso ao outro registro que falta para terminar a operação. Isto é um deadlock.
  • Achei a questão um pouco mal formulada. Marquei "Crashing" meio sem achar que teria uma boa resposta. Podemos ver, pelo comentário extenso do outro colega, que a situação de deadlock deixaria os dois processos bloqueados, cada qual aguardando a liberação de um recurso bloqueado pelo outro. Pelo enunciado isso claramente não foi o que ocorreu, pois ambos foram liberados, um com sucesso e outro com uma falha.

    Uma coisa que pode levar a este resultado são algoritimos de prevenção de deadlocks, que de fato não deixam que eles ocorram. A aplicação que recebeu a falha foi abortada por tal algoritimo, seja ele qual for (wait-for, wound-wait, timeout). Ao ser abortada, creio que pode se dizer que a transação sofreu um "crash".

    Enfim, deadlock, na minha visão talvez ainda pouco madura do assunto, é a situação de bloqueio mútuo, que não é descrita na questão.

  • Concordo com o Eduardo, para mim isso é apenas um lock. Nada de deadlock.
  • Concordo com os dois ultimos comentarios, realmente achei que fosse crashing, não me parecia deadlock pelos mesmos motivos dos amigos acima.


  • não é deadlock, deadlock os dois ficariam "presos", quando ele diz que um deles receberá mensagem nos faz inferior que o outro foi bem sucedido. Sendo assim, foi apenas um write-lock (eXclusive) que bloqueou o registro fazendo com que a segunda operação falhasse. Bom, eu pelo menos acho isso.


ID
102322
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de sistemas transacionais, julgue os itens a seguir.

As transações aninhadas devem ter a propriedade de ser serializáveis em relação aos seus pares, ou seja, o acesso a recursos compartilhados entre essas transações deve obedecer as regras de sincronização de read-write e write-write.

Alternativas
Comentários
  • Um "sistema de informação transacional" é o sistema de informação no qual os dados ficam armazenados em um sistema gerenciador de banco de dados (os mais famosos são o Oracle DB, Microsoft SQL Server e MySQL) e toda manutenção de dados é efetuada dentro de uma "transação", que ou grava todos os dados pertinentes ou, em caso de problemas, retorna ao estado anterior, garantindo assim que o banco de dados sempre permaneça em um estado de integridade (não permite gravar informações "pela metade").
  • Prezados,

    As transações aninhadas permitem um melhor controle no processamento de uma transação e permite o processamento concorrente de várias partes de uma mesma transação. Permite-se subdividir uma transação em várias subtransações, de tal forma que estas subtransações estejam vinculadas ao processamento da primeira.

    Para que duas transações sejam aninhadas elas devem ser "serializáveis", ou seja, as duas operações de cada transação devem rodar de forma equivalente a se elas fossem executadas em série, sem quaisquer operações entrelaçadas .

    Para atingir isso, uma transação não pode lockar recursos exigidos pela outra transação, ou se for lockar, que libere ele antes da outra transação iniciar o uso. Isso chamamos de sincronização de read-write  write-write.

    Portanto, questão correta.


    RESPOSTA: CERTO




ID
118834
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em relação à execução de uma transação em um banco de dados, considere:

Para que uma transação seja efetivada, todas as ações que compõem a respectiva unidade de trabalho devem ser concluídas com sucesso. Caso contrário, a ação que constituiu falha e a transação devem ser desfeitas.

A afirmação refere-se a uma das quatro propriedades da integridade de uma transação, denominada:

Alternativas
Comentários
  • As propriedades desejáveis de uma transação devem ser:• Atomicidade: Garantir que serão executadas até o fim;• Consistência - Devem levar o Banco de Dados de um estado consistentepara outro também consistente;• Isolamento - A execução de uma transação não deve ser prejudicada portransações concorrentes;• Durabilidade - As alterações realizadas por uma transação confirmadadevem ser persistidas no Banco de Dados.Estas quatro propriedades são usualmente referenciadas como ACID.ALTERNATIVA CORRETA : (A)
  • a-

    Atomicidade indica que uma opera;'ao deve ser feita inteira, ou, em caso de falhas, retornar ao estado inicial. Ou todos os passos sao executados, ou nenhum

  • Gabarito: A

     

    Conforme o princípio da atomicidade, caso ocorra erro em determinada transação, todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como se a transação nunca tivesse sido executada.


ID
121162
Banca
FCC
Órgão
AL-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Algumas das principais técnicas usadas para controle de execução concorrente de transações em bancos de dados são, em relação aos itens de dados, baseadas no conceito de

Alternativas
Comentários
  • Existem dois tipos de Bloqueios(lock)Lock implícito: gerado interna e automaticamente pelo banco.Lock explícito: gerado pelo próprio usuário, via comando SQL.
  • Existem três técnicas:
    bloqueio (lock)
    ordenação por timestamp
    Validação ou Certificação (Otimistas)
  • LETRA "E" CONFORME NAVATHE. CAGADO E CUSPIDO. SEGUE A FONTE PARA ESTUDO SENHORES.

    Segundo Navathe(2011,p.523),"Algumas das principais técnicas usadas para controlar a execução concorrente de transações são baseadas no conceito de BLOQUEIO de itens de dados."

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS-NAVATHE 2011-6 EDIÇÃO



ID
121606
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca dos mecanismos de segurança e controle de concorrência
dos sistemas de banco de dados, julgue os itens que se seguem.

Atomicidade, consistência, isolamento e durabilidade são propriedades fundamentais que devem ser apresentadas por uma transação de banco de dados.

Alternativas
Comentários
  • Segundo Date, as transações possuem (ou deveriam possuir!) quatro propriedades importantes, que são chamadas "propriedades ACID": Atomicidade, Correção, Isolamento e Durabilidade. Resumindo:

    Atomicidade: As transações são atômicas (tudo ou nada)

    Correção: As transações transformam um estado correto do banco de dados em outro estado correto, sem necessariamente preservar a correção em todos os pontos intermediários.

    Isolamento: As transações são isoladas uma das outras. Isto é, embora em geral haja muitas transações sendo executadas ao mesmo tempo, as atualizações de qualquer transação dada são ocultas de todas as outras até o COMMIT dessa transação.

    Durabilidade: Uma vez completado o COMMIT da transação, suas atualizações sobrevivem no banco de dados mesmo que haja uma queda subsequente do sistema.

     

    *Correção equivale a consistência em outras literaturas.

    (Introdução a sistemas de banco de dados, Date, C.J., pág 387)

  • GABARITO CORRETO!

    .

    .

    Atomicidade: Em uma transação envolvendo duas ou mais partes de informações discretas, ou a transação será executada totalmente ou não será executada, garantindo assim que as transações sejam atômicas.

    Consistência: A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

    .

    .

    NAVATHE

  • GABARITO CORRETO!

    .

    .

    ESSAS SÃO AS PRINCIPAIS CARACTERÍSTICAS QUE OS SGBDS HOJE EM DIA DEVEM FORNECER.

  • Atomicidade, consistência, isolamento e durabilidade são propriedades fundamentais que devem ser apresentadas por uma transação de banco de dados. (CORRETO)

  • Fala meu aluno(a)!

    Gabarito: CERTO.

    Professor, esse assunto cai muito em provas?

    R. Cai não, chove nas provas, kkkkkk. (É preciso entender, depois memorizar).

    Propriedades de Banco de Dados Chamado também de: (Transações).

    Qual a propriedade de Banco de Dados: ACID.

    Atomicidade

    Consistência

    Isolamento

    Durabilidade

    Atomicidade: Uma transação é uma unidade de processamento que deve ser realizada integralmente ou não é realizada (ou tudo ou nada).

    Consistência: Uma transação, após sua execução, deve levar o Banco de Dados de um estado consistente para outro estado consistente. A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

    Bons estudos.


ID
121609
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca dos mecanismos de segurança e controle de concorrência
dos sistemas de banco de dados, julgue os itens que se seguem.

O isolamento de uma transação é uma propriedade que garante que a transação seja encarada como uma unidade atômica de trabalho: ou todas as suas modificações de dados são executadas ou nenhuma delas é executada.

Alternativas
Comentários
  • Aquestão está errada, gabarito incorreto.

     

    Isolamento faz referência ao bloqueio de acesso as informações que estão sendo escritas e/ou atualizadas. É o controle de concorrência.

  • Olá, pessoal!

    A banca manteve a resposta como "C", conforme a divulgação do Edital de Alteração de Gabaritos, postado no site.

    Bons estudos!

  • Não vejo problemas com essa questão! O isolamento garante a atomicidade que é a definição aprensentada.

  • Atomicidade e isolamento são duas propriedades diferentes. Uma se refere à transação ser executada como uma unidade indivisivel (atômica) e outra trata a individualidade das transações, a banca manter uma questão como essa como correta só prova que suas questões são copia e cola de textos da internet.
  • Pense em uma pegadinha GIGANTE. Eu nunca colocaria como certa essa questão. É muito subjetiva. Não se pode adivinhar o que realmente estava na cabeça do avaliador.


    O que o avaliador quis dizer foi que a propriedade de isolamento de uma transação "garante" a propriedade de atomicidade. Depois apenas definiu o conceito de atomicidade para confundir mais ainda o candidato.


    Não sei a lógica de selecionar um candidato dessa forma. Quem realmente sabe, erra; e quem não sabe, acerta. Seria infinitamente melhor cobrar o conceito corretamente, sem pegadinhas. O importante é saber se a pessoa sabe ler, ou se a pessoa sabe ler de cabeça para baixo no escuro?

  • São dois conceitos distintos. Atomicidade é diferente de isolamento.

    Na seção 21.3 do livro do Navathe 6ª Edição, temos que a questão se refere ao conceito de Atomicidade, e não de Isolamento.

    • A integridade de uma transação depende de 4 propriedades, conhecidas como ACID.
      AtomicidadeTodas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Se durante a transação qualquer ação que constitui unidade de trabalho falhar, a transação inteira deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada e persistida em banco (commit).

      ConsistênciaTodas as regras e restrições definidas no banco de dados devem ser obedecidas. Relacionamentos por chaves estrangeiras, checagem de valores para campos restritos ou únicos devem ser obedecidos para que uma transação possa ser completada com sucesso.
      IsolamentoCada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. O principio é que nenhuma outra transação, operando no mesmo sistema, possa interferir no funcionamento da transação corrente(é um mecanismo de controle). Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento (ainda em respeito à propriedade da atomicidade).

      DurabilidadeSignifica que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.

      https://pt.wikipedia.org/wiki/Banco_de_dados

  • Aquestão está errada, gabarito incorreto.

    o isolamento diz que as modificações feitas por uma transações simultâneas devem ser isoladas das modificações feitas por qualquer outra transação. 

  • QUE burro! da zero para ele!

  • Se essa questão estiver certa, a morte é uma incerteza

  • prefiro morrer a ter que responder essa questao como certa

  • Dilma, vem olhar um negócio aqui!!!

  • Isolatomicidade

  • "Se vc errou, fique tranquilo porque você acertou." Dilmei

  • Péssimo dia hj!

  • Que porr@

  • Observei que alguns colegas bem intencionados comentaram que não há erro na assertiva porque o que o avaliador está afirmando, na prática, é que a propriedade de isolamento garantiria a propriedade de atomicidade, considerando o trecho destacado a seguir:

    "O isolamento de uma transação é uma propriedade que garante que a transação seja encarada como uma unidade atômica de trabalho".

    O argumento é coerente, porém achei válido verificar o que a bibliografia nos diz sobre o assunto. Segundo R.Elmasri e S.B.Navathe, na Seção 20.3, "Propriedades desejáveis das transações", do livro "Sistemas de Banco de Dados" - 7ª Ed.:

    "A propriedade de atomicidade exige que executemos uma transação até o fim. [...] Se uma transação não for completada por algum motivo, como uma falha no sistema no meio da execução da transação, a técnica de recuperação precisa desfazer quaisquer efeitos da transação sobre o banco de dados."

    Minha compreensão do conteúdo pode ser limitada, dado que eu não sou especialista em banco de dados, mas entendo que a propriedade isolamento, pura e simplesmente, não assegura que não possam ocorrer falhas durante a execução da transação. Ela simplesmente evitar que a execução de uma transação interfira em outra, ainda que ambas estejam sendo executadas simultaneamente, e, de fato, se uma transação interferisse na execução de outra, a atomicidade poderia ser prejudicada. Uma sugestão de correção para a assertiva seria, portanto:

    "O isolamento de uma transação é uma propriedade que contribui para que a transação seja encarada como uma unidade atômica de trabalho".

    Dessa forma, sustento que o gabarito está incorreto. Logo, a assertiva estaria errada.


ID
126856
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Considere os seguintes tipos de bloqueio utilizados em um sistema de banco de dados, sendo T uma transação que solicitou um bloqueio do tipo indicado sobre a RelVar (variável relacional) R:

. IC: T tem a intenção de definir bloqueios do tipo C sobre tuplas individuais em R, a fim de garantir a estabilidade dessas tuplas enquanto elas estiverem sendo processadas.
. IX: Igual a IC, além disso, T poderia atualizar tuplas individuais em R e, dessa forma, definir bloqueios do tipo X sobre essas tuplas.
. C: T pode tolerar leitores concorrentes, mas não atualizadores concorrentes em R (a própria T não atualizará quaisquer tuplas em R).
. ICX: Combina C e IX, isto é, T pode tolerar leitores concorrentes, mas não atualizadores concorrentes em R. Além disso, T poderia atualizar tuplas individuais em R e, por isso, definir bloqueios do tipo X sobre essas tuplas.
. X: T não pode tolerar qualquer acesso concorrente a R. A própria T poderia ou não atualizar tuplas individuais em R.

Se uma transação A mantém um determinado tipo de bloqueio sobre uma RelVar R qualquer e uma transação distinta B emite uma requisição de bloqueio sobre R que não pode ser satisfeita imediatamente, temos um conflito; caso contrário, temos uma compatibilidade. Uma compatibilidade ocorre, portanto, quando A mantém um bloqueio do tipo

Alternativas
Comentários
  • Muita sigla só para confundir. Muita calma nessa hora :)a) C sobre R e B emite uma requisição do tipo IX.A está usando C sobre R, ou seja, outras transações podem ler a tabela mas A impede que ela seja atualizada. Nem mesmo A pode atualiza-la. Isso é o que está escrito na definição C. Logo, chega B e emite uma requisição IX. IX "pode atualizar tuplas". Opa! Isso A não deixa. ERRADOb) X sobre R e B emite uma requisição do tipo IC.A está usando X sobre R. Nesse caso, segundo definição de X, A pode fazer o que quiser em R, mas não deixa nenhuma outra transação chegar perto (nem pra ler!). Portanto, nem vou tentar saber o que B vai fazer. ERRADOc) IC sobre R e B emite uma requisição do tipo ICX.A usa IC sobre R. IC nada mais é do que C, porém ao invés de operar sobre a tabela (relação) toda IC tem flexibilidade de operar sobre linhas (tuplas) individuais. Aí chega B e pede ICX. ICX nada mais é que C (bloquea a tabela toda para escrita e permite leituras concorrentes) e IX (permite atualizar tuplas especificas). Ou seja, B tranca a tabela toda para alterações e libera somente tuplas especificas para alterações realizads pela própria B. Aqui vemos que se A estiver operando sobre tuplas diferentes de B, não teremos conflitos. CORRETOd) IX sobre R e B emite uma requisição do tipo C.A está usando IX. Neste caso, tuplas individuais estão bloqueadas sendo alteráveis somentes por A. Chega B e pede a tabela toda para si (tipo C) impedindo qualquer outra transação de alterá-la. Isso conflita com as intenções de A. Portanto ERRADOe) ICX sobre R e B emite uma requisição do tipo X.Aqui basta ver que B quer X, ou seja, ninguém pode alterar. Portanto conflita com A que está usando ICX. ERRADO.
  •     T2
        IC IX C ICX X
    T1 IC Sim Sim Sim Sim Não
    IX Sim Sim Não Não Não
    C Sim Não Sim Não Não
    ICX Sim Não Não Não Não
    X Não Não Não Não Não

ID
137053
Banca
FGV
Órgão
Senado Federal
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere as seguintes afirmativas a respeito das propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade) de uma transação T de banco de dados:

I. A atomicidade garante que todos os efeitos da transação T sejam integralmente refletidos no banco de dados ou que, em caso de falha, nenhum deles seja aceito.
II. A consistência garante que, se o banco de dados estiver inicialmente em estado inconsistente, a execução da transação T, por si só, é capaz de deixar o banco de dados em um estado consistente.
III. O isolamento garante que a execução da transação T seja isolada da execução de quaisquer outras transações simultâneas, de modo a evitar que o banco de dados venha a assumir um estado inconsistente.
IV. A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução.

Assinele:

Alternativas
Comentários
  • A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução.-> Nem todas as atualizações, só as transações que receberam COMMIT.

  • II. A consistência garante que, se o banco de dados estiver inicialmente em estado inconsistente, a execução da transação T, por si só, é capaz de deixar o banco de dados em um estado consistente. 
    FALSO - Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados.

    IV. A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução.
    FALSO - Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas.
  • Conceito de Transação:
    São coleções de operações q formam uma única unidade lógica de trabalho.
    Várias operações no banco podem parecer uma só pro usuario. P ex.: Transferencia de dinheiro entre contas. Mas no banco são várias operações(q, juntas, são a transação). E é desejável q ou todas completem com sucesso, ou nenhuma. 

    Para garantir a integridade dos dados, é necessário q o sistema de bd mantenha as seguintes propriedades das transações:
    A-tomicidade: tdas as operacoes da transaçao são refletidas no bd, ou nenhuma será.
    Ex.: a operação de transferir $40 do Bradesco(q possui $100 na conta) pro Banco do Brasil(q tem $60) pode ser descrita nas operações:

    Leia(Brad) = 100;
    Brad = 100 -40;
    Escreva(40);

    Leia(BB) = 60;
    BB = 60 + 40;
    Escreva(100).

    Se faltasse anergia apos escrever o novo valor de Brad, o sistema entraria em estado inconsistente, pois o dinheiro nao foi creditado no banco do brasil. Sendo assim, é desejável q todas as operações terminem com sucesso, ou sejam desfeitas.

    C-onsistencia: a execução d uma transação isolada preserva a consistencia do bd. Ou seja, se o bd tiver em estado consistente, a execução de uma transação faz continua-lo consistente. Ou seja, se o banco tava consistente, execução da transação Brad/BB deve manter essa consistencia.

    I-solamento: cada transaçao nao esta ciente das outras executando simultaneamente. Ela pensa q iniciou ou terminou antes/depois, d outra.
    D-urabilidade: depois q uma transação for completada, as mudanças persistem, mesmo em caso de falhas.
    Traduzindo: Brad nao sabe q BB vai adicionar o valor q ele ta subtraindo da conta

    Tendo colocado esses conceitos, vamos as questoes:

    I. A atomicidade garante que todos os efeitos da transação T sejam integralmente refletidos no banco de dados ou que, em caso de falha, nenhum deles seja aceito. Certo!
     
    II. A consistência garante que, se o banco de dados estiver inicialmente em estado inconsistente, a execução da transação T, por si só, é capaz de deixar o banco de dados em um estado consistente. Errado!
     
    III. O isolamento garante que a execução da transação T seja isolada da execução de quaisquer outras transações simultâneas, de modo a evitar que o banco de dados venha a assumir um estado inconsistente.
    IV. A durabilidade garante que as atualizações promovidas pela transação T no estado do banco de dados sejam sempre mantidas, mesmo que ocorra uma falha no sistema durante a sua execução. Errado!
    Como visto, se ocorrer falhas durante a execução, as mudanças devem ser revertidas(rollback)
     



  • Os items II e IV estão incorretos.

    No item II, o erro é dizer que a transação é capaz de levar o banco de dados de um estado inconsistente a um estado consistente. O correto é dizer que as transações devem levar o banco de dados de um estado consistente a outro estado consistente.

    Já no item IV, o erro é dizer que a durabilidade garante a permanência dos resultados da transação mesmo no caso de falha. Isso seria uma contradição com a atomicidade, não é? A durabilidade diz que os resultados das transações completadas com sucesso que devem permanecer no BD.

  • I. Atomicidade: Uma transação precisa sempre terminar com uma operação de efetivação ou de reversão;

    II. Consistência: Processar uma transação nunca pode resultar em perda de consistência no banco de dados;

    III. Isolamento: Mesmo quando transações são processadas simultaneamente, os resultados precisam ser os mesmos de um processamento sequencial;

    IV. Durabilidade: O conteúdo de uma transação completa não pode ser afetado por falhas.

  • II = CONSISTENTE PARA CONSISTENTE

    IV = SÓ QUEM RECEBEU COMMIT

    GABARITO D


ID
137062
Banca
FGV
Órgão
Senado Federal
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Sabe-se que os sistemas de gerenciamento de banco de dados utilizam um mecanismo de bloqueio (lock) para controlar acessos concorrentes a um mesmo item de dados. Esse mecanismo suporta dois tipos distintos de bloqueio:

1. bloqueio exclusivo (lock-E), no qual o dado pode ser lido ou escrito; e
2 bloqueio compartilhado (lock-C), em que o dado pode ser lido, mas não escrito.

Considere uma situação em que uma transação T espera por um lock-E em um determinado item de dado, enquanto uma seqüência de outras transações requer e adquire um lock-C para o mesmo item de dado. Nesse caso, é correto afirmar que:

Alternativas

ID
137185
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

O sistema de vendas de uma empresa foi desenvolvido segundo a arquitetura cliente-servidor de banco de dados em duas camadas. Que parte é responsável pelo gerenciamento das transações?

Alternativas
Comentários
  • Como o próprio enunciado afirma: "arquitetura cliente-servidor de banco de dados em duas camadas."
    1ª Camada -
    Cliente, programa instalado nas máquinas dos usuários.
    2ª Camada - Servidor de Banco de Dados, que é responsável pelo Gerenciamento das Transações.


ID
137191
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Em determinada reunião técnica sobre a construção de um sistema de informação distribuído, foram feitas as afirmativas a seguir sobre o protocolo two-phase commit.

I - Uma transação somente é confirmada (committed) se todos os participantes concordarem e estiverem prontos para realizar o commit.
II - O protocolo garante que todos os participantes da transação distribuída podem confirmar ou abortar seu trabalho.
III - Durante a segunda fase, o coordenador informa a todos os participantes sobre a decisão e confirma ou aborta a transação.

Está(ão) correta(s) a(s) afirmativa(s)

Alternativas
Comentários
  •  I - CORRETO: Essa é a idéia básica do two-phase commit(2PC), confirmar apenas se todos estiverem de acordo.

    II - CORRETO: Uma das premissas do 2PC é que existe um coordenador da transação distribuída que irá se comunicar com os demais nós a respeito da confirmação da transação, se apenas um deles disser que não a transação será abortada, do contrário, se o coordenador obtiver apenas confirmações positivas a transação será confirmada(commit) e os demais nós serão avisados pelo coordenador para persistência da mesma em memória estável

    III - CORRETO: Na primeira fase os nós coordenados preparam o envio da mensagem para o coordenador se é possível efetivar a transação. Durante a segunda fase o coordenador já recebeu a informação de todos os nós sobre a efetivação da transação e ele irá decidir se enviará um commit(caso todas as confirmações sejam positivas sobre a efetivação da transação) ou abort(caso pelo menos uma confirmação seja negativa)

  • COMMIT EM DUAS FASES


    1ª Fase: todos os nós participantes da transação sinalizam ao coordenador que sua parte da transação foi realizada. O coordenador envia uma mensagem preparar “para commit”. Cada nó fará uma gravação forçada em disco de todos os registros de log e informações necessárias para recuperação local, e em seguida envia um sinal “OK” ao coordenador, caso contrário envia um sinal “não OK”. Na falta de uma resposta o coordenador considera o nó “não OK”.
     
    2ª Fase: se todos os nós respondem “OK’ e o voto do coordenador também for “OK”, a transação foi bem sucedida e o coordenador envia um sinal “commit” para os nós, caso contrário, a transação falhou e o coordenador envia uma mensagem para “rollback”. Neste caso a transação será desfeita utilizando-se os arquivos de log.


    COMMIT EM TRÊS FASES

    1ª Fase: o coordenador envia uma mensagem “canCommit” para os nós e passa para o estado “waiting”. Os nós respondem com “OK” ou “não OK”.

    2ª Fase: se o coordenador receber alguma mensagem “não OK” a transação é abortada e manda a mensagem “abort” para os nós que passam para o estado “abort”. Caso contrário o coordenador envia a mensagem “preCommit” para os nós e estes passam para o estado “prepared”.

    3ª Fase: o coordenador recebe o “OK” de todos os nós e todos passam para o estado “commit”, caso contrário aborta a transação

ID
137206
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Para que as chaves estrangeiras sejam avaliadas somente ao final de uma transação (no momento do COMMIT), que propriedade pode ser aplicada em uma restrição (constraint)?

Alternativas
Comentários
  • DEFERRABLE:  Controlam se as restrições podem ser postergadas. Uma restrição que pode ser postergada é verificada no final da transação.
  • a)A instrução 'ALTER TABLE ADD CONSTRAINT' pode criar uma restrição de chave estrangeira habilitada ou filtrada em um modo NOVALIDATE. Os modos de restrição NOVALIDATE impedem que o servidor do banco de dados verifique se o valor da chave estrangeira em cada linha corresponde a um valor de chave primária na tabela referenciada enquanto a restrição referencial está sendo criada.

     

    b)No gerenciamento de banco de dados, um campo que não possui valores é chamado de anulável. Dependendo do aplicativo, nullable também pode ser chamado de referência nula ou objeto nulo.

     

    c) DEFERRABLE:  Controlam se as restrições podem ser postergadas. Uma restrição que pode ser postergada é verificada no final da transação.

     

    d)A instrução EXECUTE IMMEDIATE executa uma declaração SQL dinâmica ou um bloco PL / SQL anônimo. Você pode usá-lo para emitir instruções SQL que não podem ser representadas diretamente no PL / SQL, ou para criar declarações onde você não conhece todos os nomes das tabelas, ONDE cláusulas, e assim por diante com antecedência.

     

    e)NOT NULL - Garante que a coluna não pode ter um valor NULL

     


ID
137218
Banca
CESGRANRIO
Órgão
Casa da Moeda
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Em determinada transação de um sistema de contabilidade, as chaves estrangeiras devem ser avaliadas somente no COMMIT dessa transação. Que propriedade pode ser aplicada em uma restrição (constraint) para atingir esse comportamento?

Alternativas
Comentários
  • DEFERRABLE ou NOT DEFERRABLEEstas cláusulas controlam se as restrições podem ser postergadas. Uma restrição que não pode ser postergada é verificada imediatamente após cada comando. A verificação das restrições que são postergáveis pode ser adiada para o final da transação (usando o comando SET CONSTRAINTS). O padrão é NOT DEFERRABLE. Somente restrições de chave estrangeira aceitam esta cláusula no momento. Todos os outros tipos de restrição não são postergáveis.

ID
147715
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

A classificação das propriedades ACID, em transações de BD, significam

Alternativas
Comentários
  • Atomicidade - Indivisível. Transação executada totalmente ou não executada.
    Consistência - O Banco continuará consistente.
    Isolamento - Sem interferência de outra Transação.
    Durabilidade - Uma vez salvo, não será mais perdido.

ID
148333
Banca
FCC
Órgão
TRT - 16ª REGIÃO (MA)
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Um bloco de transações SQL é iniciado com BEGIN TRANSACTION e deveria executar três transações sequencialmente, porém, na segunda transação ocorre uma falha geral no sistema, o que executará

Alternativas
Comentários
  • Não entendi. :( . Alguém poderia explicar?
  • Cara... tipo ou as 3 transações que estão dentro do bloco begin transaction / end transaction são executadas ou nenhuma delas.
    Respeitando a propriedade da ATOMICIDADE!!!
  • Eu pensava que volteria para o início da segunda transação, já que ela foi executada, mas volta mesmo pro inicio do bloco. Blz, tá aprendido! :)
  • Para a operação voltar a partir da segunda transação seria necessário ter feito um COMMIT depois da primeira transação, mas isso não é falado explicitamente. Pegadinha...
  • Errei esta questão com convicção! Aí fui tentar entendê-la melhor, então a situação ficou ainda pior!. Ocorre o seguinte: as operações manipulam uma transação são:
    1- BEGIN-TRANSACTION: marca o início de uma transação;
    2- READ OU WRITE: especificam operações de leitura ou gravação em itens de bancos de dados;
    3- END_TRANSACTION: especifica que as operações de read e write terminaram.
    4- COMMIT: indica que as alterações efetuadas pela transação poderão ser efetivadas, pois elas já foram testadas e foram aprovadas;
    5- ROLLBACK: indica que as alterações efeturadas pela transação deverão se desfeitas, pois não foram aprovadas, algo deu errado.
    Em um plano de execução podem existir várias transações intercaladas. Nesse caso (intercaladas), por exemplo, um BEGIN_TRANSACTION de uma transação pode ocorrer, seguido de READs e WRITEs, uma outra transação inicia, executa seus READs e WRITEs etc. No final do plano de execução os COMMITs das várias transações podem ser executados. Se esse fosse o caso, até faria sentido o que afirma a questão, tendo em vista que expressamente nenhum COMMIT foi anunciado. Mas a questão diz explicitamente que as transações são SEQUENCIAIS. Eu entendi Isso da segunte forma: a primeira transação inicia e é efetivada (COMMIT), a segunda inicia e é efetivada, a terceira inicia e é efetivada, necessariamente nessa ordem. Portanto, concluo que se durante o processamento do plano (serial) citado na questão houve uma falha durante a segunda transação, a primeira transação já havia sido efetivada. Somente sendo executado o ROLLBACK da segunda transação.
    Não consegui ver o porquê da questão ter sido considerada correta.

ID
159031
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de arquiteturas de aplicações cliente-servidor e para
a Internet, julgue os próximos itens.

Para recuperar-se de falhas que afetam transações, um SGBD pode manter um log, de modo a controlar as operações da transação que afetem valores dos itens do banco de dados. Quando de uma falha, o SGBD deve buscar, no log, as transações T com registro [start_transaction,T], mas que não tenham o registro [commit,T]. Essas transações serão revertidas (rollback), de modo a possibilitar que seus efeitos sejam desfeitos no banco de dados.

Alternativas
Comentários
  • Sem pegadinhas - Definição Perfeita.
  • Segundo Silberschatz essa técnica é a modificação imediata no banco de dados, que permite que as modificações sejam enviadas ao BD enquanto a transação ainda está no seu estado ativo. Na ocorrência  de uma falha, o sistema precisa usar o campo 'valor antigo' dos registros de log para restaurar os itens de dados (rollback) moficidados para o valor que tinham antes do início da transação; tarefa feita pela operação undo.


    Portanto, questão correta.


    Bons estudos.


    Referência:
    Sistema de Banco de Dados / A. Silberschatz, H. Korth, S. Susarshan. Elsevier, 2006.
  • Para complementar o conceito de recuperação.

    Se após a falha o SGBD localizar registro de Star e Commit, a transação será refeita(redo).

    fonte: Sistemas de Banco de Dados - Silberschatz, Korth e Sudarshan.

    Bons estudos.
  • Complemento nas palavras de Navathe

    Segundo Navathe(2011,p.507),"Se houver uma falha no sistema, podemos pesquisar de volta no log para todas as transações T que gravaram um registro [start_transaction, T] no log, mas ainda não gravaram seu registro [commit, T]. Essas transações podem ter de ser descartadas(rollback) para desfazer seu efeito sobre o banco de dados durante o processo de recuperação."

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS- 6 EDIÇÃO 2011- NAVATHE

  • Certinho.

    Todas as alterações em uma transação ativa são gravados no log de UNDO (arquivo em memória estável), pois em caso de falha a transação poderá ser desfeita (desfeita pois ainda não foi dado COMMIT). Quando a transação for dado COMMIT, as alterações desta transação serão transferidos para uma outra área, também em memória estável (disco), chamado REDO. Nesta área, se houver alguma falha no banco, a transação poderá ser refeita.


ID
164677
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca das transações realizadas em um Banco de Dados, assinale a afirmativa incorreta.

Alternativas
Comentários
  • Alguém pode dizer porque esta assertiva está incorreta "a)As transações controlam melhor apenas a concorrência.". Qual ou quais seriam os outros aspectos que as transações controlariam. Seria isolamento. Mas o isolamento não faz parte do controle de concorrencia?

  • Transação não controla concorrência, esse é um trabalho para o SGBD. 
    A transação é o que o item B diz ser, uma unidade de trabalho dentro de um SGBD.
  • O controle das transações tem como objetivo garantir ACID (atomicidade, consistência, isolamento e durabilidade).
  • nossa... que questão mal formulada... pelo amor da minha mãe

  • A transação não controla apenas a concorrência (acesso de multi-conexões), pois é possível existir uma aplicação com acesso de um único usuário (sem concorrência) e utilizar a transação por exemplo quando uma tarefa necessita da inserção de um item em uma tabela A e depois de uma inserção em outra tabela B.

    Se a conexão cair ou o servidor desligar quando tiver realizada a inserção na tabela A e não na B, há uma erro de inconsistência. A transação teria que ser na A e na B necessáriamente. (atomicidade -> tudo ou nada)

  • Mas, genteee, o que eh isso? Controle de concorrência é tarefa do SGBD, não da propria transação! Pelamorrrr....

    Segundo[1], uma transação é um programa em execução ou processo que inclui um ou mais acessos ao banco de dados, como a leitura ou atualização de seus registros. O SGBD precisa impor várias propriedades da transação. As transações devem possuir várias propriedades, normalmente chamadas propriedades AC1D; elas devem ser impostas pelos métodos de controle de concorrência e recuperação do SGBD.

    Fonte:

    [1] E&N, SBD


ID
171301
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

No que diz respeito ao acesso a banco de dados em Java, o controle de transações pode ser feito por funções. Assim, para confirmar uma transação no BD e para cancelar as alterações da transação, são utilizadas, respectivamente, as seguintes funções:

Alternativas
Comentários
  • Commit - Comando que grava definitivamente os efeitos dos comandos de uma transação.

    Rollback - Comando que desfaz os efeitos dos comandos da transação.

  • Finalização de uma Transação

    

    Commit Transaction

    Encerramento da transação com sucesso;

    Torna as atualizações permanentes;

    

    Rollback Transaction

    Término de transação com erro;

    Retorna o banco de dados à posição anterior à Transação;

  • commit fecha a transação.

    rollback faz o rollback (retorna ao estado anterior).

    Commit & rollback tb sao usados no sql plus do oracle com a mesma função.


ID
171679
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em relação aos conceitos e às características de um banco de dados,
julgue os itens subsequentes.

Uma transação é uma unidade lógica de trabalho que tem, como uma de suas propriedades, a atomicidade. Segundo essa propriedade, as atualizações de qualquer transação são ocultas de todas as outras até o seu commit.

Alternativas
Comentários
  • Errado.

    Atomicidade:

    Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação. Exemplos:

    • Ou todo o trabalho é feito, ou nada é feito.
    • Em uma transferência de valores entre contas bancárias, é necessário que, da conta origem seja retirado um valor X e na conta destino seja somado o mesmo valor X. As duas operações devem ser completadas sem que qualquer erro aconteça, caso contrário todas as alterações feitas nessa operação de transferência devem ser desfeitas;
  •  Propriedades ACID

    A questão fala do isolamento, mas cita a atomicidade, básico para confundir o candidato.

  • Propriedades fundamentais de banco de dados: ACID

    Atomicidade
    A propriedade de atomicidade garante que as transações sejam atômicas (indivisíveis). A transação será executada totalmente ou não será executada.

    Consistência
    A propriedade de consistência garante que o banco de dados passará de uma forma consistente para outra forma consistente.
    Isolamento
    A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.
    Durabilidade
    A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.
  • É o conceito de isolamento:

    Trata-se de um conjunto de técnicas que tentam evitar que transações paralelas interfiram umas nas outras, fazendo com que o resultado de várias transações em paralelo seja o mesmo resultado que essas transações teriam caso fossem executadas sequencialmente (uma após a outra). Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários.

    Fonte: Estratégia concursos

  • Atomicidade = Tudo ou nada ... somente transações completas persistem no sistema

    Isolamento = transações concomitantes não se afetam, de modo que se feitas em paralelo, devem possuir o mesmo resultado caso tivessem sido feitas em sequência separadamente


ID
172624
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

NÃO é considerada uma propriedade das transações para os sistemas de bancos de dados:

Alternativas
Comentários

ID
195403
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma equipe de desenvolvimento de software recebeu a
incumbência de desenvolver um sistema com as características
apresentadas a seguir.

* O sistema deverá ser integrado, interoperável, portável e
seguro.
* O sistema deverá apoiar tanto o processamento online, quanto
o suporte a decisão e gestão de conteúdos.
* O sistema deverá ser embasado na plataforma JEE (Java
enterprise edition
) v.6, envolvendo servlets, JSP (Java server
pages
), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA
e web services.

O líder da equipe iniciou, então, um extenso processo de
coleta de dados com o objetivo de identificar as condições
limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características
funcionais e não funcionais do sistema, ao longo de seu ciclo de
vida. A partir dessa coleta, o líder deverá apresentar à equipe um
conjunto de informações e de decisões.

No que se refere a técnicas de análise de desempenho e otimização
de consultas SQL, no contexto do desenvolvimento do sistema
descrito no texto, julgue os itens seguintes.

Para que não ocorram deadlocks no sistema a ser desenvolvido pela equipe, deve-se evitar o desenho de transações do SGBD nas quais o usuário precise realizar entrada de dados, especialmente em sistemas de processamento transacional online.

Alternativas
Comentários
  • Questão que merece ser anulada.

    Justificativa abaixo dado por Marcio Vitorino.

     

    Segundo Elmasri e Navathe (2002, p. 554) as principais estratégias utilizadas em transações OLTP para evitar deadlocks são
     Bloqueio em Duas Fases Conservador, Ordenamento de Registros de Timestamp e > Validação.

    > > No entanto, a questão afirma que "Para que não ocorram deadlocks
    > > no sistema a ser desenvolvido pela equipe, deve-se evitar o desenho de
    > > transações do SGBD nas quais o usuário precise realizar entrada de dados,
    > > especialmente em sistemas de processamento transacional online."
    > >
    > > Esta afirmação afirma que basta evitarmos entradas de dados para
    > > que não ocorram deadlock, quando na verdade as operações de exclusão e
    > > atualização de dados também causam deadlock.
    > >
     

    > > ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados - Fundamentos e
    > > Aplicações. 3. ed. Rio de Janeiro: LTC S.A., 2002. 837p.
    > >
    > > Marcio Victorino

  • Concordo com o colega. A resposta correta da questão causa muita estranheza. Ao estudarmos o assunto nos deparamos com vários protocolos para evitar deadlocks, já que a entrada de dados é necessária.

    Discordo num ponto. Podemos talvez interpretar por "entrada de dados" qualquer alteração, não apenas inclusão, mas também alteração e exclusão. Digo isso por que neste estudo resumimos as operações em "read"s e "write"s.

    Mesmo considerando isso, discordo do gabarito, principalmente por que a necessidade de entrada de dados será ditada pela necessidade do negócio, não cabendo ao analista/DBA evitá-las ou não. Se num OLTP qualquer é preciso, por exemplo, registrar vendas, não há opção de evitar tais registros (inclusão, exclusão e alteração). Um OLTP implica especialmente nisso na maioria dos casso. Se a questão estivesse salientando a parte OLAP (mencionada implicitamente no enunciado em "suporte a decisão") eu até concordaria.

    Na página da CESPE o gabarito ainda consta como preliminar:

    http://www.cespe.unb.br/concursos/TCU2010/

    Vamos aguardar.

  • O gabarito foi alterado de Certo para Errado em 08/09. Vide questão 145 da prova.

    Link da prova: http://www.cespe.unb.br/concursos/TCU2010/arquivos/TCU10_001_5.pdf

    Link da correção: http://www.cespe.unb.br/concursos/TCU2010/arquivos/TCU_10_TI_JUSTIFICATIVAS_DE_ALTERAO_DE_GABARITO.PDF

    Abs, Edu.

  • Olá, pessoal!
     
    O gabarito foi atualizado para "E", após recursos, conforme edital publicado pela banca, e postado no site.

    Justificativa da banca:
    O item é claro ao indicar que as transações as quais se refere são aquelas do SGBD delimitadas por BEGIN  e END transaction. Dessa forma, ao afirmar que “deve-se evitar o desenho de transações do SGBD nas quais o usuário precise realizar  entrada de dados", está claro que a entrada de dados seria aquela realizada no escopo da transação do SGBD, e não antes ou depois da transação. Sob outro aspecto, não se pode afirmar que as entradas de dados feitas pelo usuário provocam apenas inclusão, uma vez que a exclusão ou atualização de dados também envolvem entrada de dados. O item está errado, pois afirma que evitar o desenho de transações do SGBD nas quais o usuário precise realizar entrada de dados é condição necessária e suficiente para que se obtenha um sistema livre de deadlocks, quando, de fato, existem outros aspectos envolvidos.
     
    Bons estudos!






ID
195406
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma equipe de desenvolvimento de software recebeu a
incumbência de desenvolver um sistema com as características
apresentadas a seguir.

* O sistema deverá ser integrado, interoperável, portável e
seguro.
* O sistema deverá apoiar tanto o processamento online, quanto
o suporte a decisão e gestão de conteúdos.
* O sistema deverá ser embasado na plataforma JEE (Java
enterprise edition
) v.6, envolvendo servlets, JSP (Java server
pages
), Ajax, JSF (Java server faces) 2.0, Hibernate 3.5, SOA
e web services.

O líder da equipe iniciou, então, um extenso processo de
coleta de dados com o objetivo de identificar as condições
limitantes da solução a ser desenvolvida e tomar decisões
arquiteturais e tecnológicas que impactarão várias características
funcionais e não funcionais do sistema, ao longo de seu ciclo de
vida. A partir dessa coleta, o líder deverá apresentar à equipe um
conjunto de informações e de decisões.

No que se refere a técnicas de análise de desempenho e otimização
de consultas SQL, no contexto do desenvolvimento do sistema
descrito no texto, julgue os itens seguintes.

É correto que duas diferentes abordagens de indexação sejam utilizadas no desenvolvimento do sistema em questão: a parte do sistema que realizará processamento de transações online deve ser embasada em um banco de dados fortemente normalizado e com indexação cuidadosamente ajustada; a parte do sistema que realizará processamento de suporte a decisão deve ser fracamente normalizada, podendo, até, ser denormalizada, e conter grande quantidade de indexação, o que permite a escolha de várias alternativas de índices para processamento de consultas.

Alternativas
Comentários
  • OLTP - On Line Transaction Processing
    É correto que duas diferentes abordagens de indexação sejam utilizadas no desenvolvimento do sistema em questão: a parte do sistema que realizará processamento de transações online deve ser embasada em um banco de dados fortemente normalizado e com indexação cuidadosamente ajustada;

    OLAP - On-line Analytical Processing
    a parte do sistema que realizará processamento de suporte a decisão deve ser fracamente normalizada, podendo, até, ser denormalizada, e conter grande quantidade de indexação, o que permite a escolha de várias alternativas de índices para processamento de consultas.
  • Discordo do fortemente normalizado, porque isso é muito subjetivo quando a questão pede "técnicas de análise de desempenho e otimização
    de consultas SQL". Todos sabem que um banco fortemente normalizado pode afetar o desempenho.
  • Concordo com Davi.

    É o tipo de questão que a banca pode simplesmente escolher se vai considerar certa ou não pelo grau de subjetividade de algumas proposições.

    Trecho do enunciado:
    "deve ser embasada em um banco de dados fortemente normalizado"

    Esse "deve" aí se fosse trocada por preferencialmente, no meu entendimento, deixaria a questão correta de forma inequivoca, já que todas as principais bibliografias de BD indicam a normalização para bancos de dados de sistemas OLTP como uma boa prática, porém todas também definem exceções na sua utilização.
  • Concordo com o Raul e Davi! Esse "deve" o CESPE interpreta do jeito que ele quer! As vezes ele é rigoso com algumas questões colocando-as como erradas justamente por causa deste termo. Já em outras, ele simplesmente ignora.


ID
201364
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

No controle de transações, é desnecessário que a atomicidade de cada transação tome conhecimento de outras transações concorrentes no sistema.

Alternativas
Comentários
  • http://br.groups.yahoo.com/group/timasters/message/68251

    .....

    Lendo Silberschatz dá para entender porque isto está
    errado: Há dois motivos para permitir a concorrência de transações:

    1 - Uma transação consiste em diversos passos que podem envolver atividades
    de I/O ou CPU. Estes podem operar em paralelo e este paralelismo explorado
    para executar diversas transações em paralelo.

    2 - Transações curtas e longas podem ser executadas em paralelo se estiverem
    operando em diferentes partes do banco. Imagina se tivesse que esperar a
    transação longa para poder executar a curta?

    Silberschatz finaliza dizendo que a motivação para usar a execução
    concorrente em um banco de dados é essencialmente a mesma para usar
    multiprogramação em um sistema operacional.

    Dái a gente tira como conclusão que nestes casos uma transação toma
    conhecimento de outras.

    ....
  • De onde será que o CESPE tirou essa questão? "... a ATOMICIDADE de cada transação tome conhecimento... Não consegui ver sentido nessa afirmativa.
  • GABARITO: ERRADO

    Atomicidade: Uma transação é uma unidade atômica de processamento que deve ser executada integralmente, ou totalmente desfeita.

  • Questão sem sentido. A pessoa responde só pelo feeling mesmo.

  • A banca está usando a definição da propriedade de ISOLAMENTO (lembrar de ACID = Atomicidade, Consistência, Isolamento e Durabilidade)

    Trocando atomicidade por isolamento tornaria a questão correta. Gabarito: errado.

  • O conceito da questão (necessidade ou não de conhecimento de outras transações) está relacionado com o conceito de isolamento. Ao afirmar " é desnecessário que a atomicidade de cada...", não vejo erro algum na questão... Realmente atomicidade não quer nem saber sobre isso. Acredito que seja uma daquelas questões em que o examinador pobre de conhecimento simplesmente pega um trecho, dá CTRL + C / CTRL + V, muda uma ou duas palavras, e joga a questão totalmente fora de contexto, com o gabarito falso, sem nem ao mesmo analisar o sentido final da frase criada.

  • Rafael falou pouco mas falou bonito, haha!

    Na verdade quem cuida da Atomicidade é o subsistema de restauração de transação do módulo de gerência de transação, conforme definição do Navathe.

    Sendo assim, o que o autor quis fazer foi tentar confundir o candidato, usando a definição de Isolamento no lugar de Atomicidade...Entretanto, se você pensar bem, talvez uma alteração no banco referente à alguns WRITEs de algumas operaçãoes de uma transação, possa ser intercalado com outros WRITEs de outras transações...e pode ser que estes dados, sejam os mesmos; sendo assim, caso ocorra um RollBack da transação, seria necessário sim, conhecer as outras transações.

  • Questão rabujenta e mal elaborada. Trocar ISOLAMENTO por ATOMICIDADE não torna a questão errada. PLMD, melhore CESPE.


ID
201391
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Consistência é considerada uma propriedade das transações para os sistemas de bancos de dados.

Alternativas
Comentários
  • A - Atomcidade
    C - Consistência
    I -Isolamento
    D - Durabilidade
  • Certíssima!

    A Consistência faz parte das propriedades ACID das transações: Atomicidade, Consistência, Isolamento e Durabilidade.

ID
205477
Banca
FEPESE
Órgão
SEFAZ-SC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Sobre acesso concorrente a dados por transações em bancos de dados, é correto afirmar:

Alternativas
Comentários
  • E) Na fase de expansão os LOCKS são adquiridos. Na fase de ENCOLHIMENTO os LOCKS são liberados.

  • Bloqueios de duas fases previnem que transações concorrentes interfiram em outras. Isso para garantir a seriabilidade. Entretanto, isso não garante que não haja deadlock.
  • a) Uma transação que necessita acesso a um dado que está bloqueado deve ser abortada.
    Errado: Necessita aguardar até o desbloqueio. b) Uma ocorrência de deadlock envolve de uma (1) a várias transações.
    Errado: Envolve no mínimo 2 ou mais transações. Sendo que a transação em conflito pode requisitar o bloqueio das demais transações concorrentes para que estas fiquem na fila de espera. c) A técnica de bloqueio de duas fases requer que um dado seja bloqueado apenas por uma (1) transação para leitura ou para atualização.
    Errado:   Esse "por uma" realmente tá difícil de interpretar pois me parece que foi copiada de algum livro e traduzida ao pé da letra. O por me parece ser "for" e na verdade é para. O bloqueio pode ser "por uma"  transação no sentido de a partir de uma transação ou "para uma" transação no sentido do bloqueio se aplicar diretamente àquela transação conflitante. Então se o sentido do "por" for de "para uma" então bloqueio deveria ser  de uma ou mais  transações.   d) Uma transação que consegue adquirir a priori todos os bloqueios necessários sobre os dados pode, mesmo assim, incorrer em uma situação de deadlock com outras transações.
    Me parece certa esta questão, mas foi considerada errada. Não seria o conceito de Deadlock? e) A técnica de bloqueio de duas fases requer que uma transação adquira todos os bloqueios necessários antes de liberar qualquer bloqueio já adquirido.
    Correto
  • Olá Roduza,
    A letra "D" está errada porque: neste caso não existe deadlock, se a transação consegue ter posse de todos os bloqueios necessários para ela, então ela só vai liberar os bloqueios, não vai esperar desbloqueio de nenhuma outra transação.
    Valeu..
  • Na minha opinião a letra D esta correta, pois mesmo assim, incorrer em uma situação dedeadlock com outras transações. Cabível de recurso.

    Bons estudos.
  • d) Uma transação que consegue adquirir a priori todos os bloqueios necessários sobre os dados pode, mesmo assim, incorrer em uma situação de deadlock com outras transações. --> ERRADO!

    O item se refere ao protoloco de serialização em duas fases do tipo "conservador". Em que é necessario bloquear todos os itens antes de começar a transação, evitando assim o dead-lock.

    Imagine que eu bloqueio todos (TODOS) os dados que eu vou utilizar em uma transação (ou seja, nao tera supresa) então, apos este bloqueio eu posso realizar minha transação tranquilamente, pois em nenhum momento vai aparecer um dado bloqueado por outra transação, já que foi definido A PRIORI, que eu tinha todos os bloqueios necessarios antes mesmo de começar.

    Gabarito: letra E. Bons estudos!!!
  • Prezados,

    Em bancos de dados distribuídos é necessário fazer um controle aprimorado de transações. O bloqueio em duas fases é uma técnica realizada da seguinte forma :

    Fase 1 : Fase de crescimento ( expansão ) 
    A transação pode obter os bloqueios necessários, mas não libera os bloqueios

    Fase 2 : Fase de encurtamento ( encolhimento ) 
    A transação passa a liberar os bloqueios ,e já não pode obter mais bloqueios

    Portanto a alternativa correta é a letra E


  • Prezados,

    Em bancos de dados distribuídos é necessário fazer um controle aprimorado de transações. O bloqueio em duas fases é uma técnica realizada da seguinte forma :

    Fase 1 : Fase de crescimento ( expansão ) 
    A transação pode obter os bloqueios necessários, mas não libera os bloqueios

    Fase 2 : Fase de encurtamento ( encolhimento ) 
    A transação passa a liberar os bloqueios ,e já não pode obter mais bloqueios

    Portanto a alternativa correta é a letra E


ID
209335
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Quanto ao conceito de administração de banco de dados, julgue os
itens seguintes.

Os administradores de banco de dados devem estar atentos aos fatores que podem influenciar na eficiência do projeto físico - como, por exemplo, a análise das consultas e transações do banco de dados e a frequência esperada das chamadas de consultas e transações -, mas não deve se preocupar com as restrições de tempo das consultas e das transações.

Alternativas
Comentários
  • Afirmação errada: "Os administradores de banco de dados não devem se preocupar com as restrições de tempo das consultas e das transações."

  • ERRADO segundo Navathe.

    Segundo Navathe(2011,p.490),"São fatores que influenciam o projeto físico de banco do dados: 

    A. Analisando as consultas e transações de banco de dados;

    B. Analisando a frequência de chamada de consultas e transações esperada;

    C. Analisando as restrições de tempo de consulta e transações;

    D. Analisando as frequências esperadas de operações de atualização;

    E. Analisando as restrições de exclusividade em atributos."

    Bibliografia: 

    SISTEMAS DE BANCO DE DADOS-6 EDIÇÃO- NAVATHE

  • Errado.

    Nesta questão, a banca procura confundir o candidato ao afirmar que “não deve se preocupar com as restrições de tempo das consultas e das transações”.

    A administração de dados cada vez mais tem uma postura ativa no desenvolvimento de aplicações. Sendo assim, deve também auxiliar no desempenho do acesso aos dados do SGBD.

    Patrícia Quintão.


ID
209368
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de tunning e de administração de banco de dados, julgue
os itens de 110 a 113
.

O processo de tunning evita excessivas disputas por bloqueios, aumentando a concorrência entre as transações. Objetiva minimizar a sobrecarga de registros de logs, o armazenamento desnecessário de dados, otimizar o tamanho do buffer e o escalonamento de processos.

Alternativas
Comentários
  • Performance de banco de dado pode ser definida com a otimização de uso de recursos para aumentar o througput e minimizar a contenção, possibilitando o maior workload possível de ser processado.
  • Aumentar a concorrência = aumentar o throughput!?
  • Pelo que entendi, ao se reduzir o número de bloqueios com o tunning, poder-se-ia aumentar o nível de concorrência, ou seja, mais transaçãoes sendo executadas ao mesmo tempo, pois elas iriam ter menos bloqueios.
  • Segundo Navathe,
    Tunning, ou ajuste do BD, eh uma tecnica usada para melhorar o desempenho do banco, e envolve recursos de hw(discos, ram etc) e sw(uso de indices, chaves de hash etc).
    Geralmetne ocorre apos o BD estar implementado e em operacao, qdo percebe-se q, em producao, fatores problemas q nao foram considerados no projeto fisico inicial, se revelaram.
    Essa atividade depende de monitoramento e revisao constantes do projeto fisico do BD(estatisticas de armazenamento, desempenho, processamento, bloqueio etc).
    O ajuste de um BD envolve lidar com os seguintes tipos de problemas:
    - Como evitar disputa excessiva por bloqueio, aumentando assim a concorrencia entre as trsancoes;
    - como minimizar o overhead do logging e o dumping desnecessario de dados;
    - como otimizar o tamanho do buffer e o escalonamento de processos;
    - como alocar recursos como discos, ram, e processos para q a utilzacao seja mais eficiente.
  • Questão  capciosa.
  • O OBJETIVO do tunning é a melhoria da performance do banco de dados. Isso pode ser feito utilizando VÄRIAS formas de ajustes, que vão desde indices até o Hardware.

    Dizer que que o tunnig "... evita excessivas disputas por bloqueios, aumentando a concorrência entre as transações.." ou que o objetivo do mesmo é minimizar arquivo de logs,  deturpa completamente o conceito de tunning.


ID
211009
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Considerando aspectos de relacionamentos por meio da aplicação
de conceitos de álgebra relacional, julgue os itens a seguir.

Uma transação efetivada com sucesso é denominada commit, enquanto roll back consiste em uma transação desfeita.

Alternativas
Comentários
  • gabarito preliminar: C
    gabarito definitivo: - Deferido com anulação
    justificativa: O item permite mais de uma interpretação possível, razão pela qual se opta por sua anulação.

  • Na minha opinião a questão está ERRADA.
    Uma transação efetivada com sucesso é denominada COMMITED, não commit, que é o nome do comando que viabiliza a efetivação da transação.

ID
222265
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A propriedade de uma transação denominada de ACID envolve os seguintes conceitos:

Alternativas
Comentários
  • Consoante Elmasri e Navathe ACID são PROPRIEDADES DESEJAVEIS no gerenciamento de transações de um BD, que consiste em:

                           -Atomicidade- unidade atômica de processamento,ou será executada em sua totalidade ou não será de modo nenhum.

                         -Preservação de consistência- uma transação será preservadora de consistência se sua execução completa fizer o bd passar de um estado consistente para outro.

                          -ISOLAMENTO- a execução de uma transação não deve receber interferências das demais.Imposto pelo subsistema de concorrência.

                          -Durabilidade ou permanência- mudanças aplicadas no BD devem persistir no bd.Imposto pelo subsistema de restauração.

    Portanto, a alternativa correta é a letra B.

  • É bom memorizar essa sigla! Essas são as propriedades das transações que devem ser seguidas nos bancos de dados tradicionais:

    A - Atomicidade

    C - Consistência

    I - Isolamento

    D - Durabilidade


ID
222295
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O nível de consistência especificado na SQL-92, também denominado de níveis de isolamento, fornece à SQL, em execução concorrente, garantias quanto à interferência ou quanto à ausência de interferência entre transações.
A SQL possui a instrução set transaction que é aplicada para definir características da transação a ser iniciada.
Assinale a alternativa que indique os seguintes níveis possíveis destas características.

Alternativas
Comentários
  • SERIALIZABLE: uma transação é totalmente isolada das outras. Caso a transação tenha comandos DML que tentem atualizar dados não gravados de outra transação, essa transação não será efetuada.

    REPEATABLE READ: os dados podem ser lidos mais de uma vez, e se outra transação tiver incluído ou atualizado linhas e estas forem gravadas no banco de dados entre uma e outra leitura dos dados, então os dados retornados da última busca serão diferentes dos dados da busca anterior. Esse efeito é conhecido como leitura fantasma.

    READ COMMITED: caso a transação utilize comando DML que precise do bloqueio de linhas que outras transações estão utilizando, a operação somente será concluída após a liberação da linha da outra transação.

    READ UNCOMMITED: serão lidos conteúdos não gravados ainda pelo banco de dados (transações passíveis de ROLLBACK). Há um enorme risco nessas operações, visto que o usuário que está bloqueando a informação pode descartá-la. Esse efeito é conhecido como leitura suja.

  • Fonte: http://skdotnettutorials.blogspot.com.br/2010/12/sql-server-transaction-isolation-levels.html
  • •Nível de isolamento (ISOLATION LEVEL)
    –READ UNCOMMITED (leitura suja)
    –READ COMMITED (leitura não-repetível)
    –REPEATABLE READ (fantasmas)
    –SERIALAZABLE

  • SERIALIZABLE

    - O nível mais alto de isolamento;

    - Mais restritivo.

    - Bloqueia todas as modificações nos dados.

    REPEATABLE READ

    - Garante que um registro que está sendo lido por uma transação não sofra alteração até que a leitura termine.

    READ COMMITED

    - É o nível de isolamento padrão do SQL.

    - Garante que as leituras sejam realizadas somente de informações que já foram confirmadas (COMMIT),

    - Elimina o problema de leituras sujas.

    READ UNCOMMITED

    - É o nível mais baixo de isolamento do SQL.

    - As transações conseguem ler registros que estão sendo alterado por outra transação, mesmo que um COMMIT\ROLLBACK ainda não tenha sido executado.

    - Permite leitura suja dos dados, isso porque a transação de leitura lê dados ainda não confirmados.

    Alternativa: E


ID
222298
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Assinale a alternativa que indique três maneiras diferentes em que uma transação possa ser violada.

Alternativas
Comentários
  • Violações de transações, segundo Elmasri 2005:
    Atualização perdida
    Leitura suja (ou Problema da atualização temporária)
    Sumário incorreto e
    Leitura sem repetição.


    Atualização perdida: ocorre quando duas transações que acessam os mesmos itens de bancos de dados tiverem suas operações intercaladas.

    Atualização temporária (Leitura Suja): ocorre quando uma transação atualizar um item de banco de dados e, a seguir, falhar por alguma razão. Este item pode ser acessado por uma outra transação antes que ele retorne ao seu valor original.

    Sumário Incorreto: se uma transação aplicar uma função agregada para sumário de um número de registros enquanto outras transações estiverem atualizando alguns desses registros, pode acontecer da função agregada calcular alguns valores antes de eles serem atualizados.
     
    Leitura sem repetição: quando um item é lido duas vezes e entre as duas leituras o seu valor for alterado por outra transação.

    Sistemas de Banco de Dados - ELMASRI, 2005 p. 400
  • Quando vcs forem justificar as respostas poderiam, por favor, mencionar todos os itens da questao? Ela não fala de sumario incorreto e menciona como violações de transações outros, como leitura não repetivel e fantasma.
    Grato!
  • Fonte: http://pgdocptbr.sourceforge.net/pg80/transaction-iso.html

    O padrão SQL define quatro níveis de isolamento de transação em termos de três fenômenos que devem ser evitados entre transações simultâneas. Os fenômenos não desejados são:

    dirty read (leitura suja)

    A transação lê dados escritos por uma transação simultânea não efetivada (uncommitted). 

    nonrepeatable read (leitura que não pode ser repetida)

    A transação lê novamente dados lidos anteriormente, e descobre que os dados foram alterados por outra transação (que os efetivou após ter sido feita a leitura anterior). 

    phantom read (leitura fantasma)

    A transação executa uma segunda vez uma consulta que retorna um conjunto de linhas que satisfazem uma determinada condição de procura, e descobre que o conjunto de linhas que satisfazem a condição é diferente por causa de uma outra transação efetivada recentemente. [3]

    Os quatro níveis de isolamento de transação, e seus comportamentos correspondentes, estão descritos na Tabela 12-1.

    Tabela 12-1. Níveis de isolamento da transação no SQL

    Nível de isolamento Dirty Read Nonrepeatable Read Phantom Read Read uncommitted Possível Possível Possível Read committed Impossível Possível Possível Repeatable read Impossível Impossível Possível Serializable Impossível Impossível Impossível
  • Resposta:B

    Link: fonte https://books.google.com.br/books?id=xBeO9LSlK7UC&pg=PA419&lpg=PA419&dq=uma+transação+possa+ser+violada.&source=bl&ots=xaRxg3zb4H&sig=7N395D7AxaGw_jrS5l09xGRuofA&hl=pt-BR&sa=X&ved=0ahUKEwj-1oXK44bMAhWIlZAKHZ0mApIQ6AEIPjAH#v=onepage&q=uma%20transa%C3%A7%C3%A3o%20possa%20ser%20violada.&f=false

  • Os problemas ocorrem quando leitura suja, quando a leitura não é repetível e quando há fantasmas na transação. Ou seja, a resposta está na letra B.

    Uma leitura suja ocorre quando uma modificação não confirmada realizada por uma transação T1 é lida por outra T2. A leitura não repetível se dá quando uma transação T2 realiza uma modificação e a confirma entre duas leituras de T1 e, por fim, um fantasma é idêntico a uma leitura não repetível, só que acontece no caso de inserções ou remoções, que alteram o número de tuplas retornadas pelas duas consultas idênticas realizadas por T1.

    Gabarito: B


ID
224032
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Segundo Date, com relação à concorrência nos SGBD, é um critério de correção geralmente aceito para a execução de um dado conjunto de transações:

Alternativas
Comentários
  • Modificações feitas por transações simultâneas devem ser isoladas das modificações feitas por qualquer outra transação simultânea. Uma transação reconhece os dados no estado em que estavam antes de outra transação simultânea tê-los modificado ou reconhece os dados depois que a segunda transação tiver sido concluída, mas não reconhece um estado intermediário. Isso é chamado serializabilidade porque resulta na capacidade de recarregar os dados iniciais e reexecutar uma série de transações de modo que os dados obtidos estejam no mesmo estado em que estavam depois que as transações originais foram executadas.

ID
226249
Banca
CESGRANRIO
Órgão
EPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Um administrador de banco de dados recebeu a solicitação de atualizar, no sistema de controle de estoque, o nome de um produto. De acordo com esse pedido, ele deveria alterar, diretamente no banco de dados, o valor do campo nome em uma única linha de uma tabela. No entanto, ele errou ao colocar o nome solicitado no update. Ao perceber o equívoco, aplicou o rollback nessa transação. Nesse período, um usuário reclamou que, ao realizar uma consulta no sistema, esse produto apareceu com o nome errado. Considerando-se que o erro percebido pelo usuário foi o mesmo introduzido pelo administrador, que fenômeno ocorreu nessa situação?

Alternativas
Comentários
  • Dirty read: É quando minha conexão está lendo informações que ainda não foram comitadas, ou seja, a informação que li pode não existir ou mesmo ter sido modificada.


    Nonrepeatable read: a transação que lê a informação mais de uma vez obtém a cada leitura valores diferentes (número de linhas não muda)


    Phantom read: Aparecem e somem tuplas na mesma transação. (mudando número de linhas)

  • Dirty Read (ou Leitura Suja) - Leitura de dados não comitados. Aparece somente no nível de isolamento READ UNCOMMITTED.

    Nonrepeatable Read (ou Leitura não repetível) - Obtenção de valores diferentes em duas leituras de um mesmo dado numa mesma transação. Aparece no nível de isolamento READ COMMITTEDREAD UNCOMMITTED.

    Phanton Read (ou Leitura Fantasma) - Em duas leituras de uma tabela numa mesma transação, aparecem ou somem tuplas. Aparece no nível de isolamento REPEATABLE READREAD COMMITTED e READ UNCOMMITTED.

    O nível de isolamento SERIALIZABLE é único que não acontece nenhum destes três fenômenos. Vale lembrar também que robustez e performance de tempo são inversamente proporcionais neste cenário (portanto, serializable é o nível com pior desempenho de tempo, seguido pelo repeatable read e assim por diante).


    WriteNeverLock e Serializable Write - conceitos inventados pela banca.




  • Foi usado como nível de isolamento desta transação Read Uncommitted, que é o nível de isolamente menos restritivo e não adqure qualquer tipo de lock, logo pode acontecer os seguintes fenomenos indesejados:
    1. Dirty Read
    2. NonRepeatable read
    3. Phantom Read


ID
226306
Banca
CESGRANRIO
Órgão
EPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em determinada funcionalidade de um sistema interno de um órgão público, é necessário realizar uma transação em um banco de dados distribuído, segundo o protocolo Two-Phase Commit (2PC) ou o Three-Phase Commit (3PC), sobre os quais afirma-se que

Alternativas
Comentários
  • Commit em três fases:

    * Evita bloqueio de recursos no caso de falha
    * Incorporação de timeout5

  • Ai vão dois links interessantes para quem quiser saber mais a respeito desses protocolos

    http://thiagomoreira.blog.com/2010/10/12/two-phase-commit-e-a-formula-1/

    http://www.inf.ufrgs.br/gppd/disc/cmp167/trabalhos/sem2000-1/T1/cesarida/CommitProtocols_p.htm

  • A questão tenta confundir o candidato com dois conceitos não relacionados: Commit em duas fases e Bloqueio em duas fases

    os conceitos de write-lock, fase de expansão, fase de retração, citados nas letras c) e d) estão relacionados a Bloqueio em duas fases. Por isso, estas alternativas já podem ser eliminadas.

    Em ambos os protocolos (2PC e 3PC) só existe um nó coordenador. Portando letra b) também é falsa.

    Resta dizer que o 3PC foi criado justamente para resolver o problema de bloqueio (dead lock) do 2PC. 2PC é bloqueante e 3PC não é bloqueante. letra e) é a resposta.

ID
230116
Banca
FUNCAB
Órgão
PRODAM-AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Sejam as seguintes assertivas sobre as propriedades de uma transação chamadas de propriedades ACID:

I. A letra C da propriedade ACID significa concorrência . Isto é, o estado de um banco de dados deve ser mantido consistente mesmo quando houver concorrência entre duas ou mais consultas.
II. A letra A da propriedade ACID significa atomicidade . Isto é, uma operação de atualização deve ser restrita a uma única tabela.
III. A letra D da propriedade ACID significa disponibilidade . Isto é, os dados de um banco de dados devem ser protegidos, geralmente através de cópias backup , de modo que estejam disponíveis quando necessário.

Marque a alternativa correta em relação às assertivas acima.

Alternativas
Comentários
  • I. A letra C da propriedade ACID significa concorrência Consistência. Isto é, o estado de um banco de dados deve ser mantido consistente mesmo quando houver concorrência entre duas ou mais consultas transações.
    II. A letra A da propriedadeACID significa atomicidade . Isto é, uma operação de atualização deve ser restrita a uma única tabela.Uma transação deve ser completada totalmente ou desfeita totalmente.
    III. A letra D da propriedade ACID significa disponibilidade durabilidade. Isto é, os dados de um banco de dados devem ser protegidos, geralmente através de cópias backup , de modo que estejam disponíveis quando necessário. Os dados depois de comitado no BD devem ser permanente até que outra transação os desfaçam.
  • Não concordo de jeito nenhum com essa Questão... facil fácil eu anularia ela!! 

    A - Atomicidade
    C - Consistência
    I - Isolamento
    D - Durabilidade

    Nada haver concorrência... pois a concorrência que da a consistência, ou seja é pela concorrência que mostra a propriedade de consistencia... 
    Muito mau elaborada essa Questão!!!
  • Nestor, consistência não significa concorrência. Os dados devem ser consistentes, tendo concorrência ou não tendo concorrência.
  • Anularia como, Netor? Não vejo nada de errado com a questão.
  • O erro na alternativa I está na palavra "concorrência". O certo seria: Consistência. 

    Na alternativa II Atomicidade é: Uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não ser realizada de forma alguma.

    Na alternativa III o correto seria: Durabilidade ou permanência. As mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de

    alguma falha.



  • Nestor Barbosa, concorrência estaria mais ligada com a prorpriedade ISOLAMENTO. 

    A propriedade CONSISTÊNCIA  tem a ver com  a segurança que nenhuma transação irá ferir alguma REGRA DE INTEGRIDADE DO BANCO DE DADOS

  • Atomicidade: Em uma transação envolvendo duas ou mais partes de informações discretas, ou a transação será executada totalmente ou não será executada, garantindo assim que as transações sejam atômicas.

    Consistência: A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.


ID
230119
Banca
FUNCAB
Órgão
PRODAM-AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Ummétodo que visa garantir a serialização de transações utiliza a seguinte estratégia: todas as operações de leitura (read_lock) ou escrita (write_lock) deverão ocorrer antes da primeira operação de desbloqueio (unlock) na transação.

Como é chamado tal protocolo de bloqueio?

Alternativas
Comentários
  • Two-Fase-Lock ou Bloqueio em duas fases é composto pela fase de expansão ou crescimento, que são os pedidos de lock porém sem que ocorra o desbloqueio do lock, e a segunda fase que é a fase de liberação ou encolhimento, aonde são feitos os desbloqueios de lock, porém novos locks não são mais feitos.
  • Para complementar os estudos, seguem as variações dos bloqueios em 2 fases:

    2PL básico. Ocorre se todas as operações de bloqueio precedem a primeira operação de desbloqueio na transação, podendo ser dividida em 2 fases:
    expansão: novos bloqueios podem ser adquiridos, mas nenhum liberado;
    encolhimento: bloqueios existentes podem ser liberados e nenhum adquirido.

    2PL conservador (ou 2PL estático). Requer q 1 transação bloqueie todos os itens q ela acessa antes q ela inicie a execução. Se qualquer 1 dos itens não puder ser bloqueado, a transação não bloqueia item algum, ficando na espera. É livre de deadlock.

    2PL estrito. Uma transação T não libera nenhum de seus bloqueios exclusivos ate depois de confirmar ou abortar. Pode ocorrer deadlock.

    2PL rigoroso.Variação do estrito, onde 1 transação T não libera seus bloqueios (X ou S) ate depois de confirmar ou abortar, sendo mais fácil de implementar q o estrito.
    Alternativa: C
  • LETRA C. ESTA QUESTÃO FOI RETIRADA DO LIVRO DO NAVATHE. VOU COPIÁ-LA NOVAMENTE SÓ PARA MENCIONAR A BIBLIOGRAFIA.

    Segundo Navathe(2011,p.527),"Diz-se que uma transação segue o protocolo de bloqueio em duas fases se todas as operações de bloqueio (read_lock, write_lock) precedem a primeira operação de desbloqueio na transação."

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS-6 EDIÇÃO 2011-NAVATHE


  • Nesse tipo de protocolo imagine que em toda a transação existem dois pontos distintos: um ponto (fase) para realizar APENAS os bloqueios (read_lock ou write_lock) e outro ponto (fase) para fazer APENAS os desbloqueios (unlock). A primeira fase é chamada de crescimento e a seguda de encolhimento.
    Exemplo:
    READ_LOCK(X) 
    READ(X) 
    READ_LOCK(Y) 
    READ(Y) 
    READ_LOCK(Z) 
    READ(Z) 
    WRITE_LOCK(Z)    **final da primeira fase**

    Z←X+Y 


    UNLOCK(Y) 
    UNLOCK(X) 
    UNLOCK(Z)            **final da segunda fase**


ID
230122
Banca
FUNCAB
Órgão
PRODAM-AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Sejam as seguintes assertivas sobre planos de execução de transações:

I. Um plano de execução é dito restaurável se ele busca garantir que nunca será necessário reverter uma transação que tenha sido efetivada.
II. Planos restauráveis exigem procedimentos relativamente simples, mesmo na ausência de um de transações.
III. Uma reversão em cascata ocorre quando uma transação não efetivada tem que ser revertida porque leu umitem de uma transação que falhou.
IV. Um plano é dito restrito quando determina que uma transação não poderá ler nem gravar um item X até que a última transação que altere X tenha sido efetivada ou abortada.

Dentre as assertivas acima, quantas são verdadeiras?

Alternativas
Comentários
  • Retirada do livro do Navathe quarta edição pg 406.
    Estão corretas as alternativas I, III e IV.
    A II está errada pois planos restauráveis exigem um processo de restauração complexo e não simples.

ID
236269
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

De acordo com C. J. Date, o critério de correção geralmente aceito para a execução intercalada de determinado conjunto de transações é

Alternativas
Comentários
  • Trata-se do conceito de serialidade.
    Um escalonamento é serial se, para todas as transações T participantes do escalonamento, todas as operações de T forem executadas consecutivamente no escalonamento; caso contrário, o escalonamento é dito não-serial.
  • Apenas complementando... (Introdução a sistemas de bancos de dados - Date)

    Seriabilidade

    A seriabilidade é o "critério de correção" geralmente aceito para a execução intercalada de determinado conjunto de transações; ou seja, tal execução é considerada correta ser for seriável. A execução de determinado conjunto de transações é seriável - portanto, correta - se e somente se for equivalente a (ou seja, tem a garantia de produzir o mesmo resultado que) alguma execução serial das mesmas transações, onde:

    - uma execução serial é aquela em que as transações são executadas uma de cada vez, em alguma sequência.
    - Tem a garantia significa que determinada execução e a execução serial sempre produzem o mesmo resultado uma da outra,não importa qual seja o estado inicial do banco de dados.

ID
236275
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Considere duas transações distintas T1 e T2, onde T1 pode "enxergar" as atualizações de T2 (após T2 executar o COMMIT) ou T2 pode "enxergar" as atualizações de T1 (após T1 executar o COMMIT), mas certamente não ambas. Isso quer dizer que geralmente existem muitas transações sendo executadas ao mesmo tempo, porém, as atualizações de uma dada transação são ocultas de todas as outras até o COMMIT dessa transação. Trata-se da propridade de transação chamada

Alternativas
Comentários
  • São propriedades das transações:
     ACID
    A - Atomicidade: deve garatir que todas as operações da transação são executadas ou nada é excutado.
    C - Consistente: O banco de dados deve estar consistente antes e depois da transação.
    I - Isolamento: O resultado de uma transação executada concorretemente a outra deve ser  o mesmo que o de sua execução de forma isolada.
    D - Durabilidade:O efeito de uma transação em caso de sucesso (commit) são permanentes mesmo na presença da falhas.

ID
236278
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma vez completado o COMMIT da transação, suas atualizações sobrevivem no banco de dados mesmo que haja uma queda subsequente no sistema. É a propriedade das transações denominada

Alternativas
Comentários
  • São propriedades das transações:
     ACID
    A - Atomicidade: deve garatir que todas as operações da transação são executadas ou nada é excutado.
    C - Consistente: O banco de dados deve estar consistente antes e depois da transação.
    I - Isolamento: O resultado de uma transação executada concorretemente a outra deve ser  o mesmo que o de sua execução de forma isolada.
    D - Durabilidade:O efeito de uma transação em caso de sucesso (commit) são permanentes mesmo na presença da falhas.

ID
239620
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere a SGBD associado para suporte a aplicações web,
inclusive com suporte ao processamento de transações e acesso
concorrente e simultâneo de diversos usuários, julgue os itens de
76 a 78.

A implementação de mecanismo de controle de concorrência é necessária para garantir a atomicidade das transações. Esse controle é efetuado de forma mais eficiente pela linguagem hospedeira na qual o aplicativo é desenvolvido, como é o caso de PHP com os bancos de dados por ele utilizados.

Alternativas
Comentários
  • A implementação de mecanismo de controle de concorrência é necessária para garantir a atomicidade das transações.

    Controle de concorrência garante ISOLAMENTO das transações.

  • A meu ver o segundo período também está incorreto, uma vez que o controle de transações é mais eficientemente realizado pelo SGBD e não pela linguagem hospedeira no qual o aplicativo é desenvolvido.
  • O controle de concorrência é responsável por garantir a integridade de uma transação, que é composta pelas quatro propriedades: ACID.
    Referências:
    1 - http://im.ufba.br/pub/MATA60/SemestreLetivo20062/banco-dados-concorrencia.pdf
    2 - http://pt.wikipedia.org/wiki/Banco_de_dados

    O Controle de concorrência é realizado pelos SGBDs.
    Assim o erro está na realização do controle pela linguagem da aplicação.
  • O erro da questão está em:  Esse controle é efetuado de forma mais eficiente pela linguagem hospedeira na qual o aplicativo é desenvolvido, como é o caso de PHP com os bancos de dados por ele utilizados.

    Lembrando que as propriedades de uma transação são ACID, e segundo Navathe:

    Atomicidade
    :  É responsabilidade do subsistema de recuperação de transação de um SGBD garantir essa propriedade, e não a linguagem hospedeira.


    Consistência:  É geralmente responsabilidade dos programadores  e do módulo do SGBD  que impõem as restrições de integridada.

    Isolamento:  É responsabilidade do subsistema de controle de concorência de um SGBD garantir essa propriedade.

    Durabilidade:  É responsabilidade do subsistema de recuperação de transação de um SGBD garantir essa propriedade.

  • Amigos vejam o que eu encontrei no livro do Navathe.

    Segundo Navathe(2011,p.508),"A propriedade de atomicidade exige que executemos uma transação até o fim. É responsabilidade do subsistema de recuperação de transação de um SGBD garantir a Atomicidade."

    Segundo Navathe(2011,p.508),"A propriedade de isolamento é imposta pelo subsistema de controle de concorrência do SGBD."

    **Portanto, A implementação de mecanismo de controle de concorrência é necessária para garantir O ISOLAMENTO das transações. Esse controle é efetuado de forma mais eficiente PELO SUBSISTEMA DE CONTROLE DE CONCORRÊNCIA DO SGBD.

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS- NAVATHE-6 EDIÇÃO 2011


  • O erro se encontra na primeira sentença.

    Como já citado abaixo, o mecanismo de controle de concorrência é responsável por garantir o isolamento das transações.

    O conceito de atomicidade envolve apenas uma transação, não sendo influenciado pelo mecanismo de controle de concorrência.

  • Eu também usei a logica que a responsabilidade é do SGBD e não do Aplicativo PHP.

  • Prezados,

    Que o controle de concorrência é fundamental para garantir a atomicidade das transações (não só a atomicidade, mas a consistência , isolamento e durabilidade) isso não temos dúvida, mas esse controle é mais eficiente quando realizado no próprio SGBD e não na aplicação hospedeira, afinal de contas a aplicação hospedeira não tem conhecimento de todas as requisições que o dado sofre, para garantir a atomicidade das transações.

    Portanto a questão está errada.
    Gabarito: ERRADO.
  • O controle de concorrência é responsável por Garantir a propriedade de Isolamento das transações !

  • Propriedades das transações >> Responsáveis:

    ATOMICIDADE >> Subsistema de recuperação

    ISOLAMENTO >> Subsistema de controle de concorrência.

    DURABILIDADE >> Subsistema de recuperação.

    CONSISTÊNCIA >> Programador ou módulo de restrições de integridade.

    Fonte: Ramom Souza - Exponencial

  • GABARITO ERRADO!

    .

    .

    CESPEZADA

    As transações em um banco de dados devem possuir propriedades que são definidas pelo controle de concorrência e pelos métodos de restauração do SGDB. A propriedade do tipo isolamento permite que a transação seja executada sem que haja interferência das demais transações concorrentes.

    CORRETO

  • Ano: 2010 Banca: CESPE/CEBRASPE Órgão: PC-ES:

    "Em bancos de dados multiusuário, o controle de concorrência é um mecanismo utilizado no processamento de transações para garantir a propriedade da atomicidade. (Gab.: ERRADO).


ID
239626
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere a SGBD associado para suporte a aplicações web,
inclusive com suporte ao processamento de transações e acesso
concorrente e simultâneo de diversos usuários, julgue os itens de
76 a 78.

Entre os comandos padrão de gerenciamento de transações, disponíveis em extensões da linguagem PHP, incluem-se os que realizam as funções de iniciar (begin transaction) e encerrar transação (end transaction), fazer roolback de uma transação, abortar uma transação (abort transaction), fundir uma transação a outra (join transaction) e separar uma transação de outra (split transaction).

Alternativas
Comentários
  • BEGIN TRANSACTION

    begin-stmt:

    syntax diagram begin-stmt

    commit-stmt:

    syntax diagram commit-stmt

    rollback-stmt:

    syntax diagram rollback-stmt
  • Segue o trecho do manual do PHP referindo-se as transações:

    http://www.php.net/manual/pt_BR/pdo.transactions.php

    Unfortunately, not every database supports transactions, so PDO (PHP DATA Objects) needs to run in what is known as "auto-commit" mode when you first open the connection. Auto-commit mode means that every query that you run has its own implicit transaction, if the database supports it, or no transaction if the database doesn't support transactions. If you need a transaction, you must use the PDO::beginTransaction() method to initiate one. If the underlying driver does not support transactions, a PDOException will be thrown (regardless of your error handling settings: this is always a serious error condition). Once you are in a transaction, you may use PDO::commit() or PDO::rollBack() to finish it, depending on the success of the code you run during the transaction.

    Portanto: as transações possíveis são commit, beginTransaction e rollBack

  • Nâo entendi porque a questão está errada, quem souber pode me explicar
    Tipo a extensões disponíveis  da linguagem PHP não tem todas essas funcões de iniciar (begin transaction) e encerrar transação (end transaction), fazer roolback de uma transação, abortar uma transação (abort transaction), fundir uma transação a outra (join transaction) e separar uma transação de outra (split transaction) ?
  • Acredito que a questão esteja errada pois em uma transação vc só tem as opções begin, commit ou rollback.
  • As operações fundir uma transação a outra (join transaction) e separar uma transação de outra (split transaction) não fazem sentido pois derrubariam a propriedade ACID do ISOLAMENTO.



    Bons estudos.
  • Complementando:
    Não existe ROOLBACK
    mas existe ROLLBACK
  • Prezados,

    A exemplo da extensão para o SQL Server , o PHP tem funções para iniciar uma transação , fazer rollback ( e não roolback ) , comitar a transação, encerrar a transação , mas não existe nada para fundir nem separar uma transação.

    Portanto a questão está errada.
    Gabarito: ERRADO.

    Fonte : https://secure.php.net/manual/pt_BR/function.sqlsr...
  • GABARITO ERRADO!

    .

    .

    Os comandos DTL são responsáveis por gerenciar diferentes transações ocorridas dentro de um banco de dados.

    Ele é dividido em 3 comandos:

    BEGIN TRANSACTION – Marca o começo de uma transação no banco da dados que pode ser completada ou não.

    COMMIT – Envia todos os dados da transação permanentemente para o banco de dados.

    ROLLBACK – Desfaz as alterações feitas na transação realizada.


ID
242941
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os próximos itens, que tratam de transações em sistemas de
bancos de dados.

Os mecanismos de controle de concorrência implementados em sistemas de bancos de dados visam garantir que as transações tenham a propriedade de isolamento.

Alternativas
Comentários
  • Atomicidade

    Uma transação deve ser uma unidade atômica de trabalho; ou todas as suas modificações de dados são executadas ou nenhuma delas é executada.

    Consistência

    Quando concluída, uma transação deve deixar todos os dados em um estado consistente. Em um banco de dados relacional, todas as regras devem ser aplicadas às modificações da transação para manter toda a integridade dos dados. Todas as estruturas de dados internas, tais como índices em árvore B ou listas duplamente vinculadas, devem estar corretas ao término da transação.

    Isolamento

    Modificações feitas por transações simultâneas devem ser isoladas das modificações feitas por qualquer outra transação simultânea. Uma transação reconhece os dados no estado em que estavam antes de outra transação simultânea tê-los modificado ou reconhece os dados depois que a segunda transação tiver sido concluída, mas não reconhece um estado intermediário. Isso é chamado serializabilidade porque resulta na capacidade de recarregar os dados iniciais e reexecutar uma série de transações de modo que os dados obtidos estejam no mesmo estado em que estavam depois que as transações originais foram executadas.

    Durabilidade

    Depois que uma transação tiver sido concluída, seus efeitos ficam permanentemente no sistema. As modificações persistem até mesmo no caso de uma queda do sistema.

  • Os mais comuns mecanismos de controle de concorrência utilizados nas transações são os bloqueios(lock), por exemplo bloqueia um item de dado quando se deseja fazer uma operação de escrita, existem outros modos de utilização.
    Abraços, vamo que vamo.
  • CERTO

    Segundo Navathe(2011,p.508),"A propriedade de ISOLAMENTO é imposta pelo subsistema de controle de concorrência do SGBD."

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS-6 EDIÇÃO 2011-NAVATHE

  • GABARITO CORRETO!

    .

    .

    CESPEZADA

    As transações em um banco de dados devem possuir propriedades que são definidas pelo controle de concorrência e pelos métodos de restauração do SGDB. A propriedade do tipo isolamento permite que a transação seja executada sem que haja interferência das demais transações concorrentes.

    CORRETO!

  • CERTO

    Isolamento: garante que a transação não será interferida por nenhuma outra transação concorrente(paralela) - em sistemas multiusuários, o controle de concorrência garante que vários usuários acessem simultaneamente sem interferências.

  • A propriedade de isolamento decorre do controle de concorrência e é uma das quatro propriedades relacionadas ao controle de transações, a saber:

    ❖ Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não deve ser realizada de forma alguma.

    ❖ Consistência: uma transação deve, se for completamente executada, levar o banco de dados de um estado consistente para outro.

    ❖ Isolamento: uma transação deve parecer executar isoladamente das demais, embora centenas de transações possam ser executadas concorrentemente. Esta propriedade é imposta pelo subsistema de controle de concorrência do SGBD.

    ❖ Durabilidade: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

    Gabarito: Certo.


ID
242944
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os próximos itens, que tratam de transações em sistemas de
bancos de dados.

Uma transação é uma unidade lógica de trabalho que tem como uma de suas propriedades a atomicidade. Segundo essa propriedade, uma vez que a transação tenha sido executada suas atualizações tornam-se permanentes no banco de dados.

Alternativas
Comentários
  • Atomicidade

    Uma transação deve ser uma unidade atômica de trabalho; ou todas as suas modificações de dados são executadas ou nenhuma delas é executada.

    Consistência

    Quando concluída, uma transação deve deixar todos os dados em um estado consistente. Em um banco de dados relacional, todas as regras devem ser aplicadas às modificações da transação para manter toda a integridade dos dados. Todas as estruturas de dados internas, tais como índices em árvore B ou listas duplamente vinculadas, devem estar corretas ao término da transação.

    Isolamento

    Modificações feitas por transações simultâneas devem ser isoladas das modificações feitas por qualquer outra transação simultânea. Uma transação reconhece os dados no estado em que estavam antes de outra transação simultânea tê-los modificado ou reconhece os dados depois que a segunda transação tiver sido concluída, mas não reconhece um estado intermediário. Isso é chamado serializabilidade porque resulta na capacidade de recarregar os dados iniciais e reexecutar uma série de transações de modo que os dados obtidos estejam no mesmo estado em que estavam depois que as transações originais foram executadas.

    Durabilidade

    Depois que uma transação tiver sido concluída, seus efeitos ficam permanentemente no sistema. As modificações persistem até mesmo no caso de uma queda do sistema.

  • Questão incorreta. Essa definição não é da propriedade da atomicidade, mas sim da durabilidade.

    A  tomicidade
    C  onsistência
    I    ntegridade
    D  urabilidade



    Bons estudos.
  • Gabarito: ERRADO

     

    Questão refere-se à propriedade durabilidade.

  • As transações devem possuir várias propriedades, normalmente chamadas propriedades ACID; elas devem ser impostas pelos métodos de controle de concorrência e recuperação do SGBD. A seguir estão as propriedades ACID:

    Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não ser realizada de forma alguma.

    Preservação da consistência: uma transação deve preservar a consistência, significando que, se ela for completamente executada do início ao fim sem interferência de outras transações, deve levar o banco de dados de um estado consistente para outro estado consistente, ou seja, todas as regras e restrições definidas no banco de dados devem ser obedecidas.

    Isolamento: uma transação deve parecer como se fosse executada isoladamente de outras transações, embora muitas delas estejam sendo executadas de maneira simultânea, ou seja, a execução de uma transação não deve ser interferida por quaisquer outras transações que acontecem simultaneamente.

    Durabilidade ou permanência: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

  • ERRADO

    O erro se encontra em atomicidade, quando na verdade é durabilidade.

    Atomicidade é só vc lembrar assim: OU TUDO OU NADA, ou seja, ou a transação é completamente efetuada ou não é efetuada.


ID
246949
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A estrutura que mantém a informação sobre as alterações que foram aplicadas aos itens de dados a partir de transações e que é utilizada para restaurar um banco de dados para o estado de consistência mais recente é denominada de:

Alternativas
Comentários
  • A) O catálogo guarda os metadados com as informações de relações, atributos, indices, estatísticas, etc.
    B) CORRETA
    C) Guarda informações acessadas recentemente para evitar o acesso físico às relações, otimizando as transações
    D) Salva um ponto de retorno dentro de uma transação, onde pode-se realizar um Rollback sem perder toda a transação
    E) Vem de Last Recent Used, é um algoritmo para gerenciamento do conteúdo da cache

ID
246952
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O conceito de transação fornece um mecanismo para descrição de unidades lógicas de banco de dados. O problema que ocorre quando duas transações que acessam os mesmos itens de banco de dados tiverem suas operações intercaladas, de forma que tornem o valor de alguns dos itens incorretos é denominado de:

Alternativas
Comentários
  • a) Não me recordo desse termo na literatura.
    b) Dirty Read acontece quando uma trabsação intercalada com outra faz a leitura de um registro desatualizado, contudo não torna o valor do item incorreto como expõe a questão, visto que na leitura não é realizada nenhuma escrita.
    c) Correta, acontece quando duas transações acessam um registro simultaneamente. A transação T1 coloca o valor do item como "Maria" e logo após a transação T2 o coloca como "João". Ao final a atualização realizada por T1 terá sido perdida.
    d) Tradução mal feita da letra b
    e) Está fora do escopo da questão
  • Tornem remete a escrita. Então seria uma Atualização Perdida.

    Acontece quando duas transações leêm o valor de X.

    Então T1 faz:

    X = X+10

    ao passo que T2 faz:

    X = X - 10

    T1 vai escrever:

    write(X).

    T2 vai escrever e sobrescrever T1.

    writer(X)
     
  • Atualização Temporária = Dirty Read = Leitura de Sujeira -> uma transação Ti grava um item A, uma transação Tj A. Ti falha (rollback) e retorna o valor original de A, mas Tj já está utilizando o valor errado. Esse valor errado é chamado sujeira. Esse problema ocorre porque Tj leu um valor gravado por Ti antes que Ti tenha sido commitada.
    Atualização Perdida -> uma transação TiA e faz um cálculo utilizando A, uma transação Tj também lê A e faz cálculo usando A. Ti grava o resultado do seu cálculo em X, em seguida Tj grava o cálculo da operação que realizou em X (sobrescreve). Nesse momento, X possui um valor incorreto, pois o cálculo de Tj não levou em consideração a atualização feita por Ti. A atualização que Ti fez foi simplesmente perdida.
    Sumário incorreto -> se uma transação aplicar uma função agregada para sumário de um número de registros (ex: SUM) enquanto outras transações estiverem atualizando alguns desses registros, a função agregada corre o risco de calcular alguns valores antes de eles serem atualizados e outros depois de feita a atualização.
    Fonte: Sistemas de Banco de Dados - NAVATHE - 4ª edição - página 400.
  • Problema da atualização temporária (ou leitura suja) (sem Commit): ocorre quando uma transação atualiza um item no banco de dados e depois a transação falha por algum motivo. Nesse meio tempo, o item atualizado é acessado por outra transação, antes de ser alterado de volta para o seu valor original. 

    Problema de atualização perdida (com commit): ocorre quando duas transações que acessam os mesmos itens do banco de dados tem suas operações intercaladas de modo que isso torna o valor de alguns itens do banco de dados incorreto. 

    Problema de resumo incorreto: se uma transação está calculando uma função de resumo de agregação em uma série de itens de banco de dados, enquanto outras transações estão atualizando alguns desses itens, a função de agregação pode calcular alguns valores antes que eles sejam atualizados e outros, depois que eles foram atualizados

    Alternativa: C


ID
246961
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Transação é um conjunto de procedimentos que é executado num banco de dados, e que para o usuário é visto como uma única ação. A integridade de uma transação depende de 4 propriedades, conhecidas como ACID. Assinale a alternativa correta:

Alternativas
Comentários
  • ACID:

    Atomicidade : tudo ou nada, todas as operações são executados com sucesso ou nada é feito;

    Consistência: a integridade dos dados são assegurados após transação;

    Isolamento: uma transação é transparente para as outras;

    Durabilidade: os efeitos de uma transação em caso de sucesso são permanentes. 
  • Essa foi para não zerar.


ID
246964
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Atomicidade é uma propriedade de transação de um SGBD relacional a qual garante que:

Alternativas
Comentários
  • Opss. Questão confusa, com duas alternativas parecidas.

    Segundo Silberschatz, 5° Edição:

    "Atomicidade: Todas as operações da transação são refletidas corretamente no banco de dados, ou nenhuma delas"

    Quando confrontamos com a alternativa b

    "nenhuma operação do banco de dados de uma transação pode ser parcial "

    Ora, se todas operações do banco devem ser refletidas corretamente, então nenhuma operação do banco de dados, em uma transação, pode ser pacial, isto é, ficar pela metade.

    A não ser que ele quis dizer no sentido de realizar uma operação parcial sobre os dados propositalmente, por exemplo, a operação DELETE, deletar parcialmente um conjunto de dados.

    O resto está claro.

    "cada transação funciona completamente à parte de outras estações"
    Opss. Não sei, talvez refira-se a algum conceito de banco de dados distribuído, como autonomia local.
    Vou acompanhar esse tópico para ver se alguém sabe.


    "significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subsequente"
    Isso é durabilidade.  Depois do COMMIT,  essa transação só pode ser desfeita por uma transação de compensação.

    "outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento. "
    Refere-se ao isolamento. Uma conjunto de transações deve executar, como se cada transação estivesse executando sozinha.

  • Acredito que a letra b) quer dizer que qualquer operação em uma transação não pode ser completada por outras operações, ou seja, se a letra b) estivesse correta eu não poderia pegar o valor X, modificá-lo e escrever ele novamente na base pois as operações de pegar o valor, modificar e escrever são parciais, cada uma faz uma parte do objetivo inicial que é modificar a variável X.
  • Letra b é o principio da consistência onde nenhuma operação do banco de dados de uma transação pode ser parcial. O status de uma transação deve ser implementado na íntegra. Por exemplo, um pagamento de conta não pode ser efetivado se o processo que debita o valor da conta corrente do usuário não for efetivado antes, nem vice-versa.
  • a-

    Atomicidade consiste em transações nao sendo executadas parcialmente. Em atomicidade, a operação tem que ser completa ou nem ocorrer


ID
249493
Banca
CESPE / CEBRASPE
Órgão
DETRAN-ES
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens de 81 a 94, acerca de princípios, métodos, técnicas
e processos da engenharia de software e de bancos de dados.

Se, em um SGBD, ocorrer uma falha de sistema que impeça o funcionamento do ambiente quando uma transação estiver em andamento, uma operação de roolback e, em seguida, uma operação de recovery serão executadas quando o SGBD voltar ao estado operacional.

Alternativas
Comentários
  • ERRADO. Se o erro aconteceu durane a transação, significa que os dados ainda não  foram persistidos por meio de um COMMIT. Neste caso, basta fazer um rollback (na questão está escrito roolback, errado). O banco de dados irá retornar ao seu último estado consistente. O recovery não é necessário. Este é o erro da questão.
  • facilmente anulável pois o correto é "rollback" e não "roolback"
  • O commit não foi realizado. 
  • O erro é que, se nenhuma mudança foi finalizada (ainda não foi feito o COMMIT), não é necessário (e nem faz sentido) fazer um rollback.



  • Relativamente ao comentário do colega acima, o ROLLBACK faz sentido sim, justamente porque não foi feito o COMMIT. Esta é justamente a função dele. Uma vez executado o COMMIT, o ROLLBACK não tem mais efeito sobre a(s) transação(ões).

    Bons estudos!!
  • O livro do Silberchatz elenca dois tipos de falhas: falhas de transações e falhas de sistema;

    No caso das falhas de sistema, objeto da questão, a recuperação dá-se em duas fases:

    fase redo: varre o log, repete todas as atualizações a partir do último checkpoint até o fim do log; Nesta mesma fase são identificadas as transações que começaram mas que não haviam sido concluídas.

    fase undo: as transações não comitadas, identificadas na fase anterior, são revertidas (rollback);

    Ou seja, primeiro faz o replay de todas as transações a partir do último ponto de verificação e na sequencia reverte (faz o rollback) das pendentes.


  • Commit: processo de gravação no BD da transação efetuada com sucesso

    RollBack: é um processo que retorna à configuração anterior caso ela não seja bem sucedida.

    "Dessa forma, se tudo ocorrer bem, as operações de gravação de uma transação devem ser confirmadas – o que chamamos de COMMIT; caso ocorra alguma falha, as operações de gravação de uma transação devem ser desfeitas – o que chamamos de ROLLBACK."

    Fonte: Estratégia.

  • GABARITO ERRADO!

    .

    .

    Os comandos DTL são responsáveis por gerenciar diferentes transações ocorridas dentro de um banco de dados.

    Ele é dividido em 3 comandos:

    BEGIN TRAN (OU BEGIN TRANSACTION) – Marca o começo de uma transação no banco da dados que pode ser completada ou não.

    COMMIT – Envia todos os dados da transação permanentemente para o banco de dados.

    ROLLBACK – Desfaz as alterações feitas na transação realizada.


ID
266797
Banca
CESPE / CEBRASPE
Órgão
PC-ES
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Quanto aos conceitos de banco de dados, storage e RAID, julgue
os itens seguintes.

Em bancos de dados multiusuário, o controle de concorrência é um mecanismo utilizado no processamento de transações para garantir a propriedade da atomicidade.

Alternativas
Comentários
  • Resposta : ERRADO

    Pois:
    Isolamento: as atualizações de uma transação em execução não são visíveis para outras transações.
    Atomicidade: uma transação é uma unidade atômica de processamento; ou todas suas operações são executadas ou nenhuma é executada.

    A assertiva misturou os 2 conceitos.
  • Atomicidade: As transações são atômicas (tudo ou nada)

    Isolamento: As transações são isoladas uma das outras. Isto é, embora em geral haja muitas transações sendo executadas ao mesmo tempo, as atualizações de qualquer transação dada são ocultas de todas as outras até o COMMIT dessa transação.

    Percebam que a questão nos apresenta uma definição corretamente associada ao isolamento.

  • GABARITO: ERRADO.

    Pega a visão!

    ACID é um conceito que se refere às quatro propriedades de transação de um sistema de banco de dados: Atomicidade, Consistência, Isolamento e Durabilidade.

    Atomicidade: Em uma transação envolvendo duas ou mais partes de informações discretas, ou a transação será executada totalmente ou não será executada, garantindo assim que as transações sejam atômicas. (Logo, percebemos que a questão NÃO trata dessa propriedade. Prossigamos...)

    Consistência: A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente. (Percebeu o termo? CONCORRENTE!)

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

    Bons estudos.

  • Propriedades das transações >> Responsáveis:

    ATOMICIDADE >> Subsistema de recuperação

    ISOLAMENTO >> Subsistema de controle de concorrência.

    DURABILIDADE >> Subsistema de recuperação.

    CONSISTÊNCIA >> Programador ou módulo de restrições de integridade.

    Fonte: Ramom Souza - Exponencial

  • CESPE:

    Os mecanismos de controle de concorrência implementados em sistemas de bancos de dados visam garantir que as transações tenham a propriedade de isolamento. CERTO

  • gabarito: errado

    ISOLAMENTO: uma transação deve parecer executar isoladamente/independentemente das demais, mesmo que diversas transações estejam sendo executadas concorrentemente.

    Responsável: Subsistema de Controle de Concorrência.

    • Atomicidade = subsistema de recuperação
    • Consistência= subsistema de integridade
    • Isolamento= subsistema de concorrência
    • Durabilidade= subsistema de recuperação
  • Transação é um programa ou um processo em andamento que inclui acessos ao banco de dados. Aquela possui as seguintes propriedades (C I D A): 

     

    CONSISTÊNCIA – Respeita as regras e restrições de integridade dos dados, ou seja, os dados não podem ser alterados (são íntegros/ consistentes) – Em uma transação bancária, não posso depositar R$100,00 e só chegar na conta de destino R$50,00.  

     

    ISOLAMENTO – Várias transações podem ocorrer juntas, mas é como se estivessem sozinhas (isoladas) – Exemplo de um banco de questões de concurso no qual vários alunos fazem filtros simultâneos (operações exteriores), mas essas modificações não se comunicam (parecem isoladas).  

     

    DURABILIDADE – Os resultados de uma transação serão definitivos – Mesmo se acabar a energia os dados estarão disponíveis.   

     

    ATOMICIDADE – A transação deve ocorrer até o fim (Não pode ser dividida) – ou faz até o fim ou nem faz – Exemplo do átomo no qual acreditavam ser indivisível.   

    copiado do colega Cibodosam do projeto missão

  • "A propriedade de isolamento garante que cada transação pareça executar isoladamente das demais, embora centenas de transações possam estar executando concorrentemente."

    Fonte: Navathe

  • gabarito: errado

    ISOLAMENTO: uma transação deve parecer executar isoladamente/independentemente das demais, mesmo que diversas transações estejam sendo executadas concorrentemente.

    Responsável: Subsistema de Controle de Concorrência.

    • Atomicidade = subsistema de recuperação
    • Consistência= subsistema de integridade
    • Isolamento= subsistema de concorrência
    • Durabilidade= subsistema de recuperação

  • Em bancos de dados multiusuário, o controle de concorrência é um mecanismo utilizado no processamento de transações para garantir a propriedade do isolamento. 

    gab: ERRADO


ID
275038
Banca
COMPERVE
Órgão
UFRN
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

As propriedades que uma transação de banco de dados deve possuir são:

Alternativas
Comentários
  • Gabarito Letra D
     

    Atomicidade
    A propriedade de atomicidade garante que as transações sejam atômicas (indivisíveis). A transação será executada totalmente ou não será executada.

     

    Consistência
    A propriedade de consistência garante que o banco de dados passará de uma forma consistente para outra forma consistente.

     

    Isolamento
    A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

     

    Durabilidade
    A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.

     

    Fonte: livro Sistemas de banco de dados – Ramez Elmasri e Shamkant B. Navathe.
    bons estudos


ID
283708
Banca
FUNIVERSA
Órgão
IPHAN
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Transação é o nome dado a um conjunto de procedimentos executados em um banco de dados, mas que na visão do usuário parecem ser uma única ação. A integridade de uma transação é garantida pelas propriedades de (1) Atomicidade, (2) Consistência, (3) Isolamento e (4) Durabilidade. Assinale a alternativa correta, a respeito das propriedades de uma transação.

Alternativas
Comentários
  • a) A consistência garante que, após a conclusão da transação, as mudanças efetuadas persistirão, mesmo se houver falhas no sistema.
    ( Durabilidade )

    b) Pela propriedade do isolamento, todas as ações que compõem a transação devem ser concluídas com sucesso, para que sejam efetivadas no banco de dados.

    Isolamento garante que as operações concorrentes em um banco de dados sejam executadas com o mesmo resultado que se elas estivessem sendo executadas individualmente.

    c) A propriedade da durabilidade evita que os resultados de uma transação sejam permanentes, permitindo que os resultados de uma ação possam ser desfeitos na mesma transação.

    Comentário: Durante uma transação, os dados não são alterados diretamente do banco de dados, mas sim em um log de transação. Depois que a transação é concluída é que o banco coloca do log para o armazenamento durável.

    d) A atomicidade garante que todas as operações da transação sejam refletidas corretamente no banco de dados. Do contrário, nenhuma operação será realizada. (Correto)

    e) As propriedades de isolamento e durabilidade visam à guarda permanente dos dados, por meio de mecanismos de backup, garantindo a integridade do banco de dados.

    Durabilidade -> Armazenamento de dados em meio durável, mas não trata  ( conceituralmente) de tolerância a falhas como backup ou replicação.


ID
320527
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de controle e processamento de transações, envolvendo recuperação, concorrência, gerência e protocolos de transações distribuídas, assinale a opção correta.

Alternativas
Comentários
  • O padrão ISO define os 4 tipos de Isolamento, são eles:

    1)-Read uncommited (leitura não confirmada)

    2)-Read commited (leitura confirmada)

    3)-Repeatable read (leitura repetida)

    4)- Serializable (serializável)

     

    Tabela de Níveis de Isolamento x Problemas de Consistência:

     

                                               Dirty Read     |     Non Repetable Read    |      Phantom

    ________________________________________________________________________

    Read Uncommitted           SIM                |          SIM                           |         SIM

    Read Committed              NÃO               |          SIM                           |         SIM

    Repeatable Read              NÃO               |          NÃO                          |         SIM

    Serializable                     NÃO               |           NÃO                         |         NÃO 


ID
339112
Banca
COSEAC
Órgão
DATAPREV
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Uma transação acontece como um todo ou nada deve ser feito .A esta propriedade dar-se o nome de:

Alternativas
Comentários
  • Gabarito Letra D
     

    Atomicidade
    A propriedade de atomicidade garante que as transações sejam atômicas (indivisíveis). A transação será executada totalmente ou não será executada.

     

    Consistência
    A propriedade de consistência garante que o banco de dados passará de uma forma consistente para outra forma consistente.

     

    Isolamento
    A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

     

    Durabilidade
    A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.

     

    Fonte: livro Sistemas de banco de dados – Ramez Elmasri e Shamkant B. Navathe.
    bons estudos


ID
339124
Banca
COSEAC
Órgão
DATAPREV
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Se existe um sistema com um conjunto de transações, tal que toda a transação deste conjunto está esperando outra transação também nele contida, diz-se que este sistema está emestado de:

Alternativas
Comentários
  • Deadlock - situacao em que um processo aguarda por um recurso que nunca estará disponivel ou por evento que nunca ocorrerá.

  • Gabarito B

    A questão tenta confundir o candidato colocando o conceito de Starvation ao invés do Deadlock

    Esses conceitos são muitos parecidos, no entanto, no Starvation o processo espera por um recurso que não fica disponivel por causa que outros com prioridades maiores estão usando.

    Ainda pode-se resaltar que existe outro conceito parecido com eles, o Livelock.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
345358
Banca
MOVENS
Órgão
Prefeitura de Manaus - AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma transação é uma unidade de execução de programa que acessa e, possivelmente, atualiza itens de dados. Com base nesse assunto, assinale a opção que apresenta uma propriedade das transações.

Alternativas
Comentários
  • Uma transação é um conjunto de procedimentos, executados num banco de dados, que o usuário percebe como uma única
    ação.

     

    A integridade de uma transação depende de 4 propriedades conhecidas como ACID.

    Atomicidade

    Consistência

    Isolamento

    Durabilidade

     

    Gabarito: B

     


ID
348838
Banca
FGV
Órgão
CODESP-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em bancos de dados, uma transação é uma unidade lógica de trabalho, começando com a operação BEGIN TRANSACTION e terminando conforme descrito a seguir:

I. Com uma operação específica, que indica o término bem-sucedido da transação. Ela informa ao gerenciador de transações que uma unidade lógica de trabalho foi concluída com sucesso, que o BD está novamente em estado correto e que todas as atualizações foram feitas por essa unidade de trabalho e podem ser gravadas no banco de dados.

II. Com uma operação específica, que indica o término malsucedido da transação. Ela informa ao gerenciador de transações que algo saiu errado, que o BD pode estar em um estado incorreto, e que todas as transações feitas pela unidade lógica de trabalho até o momento devem ser desfeitas.

Essas operações são denominadas, respectivamente,

Alternativas
Comentários
  • O comitt é uma espécie de confirmação de q a transação foi bem sucedida e q os efeitos dela devem ser duráveis(persistir no banco).
    o rollback é usado para desfazer todos os efeitos de uma transação caso a propriedade da atomicidade seja quebrada, isto é, se apenas parte da transação tenha sido executada.
  • De acordo com Navathe, página 506, ROLLBACK é sinônimo de ABORT. Apesar de seu livro usar o abort com maior frequência, tanto a C quanto a E são válidas.
  • O Navathe usa o termo ABORT como sinônimo de ROLLBACK em seu livro - Até nas imagens de fluxo. No meu entendimento a questão teve 2 respostas certas (C e E) e deveria ser anulada.

  • Commit - confirmar alterações no banco

    rollback - cancelar operações

  • Questão bem tranquila a respeito da DTL, linguagem de transações dos bancos de dados relacionais. Nela, o comando COMMIT indica que a transação terminou com sucesso e pode ter seus efeitos confirmados no banco de dados. Já o ROLLBACK ocorre quando há algum erro e os efeitos intermediários da transação devem ser revertidos até o começo, ou até um savepoint, quando ele for definido.


ID
360634
Banca
FEPESE
Órgão
UDESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

A afirmação “o DBA deve definir todas as restrições de integridade para assegurar transições válidas para os dados” se refere a uma ação tomada para garantir uma das propriedades ACID de uma transação.

Assinale a alternativa que apresenta o nome dessa propriedade.

Alternativas
Comentários
  • Consistência, no contexto de banco de dados, o termo refere-se a transações que não violem nenhuma restrição de integridade durante a sua execução.

  • Quem impõe as restrições de integridade são os programadores do BD.

    .

    .

    At.te

    Foco na missão ❢

  • DBA é o Data Base Administrator ou Administrador de Banco de Dados. Ademais, a questão fala de definição de restrições de integridade, de maneira que deixe o banco de dados consistente, logo só pode estar falando da Propriedade de Consistência (Letra C).


ID
363040
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Instruções: Para responder às questões de números 31 a 50,
considere que os aplicativos devem ser reputados
sempre na originalidade da versão referenciada e
não quaisquer outras passíveis de modificação (cus-
tomização, parametrização, etc.) feita pelo usuário.
Quando não explicitados nas questões, as versões
dos aplicativos são: Windows XP edição doméstica
(Português), Microsoft Office 2000, SGBD MS-SQL
Server 2000 e navegador Internet Explorer 8. Mouse
padrão destro.

A propriedade das transações de um SGBD que garante: “ou todas as operações da transação são refletidas corretamente no banco de dados ou nenhuma o será” é a

Alternativas
Comentários
  • Propriedades das transações:
    Atomicidade - ou todas as operações da transação são refletidas corretamente no banco de dados ou nenhuma o será;
    Consistência - a execução de uma transação isolada preserva a concistência do BD;
    Isolamento - diversas transações podem ocorrer de forma concorrente, mas uma não toma conhecimento das outras;
    Durabilidade - ao se completar uma transação com sucesso, as alterações feitas no BD persitem.
  • Navathe - Quarta Edição - Cáp. 17, pág. 404

    As transações devem possuir algumas propriedades, chamadas propriedades ACID, e elas devem ser impostas pelo controle de concorrências e métodos de restauração do SGBD. As propriedades ACID são as seguintes:

    • Atomicidade
      • Uma transação é uma unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo nenhum.
    • Preservação de Consistência
      • Uma transação será preservadora de consistência se sua execução completa fizer o banco de dados passar de um estado consistente para outro.
    • Isolamento
      • Uma transação será executada como se estivesse isolada das demais. Isto é, a execução de uma transação não deve sofrer interferência de quaisquer outras transações concorrentes.
    • Durabilidade ou Permanência
      • As mudanças aplicadas ao banco de dados por uma transação efetivada devem persistir no banco de dados. Essas mudanças não devem ser perdidas em razão de uma falha.
  • A propriedade de atomicidade estabelece que: uma transação é uma unidade de processamento

    atômica que deve ser executada integralmente até o fim ou não deve ser executada de maneira

    alguma – em conformidade com o enunciado da questão.


ID
459016
Banca
CESPE / CEBRASPE
Órgão
HEMOBRÁS
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Com base nos conceitos de administração de bancos de dados,
julgue os seguintes itens.

A violação da integridade de um banco de dados pode ser causada por falhas em transações, interferência entre transações, acessos não autorizados e valores incorretos na atualização de dados.

Alternativas
Comentários
  • (C)

    Se uma violação de integridade ocorrer, o seu banco de dados apresentará registros inconsistentes que apontam para entidades que não existem, o que tende a se manifestar nas aplicações sob a forma de vários tipos de problemas.

    Fonte: StackOverflow


ID
459031
Banca
CESPE / CEBRASPE
Órgão
HEMOBRÁS
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Com base nos conceitos de SGBDs e sobre o projeto físico de um
banco de dados, julgue os itens que se seguem.

Para um dado esquema conceitual, podem existir várias soluções físicas. A escolha da solução mais apropriada deve considerar os tipos de consultas, as transações e as aplicações esperadas no banco de dados.

Alternativas
Comentários
  • Resposta: C

    A depender da solução desejada, pode-se escolher, por exemplo, entre um banco de dados Relacional (Oracle, PostgreSQL, Microsoft SQL Server, MySQL etc.) ou outro modelo. Atualmente está se falando muito sobre o "modelo" NoSQL, que acredita-se ser mais escalável que o relacional. Já existem diversos SGBDs que adotam o NoSQL, entre eles: Google's BigTable, Amazon's DynamoDB e Apache Cassandra.

    http://pt.wikipedia.org/wiki/NoSQL

  • CERTO. Achei a resposta no olho do furacão. haha.

    Segundo Navathe(2011,p.490),"Para determinado esquema conceitual,existem muitas alternativas de projeto físico em determinado SGBD. Não é possível tomar decisões significativas de projeto físico e análise de desempenho até que o projetista de banco de dados conheça a combinação de consultas,transações e aplicações de sistema de banco de dados."

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS-6 EDIÇÃO-NAVATHE


ID
459094
Banca
CESPE / CEBRASPE
Órgão
HEMOBRÁS
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Com base nos conceitos de uso de métricas de desempenho e a
gerência de falhas em bancos de dados, analise os itens a seguir.

O tempo de transação corresponde ao intervalo de tempo em que um fato está ativo dentro do sistema de banco de dados. Esse tempo é diferente do tempo válido, o qual corresponde ao tempo em que o fato é verdadeiro no mundo real.

Alternativas
Comentários
  • Entendendo sobre banco de dados temporais: (Se não bastassem os outros tipos, ainda tem esse pra estudar!!!)

    Como o próprio nome informa, banco de dados temporal está relacionado ao tempo, oferecem a possibilidade de armazenar informações históricas a respeito de um determinado objeto que nele está sendo mantido (EDELWEISS, 1998, TANSEL, 1997).

    Tipos de Tempo: Instantâneo, transação, validade, bitemporal.

    Tempo de uma transação: Tempo de definição de um dado no banco de dados por uma transação. Exemplo: uma operação bancaria, temos o acesso ao estado anterior do saldo da conta.

    Tempo de validade: Tempo em que o dado é valido no mundo real. O tempo é fornecido pelo usuário. Possui características de banco de dados de tempo de validade ou banco de dados histórico. Exemplo: quadro clínico de um paciente ou histórico de transações bancarias.

    Existem três tipos de ordem do tempo: Linear, Ramificada, Circular

    Rótulos temporais: Instante, Intervalo, Elemento temporal, Instante

    BLA, BLA, BLA

    BLA, BLA, BLA

    BLA, BLA, BLA

    SOCORROOOOO...!!!!


ID
486568
Banca
FCC
Órgão
TCE-AL
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Uma transação executará qualquer operação somente depois que o gerenciador de banco de dados conceder o bloqueio do dado por meio do

Alternativas
Comentários
  • É responsabilidade do gerenciador de controle de concorrência controlar as interações entre transações concorrentes de modo a garantir a consistência dos dados.

    Livro: Sistemas de Banco de dados - cap 1 Introdução pag 13 (3ª Edição)

ID
488626
Banca
NCE-UFRJ
Órgão
UFRJ
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

A sigla ACID é usualmente empregada para evocar as propriedades que as transações executadas num banco de dados devem possuir. Essas propriedades são:

Alternativas
Comentários
  • Gabarito Letra E
     

    Atomicidade
    A propriedade de atomicidade garante que as transações sejam atômicas (indivisíveis). A transação será executada totalmente ou não será executada.

     

    Consistência
    A propriedade de consistência garante que o banco de dados passará de uma forma consistente para outra forma consistente.

     

    Isolamento
    A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

     

    Durabilidade
    A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.

     

    Fonte: livro Sistemas de banco de dados – Ramez Elmasri e Shamkant B. Navathe.
    bons estudos


ID
513598
Banca
FMP Concursos
Órgão
TCE-RS
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Em um sistema de gerenciamento de banco de dados (SGBD), o momento em que todos os passos de uma transação já se encontram na lista completa das atividades a serem executadas para efetivar a transação chama-se ponto de

Alternativas
Comentários
  • COMMIT - Responsável por efetivar a transação corrente, pois quando se trabalha com um banco de dados em que vários usuários vão utilizá-lo ao mesmo tempo, tem que se efetivar a operação.
    Sem o COMMIT a alteração não será visualizada para as outras "sessões", salvo se a sessão em que fez a alteração for fechada.
  • O comando COMMIT efetiva a transação corrente. Todas as modificações efetuadas pela transação se tornam visíveis para os outros, e existe a garantia de permanecerem se ocorrer uma falha.


ID
519568
Banca
Exército
Órgão
EsFCEx
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Em relação aos níveis de isolamento de transações realizadas em bancos de dados, é correto afirmar quanto ao conceito de READ UNCOMMITED que:

Alternativas

ID
620380
Banca
IADES
Órgão
CFA
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Uma transação é uma unidade lógica de trabalho; normalmente começa com a execução de uma operação BEGIN TRANSACTION e termina com a execução de uma operação COMMIT ou ROLLBACK. As transações possuem 4 propriedades importantes, que são chamadas propriedades ACID. Assinale a alternativa que indica corretamente quais são as 4 propriedades.

Alternativas
Comentários
  • Gabarito Letra B
     

    Atomicidade
    A propriedade de atomicidade garante que as transações sejam atômicas (indivisíveis). A transação será executada totalmente ou não será executada.

     

    Consistência
    A propriedade de consistência garante que o banco de dados passará de uma forma consistente para outra forma consistente.

     

    Isolamento
    A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

     

    Durabilidade
    A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.

     

    Fonte: livro Sistemas de banco de dados – Ramez Elmasri e Shamkant B. Navathe.
    bons estudos

     


ID
620413
Banca
IADES
Órgão
CFA
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Várias técnicas são utilizadas para garantir a integridade do Banco de Dados, entre elas o gerenciamento de transações e o controle de concorrência. Em relação aos problemas gerados pela falta de gerenciamento das transações, pode-se ter a perda de atualização dos dados, a leitura sujar os dados e a agregação incorreta. Considerando os problemas mencionados no enunciado, podemos afirmar que

Alternativas
Comentários
  • Letra A - a perda de atualização de dados pode ocorrer em decorrência de alguma falha na transação no momento que estava sendo feita uma atualização nos dados. Neste caso, devido à falha na transação, os itens manipulados voltam ao seu estado anterior, mas antes de sua ocorrência, outra transação pode ter acessado o valor do item já atualizado. ERRADA - Descreveu o conceito de leitura suja ou atualização temporária)

    Letra B - A leitura suja pode ocorrer quando duas transações que acessam os mesmos itens têm suas operações executadas de forma entrelaçada, gerando valores incorretos em um dos itens. ERRADA - Descreveu o conceito de perda de atualização.

    Letra C - CORRETA

     

    http://www.decom.ufop.br/guilherme/BCC321/geral/bd1_transacao_concorrencia_recuperacao.pdf


ID
644557
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considere:

I. Se uma transação é concluída com sucesso (operação commit bem sucedida), então seus efeitos são persistentes.

II. Ou todas as ações da transação acontecem, ou nenhuma delas acontece.

As propriedades (I) e (II) das transações em SGBDs, significam, respectivamente,

Alternativas
Comentários
  • Durabilidade

    Os efeitos de uma transação em caso de sucesso (commit) devem persistir no banco de dados mesmo em presença de falhas.


    Atomicidade

    Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação.

  • Uma transação de banco de dados deve possuir as propriedades dada pelo acrônimo ACID

    Atomicidade - Transação é indivisível
    Consistência - Integridade é assegurada
    Isolamento - Uma transação não interfere na outra
    Durabilidade - Os efeitos são permanentes
  • Atomicidade: Uma operação qualquer não pode ser parcialmente concluída, ela deve concluída totalmente ou não será concluída de forma alguma.
    Consistência: As restrições de integridade do SGBD devem ser respeitadas.
    Isolamento: Cada sentença deve ser executada individualmente.
    Durabilidade: As operações realizadas devem permanecer

    ACID

  • Questão tranquila sobre ACID!

    I. A propriedade descrita trata sobre persistência das transações confirmadas. Essa é a durabilidade!

    II. A propriedade determina que as transações devem ser executadas por inteiro, ou seja, que as transações são indivisíveis. Essa é a atomicidade.

    Gabarito: D


ID
695152
Banca
FCC
Órgão
TRF - 2ª REGIÃO
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Sobre transações em SQL, considere:

I. Uma transação é uma série de manipulação de dados em comandos SQL que executa uma unidade de trabalho lógica.

II. Os comandos COMMIT, ROLLBACK e INTERSECT fazem parte do controle de transações do SQL.

III. O comando COMMIT garante que as mudanças efetuadas durante a transação sejam armazenadas de forma permanente no banco de dados, terminando a transação. O comando ROLLBACK garante que as mudanças efetuadas dentro da transação sejam ignoradas, porém não termina a transação até que o comando END TRANSACTION seja executado.

É correto o que consta em

Alternativas
Comentários
  • I. Uma transação é uma série de manipulação de dados em comandos SQL que executa uma unidade de trabalho lógica. Correto

    II. Os comandos COMMIT, ROLLBACK e INTERSECT fazem parte do controle de transações do SQL. INTERSECT é um tipo de união de selects que retorna os valores iquais em ambas

    III. O comando COMMIT garante que as mudanças efetuadas durante a transação sejam armazenadas de forma permanente no banco de dados, terminando a transação. O comando ROLLBACK garante que as mudanças efetuadas dentro da transação sejam ignoradas, porém não termina a transação até que o comando END TRANSACTION seja executado.
  • Apenas complementando o colega:
    "O comando COMMIT garante que as mudanças efetuadas durante a transação sejam armazenadas de forma permanente no banco de dados, terminando a transação. O comando ROLLBACK garante que as mudanças efetuadas dentro da transação sejam ignoradas, porém não termina a transação até que o comando END TRANSACTION seja executado."

    Na verdade, ainda podemos levar em consideração que a questão não fala se os comandos são DML ou DDL.
    Apenas comandos DML (Data Manipulation Language) são considerados dentro da transação. Os comandos DDL (Data Definition Language) são sempre gravados de imediato no banco, independente de transação.

    Pelo menos essa é a características de grandes SGBDs como Oracle e SQL Server.
  • I. (CORRETO) Uma transação é uma série de manipulação de dados em comandos SQL que executa uma unidade de trabalho lógica.
     
    II. (ERRADO) INTERSECT é um tipo de união entre 2 ou mais tabelas o qual retorna os valores iquais em ambas, ou seja, esse comando realiza uma interseção entre essas tabelas.
     
    III. (ERRADO) A transação é persistida no banco e finalizada pelo comando COMMIT. Porém o comando ROLLBACK aborta e finaliza (END TRANSACTION) toda a transação que está em andamento, impedindo que os as alterações nos dados nela realizadas sejam persistidos no banco de dados.
  • Operações de transação:
    BEGIN_TRANSACTION -> marca o início da transação;
    READ ou WRITE -> especifica as operaçõs de leitura e gravação em itens do banco de dados;
    END_TRANSACTION -> especifica que as operações de leitura e gravação da transação terminaram, porém, neste ponto, ainda é necessário verificar se as operações poderão ou não ser persistidas no banco de dados. Após essas verificações uma das duas operações abaixo poderão ser executadas.
    COMMIT_TRANSACTION -> indica que as verificações foram feitas e que deu tudo certo, portanto, a transação poderá ser persistida no banco.
    ROLLBACK -> indica que as verificações foram feitas, mas que algo deu errado e, portanto, a transação será desfeita.
    Conforme visto acima, o END_TRANSACTION é executado antes do COMMIT ou ROLLBACK.
  • I. Uma transação é uma unidade de trabalho composta por vários comandos de leitura ou escrita de dados. Item correto! CERTA

    II. Os comandos COMMIT e ROLLBACK realmente marcam o final de uma transação em SQL. O COMMIT é utilizado quando a transação é executada de forma correta e pode ser gravada permanentemente no banco de dados, enquanto que o ROLLBACK é invocado quando a transação tem problemas e precisa ser revertida.

    Já o comando INTERSECT faz parte da DQL, não tendo nada a ver com a parte de transações da linguagem SQL (TCL). ERRADA

    III. Tanto o comando COMMIT quanto o ROLLBACK encerram a transação no banco de dados. A operação END_TRANSACTION das transações é executada quando não há mais comandos READ e WRITE a executa, mas a transação ainda fica pendente de um COMMIT ou ROLLBACK, caso seus resultados possam ou não ser persistidos no banco de dados. ERRADA

    Gabarito: A


ID
704251
Banca
CESPE / CEBRASPE
Órgão
MPE-PI
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A respeito de administração de banco de dados relacionais;
administração de usuários e perfis de acesso; controle de proteção,
integridade e concorrência; restauração de dados; tolerância a falhas
e continuidade de operação e otimização de desempenho, julgue os
itens de 85 a 87.

Na paginação shadow, o banco de dados é particionado em um número de blocos de comprimento variável. Durante o processamento dessa transação, mantêm-se duas tabelas de páginas ditas atual e shadow. Se a transação for completada, a página atual é atualizada com a cópia da página shadow mantida em armazenamento volátil.

Alternativas
Comentários
  • Shadow (Sombra)
     
    A paginação Shadow considera que o BD é composto por um número 
    de páginas de tamanho fixo (ou bloco de discos) para processo de 
    recuperação. 
     
    Um catálogo com n entradas é construído no qual a iésima entrada 
    aponta para a iésima página do BD em disco. 

    Se não for muito grande o catálogo será mantido na memória 
    principal.

    Quando uma transação se inicia, o catálogo corrente cujas entradas 
    apontam para os mais recentes ou correntes páginas em disco é 
    copiado em um shadow, o qual é salvo no disco, enquanto o catálogo 
    corrente é usado pela transação.

    fonte: http://www.catalao.ufg.br/cc/disc/sgbd/tecnicas_recupercao_bd.pdf
  • Na paginação shadow o BD é particionado em páginas de tamanho fixo e não variável.
    Na transação cria-se duas páginas idênticas: a Corrente e a Shadow. A página Corrente é atualizada durante a transação e a cada confirmação ela sobrepõe a Shadow (importante: A página shadow nunca é sobreposta durante a transação, apenas depois da confirmação). Caso haja algum problema, a Shadow, que continha os dados originais, sobrepõe a corrente. A questão diz exatamente o contrário. Outro erro da questão é dizer que a página Shadow é armazenada em meio volátil. Na verdade, a Shadow é armazenada em meio não-volátil de forma que o BD possa recuperar seu estado anterior à transação.
  • Dentre outros erros, nessa estratégia de recuperação, shadow é utilizada como backup, e em caso de falha toma o lugar da atual. Em caso de sucesso, shadow é descartada.

  • Caso haja algum problema, a Shadow, que continha os dados originais, sobrepõe a atul. A questão diz exatamente o contrário.


ID
709375
Banca
FCC
Órgão
MPE-PE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

No SQL, os controles de transação e concorrência definem diferentes tipos de isolamento para prevenir fenômenos indesejáveis que podem ocorrer em transações concorrentes. Estes fenômenos indesejáveis são: Dirt read, Nonrepeatable read e

Alternativas
Comentários
  • Existem basicamente três fenômenos que devem ser evitados pelos bancos de dados em caso de transações concorrentes e são eles:

    Dirty read: Leitura suja. Uma transação lê dados que outra transação não efetivada, ou seja, estes dados podem não ser os definitivos.

    Nonrepeatable read: Leitura não repetível. Ocorre quando uma transação precisa ler dados que já leu, porém eles foram alterados por outra transação.

    Phantom Read: Leitura fantasma. Muito similar a anterior, porém a nova leitura apesar de retornar dados diferentes, ainda satisfazem a condição imposta.
  • Na verdade existem 4 problemas de consistência (por ordem crescente de dificuldade para seu tratamento pelos níveis de isolamento nos SGBD). A questão aborda somente os 3 últimos:

    Perda de atualização: duas transações que ocorrem simultaneamente atualizam o mesmo dado. Isto pode ocorrer em uma seqüência segundo a qual uma das atualizações é perdida.

    Leitura Suja: leitura de dados não confirmados de uma linha existente, podendo ocasionar a leitura de uma informação nunca confirmada.

    Leitura Não-Repetida: duas leituras de dados na mesma transação não se repetem. Na segunda leitura, dados não existem ou foram modificados.

    Leitura Fantasma: na leitura de um conjunto de dados (função de agregação), surgem novas informações no conjunto que podem gerar um conflito. Apesar das transações não acessarem tuplas em comum, diz-se que as transações entraram em conflito em uma tupla fantasma.

    Bons estudos!


  • Além das dirty reads e unrepeatable reads, temos que nos preocupar também com as leituras fantasma, ou phantom reads. Esse problema é similar às leituras não repetíveis, no sentido em que há uma falha quando uma transação tenta ler duas vezes o mesmo item e houve uma alteração em seu valor entre as duas leituras. No caso dos fantasmas, a alteração confirmada deve ter sido uma inserção ou remoção de registros.

    Gabarito: D


ID
713287
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Uma das técnicas empregadas por Sistemas Gerenciadores de Bancos de Dados, para implementar o controle de transações concorrentes, é a utilização de bloqueios.
Para garantir a serialização da escala concorrente de várias transações, deve(m)-se empregar o(s)

Alternativas

ID
757987
Banca
FUMARC
Órgão
TJ-MG
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

___________ é um tipo de entrada no log de operações das transações de um banco de dados escrita quando o SGBD grava no banco de dados os buffers de memória que tiverem sido modifcados. Esse tipo de entrada garante que buffers modifcados sejam gravados em disco mesmo que suas transações não tiverem sido efetivadas. Complete a lacuna com a opção correta dentre as opções seguintes.

Alternativas
Comentários
  • Checkpoint: mais um tipo de entrada no log. ? É escrito periodicamente no log no momento em que o SGBD 
  • Checkpoints no Log do Sistema
     
    Escritos no log periodicamente quando o sistema grava no disco todas as operações WRITE de transações efetivadas

    O gerenciamento de recuperação do SGBD deve decidir quais os intervalos em que devem ocorrer checkpoints (unidade de tempo....)
  • Checkpoints no log de sistema
     
    Outro tipo de entrada no log é o checkpoint, um registro que é  escrito periodicamente dentro do log, no ponto em que o sistema 
    grava no banco de dados no disco todos os buffers do SGBD que tiverem sido modificados. 
     
    Conseqüentemente todas as transações que tiverem suas entradas [commit, T] no log, antes de uma entrada [chekpoint], 
    não necessitarão ter suas operações WRITE refeitas no caso de queda do sistema, uma vez que todas as suas atualizações foram 
    registradas no BD em disco durante o checkpoint.

    Fonte: http://www.catalao.ufg.br/cc/disc/sgbd/tecnicas_recupercao_bd.pdf
  • Tanto o COMMIT quanto o CHECKPOINT garantem a gravação do buffer de log no disco. Entretanto, o COMMIT faz com que a transação entre no estado EFETIVADA. Já o CHECKPOINT garante a gravação do log no disco mesmo que a transação ainda não tenha sido efetivada.
    Gabarito: letra D.
  • Checkpoint

    - Suspende a execução de transações temporariamente.

    - Força a gravação em disco de todos os buffers da memó­ria principal que foram modificados.

    - Grava um registro no log e forçar a gravação do log em disco.

    - Retoma a execução das transações.

    COMMIT_TRANSACTION: sinaliza um fim bem-sucedido da transação, de modo que quaisquer mudanças executadas pela transação podem ser seguramente confirmadas ao banco de dados e não serão desfeitas

    READ ou WRITE: especificam operações de leitura ou gravação nos itens do banco de dados.

    ROLLBACK: sinaliza que a transação foi encerrada sem sucesso, de modo que quaisquer mudança ou efeitos que a transação possa ter aplicado ao banco de dados precisam ser desfeitos.

    Alternativa: D

  • kkkkkkkkkkkkkkk


ID
769582
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

As restrições de integridade classificadas como restrições de transição tanto podem referir-se a apenas uma tabela, como a um conjunto de tabelas. Nessa última situação, denominam-se restrições de transição de banco de dados.

Alternativas
Comentários
  • As restrições de integridade resguardam o Banco de Dados contra danos acidentais, assegurando que mudanças feitas por usuários autorizados não resultem na perda de consistência de dados.

    Restrições de domínio são a forma mais elementar de restrições de integridade. Estas testam valores inseridos no Banco de Dados, e testam (efetuam) consultas para assegurar que as comparações façam sentido.

    Integridade referencial assegura que um valor que aparece em uma relação (tabela) para um determinado conjunto de atributos apareça em outro
    conjunto de atributos em outra relação (tabela).

  • Restrição de transição existe??
  • Existe isso Arnaldo? Restrição de transição?
    Também nunca ouvi falar
  • Infelizmente, existe no livro do Date.

    http://books.google.com.br/books?id=xBeO9LSlK7UC&pg=PA232&lpg=PA232&dq=Restri%C3%A7%C3%A3o+de+transi%C3%A7%C3%A3o&source=bl&ots=x9RxiXvf6M&sig=jG1y9IOyg27L93B_l-KDXJmtXpI&hl=pt&sa=X&ei=FJgXUfTOA4rU9QSky4C4Ag&redir_esc=y#v=onepage&q=Restri%C3%A7%C3%A3o%20de%20transi%C3%A7%C3%A3o&f=false
  • Nossa, nunca tinha ouvido falar disso. Pesquisei no livro do Date, conforme citado pelo colega acima, e segue a desrição para conhecimento de todos:

    Restrição de transação é uma restrição sobre as transições legais que determinada variável em particular pode fazer de um valor para outro. Por exemplo, o estado civil de uma pessoa pode mudar de "nunca casado" para "casado", mas o inverso não pode ocorrer. Desde que tenhamos um meio de nos referir, dentro de uma expressão, o valor de uma variável antes de uma atualização qualquer e o valor dessa mesma variável depois dessa mesma atualização, então há um meio de formular qualquer "restrição de transição". Outro exemplo: "Nenhum status de fornecedor poderá diminuir". 
  • Está relacionado  as tabelas em quais os usuário pode interagir, inserir, apagar, ler, alterar alguma informação do banco de dados. Também que triggers podem ser considerado como uma transação, pois determinado acontecimento, pode pedir para alterar alguma informação do banco. Isso acontece desde o início da leitura até o final, a gravação dos dados e ter certeza se ocorreu tudo bem.


ID
770251
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens seguintes, no que se refere aos benefícios que pode trazer a utilização de sistema gerenciador de banco de dados (SGBD) em relação a sistemas de processamento de arquivos.


SGBD utiliza o conceito de atomicidade do registro, assegurando que, uma vez detectada uma falha na operação com o registro, os dados sejam salvos em seu último estado consistente, anterior a essa falha.

Alternativas
Comentários
  • Segundo Navathe, em Sistemas de Bancos de Dados, 4ª Edição, página 405, o conceito de atomicidade é o seguinte: "Uma transação é uma unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo nenhum".

    Portanto, o conceito não é atomicidade de registro, mas sim atomicidade de transação. Dessa forma, está incorreta.
  • Esse conceito não seria o de Durabilidade?
  • Respondendo à pergunta da colega, também não é Durabilidade, veja o conceito que Navathe cita: Durabilidade ou permanência - As mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.
    Abraços, vamo que vamo. 
  • A propriedade ou conceito citado na verdade é a propriedade de consistência e não atomicidade como afirmado. (Consistência - Leva um banco de dados de um estado consistente para outro estado consistente) A propriedade da atomicidade diz que a realização da transação é feita integralmente, ou não é feita.

    ACID
    Atomicidade - Realização da transação é feita integralmente, ou não é feita
    Consistência - Leva um banco de dados de um estado consistente para outro estado consistente
    Isolamento - Uma transação deve parecer que executa de forma isolada 
    Durabilidade - Transações devem persistir
  • Eu acho que é o de atomicidade mesmo e não consistência pois fala de uma operação que falhou então há um rollback para o ultimo estado de consistência que é antes do começo da transação, por que a transação é atômica, ou executa inteira ou não. Acho que o maior erro é o de falar "atomicidade do registro" quando deveria ser "atomicidade da transação".

  • ·  Atomicidade: desfaz as ações das transações que não realizaram o commit.

    ·  Durabilidade: todas as ações das transações que fizeram commit serão persistentes. 


  • O conceito de atomicidade esta correto. O erro é  dizer que "os dados sejam salvos em seu último estado consistente, anterior a essa falha....", na verdade, a atomicidade garante que os dados NÃO sejam gravados no banco quando houver alguma falha, ou em liguagem pratica, quando é feito um write dentro de uma transação  o dado é enviado a um Buffer de memória e somente se a mesma for confirmado ele é gravado no banco. Ou seja, não existe a gravação do dado incorreto e depois uma nova gravação do dado anterior a falha

  • A questão se refere à atomicidade. O único erro tá em "registro"(se vc trocar registro por transação, é o conceito de atomicidade):

    Exemplificando uma situação prática, um sistema computacional está sujeito a falhas, sendo imprescindível garantir que, uma vez detectada tal falha, os dados sejam salvos em seu último estado consistente, anterior a ela. Por exemplo, uma operação de transferência bancária entre contas correntes, deve ser uma operação atômica, ou seja, deve ocorrer por completo, ou não ocorrer. Ou ela, quando debitada na conta origem, deve ser creditada no destino, ou se for apenas debitada na origem deve ser desfeita por completo, até o último commit(que vai ser anterior ao início da transação). A consistência, citada na questão, é apenas uma das propriedades, da atomicidade.

    Segundo esta fonte[1], na "um SGBD garante a atomicidade da transação desfazendo as ações das transações incompletas". 

    De brinde, nobres concurseiros, trago-lhes o conceito de ACID, segundo este outro autor:

    1. Atomicidade: Uma transação é uma unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo nenhum.

    2. Preservação de consistência: Uma ttransação será preservadora de consistência se sua execução completa fizer o banco de dados passar de um estado consistente para outro.

    3. Isolamento: Uma transação deve ser executada como se estivesse isolada das demais. Isto é, a execução de uma transação não deve sofrer interferência de quaisquer outras transações concorrentes.

    4. Durabilidade ou permanência: As mudanças aplicadas ao banco de dados po

    Fonte:

    [1] https://www.cin.ufpe.br/~if694/aulas_pdf/9%20-%20Gerenciamento%20de%20transacoes.pdf

    [2] SBD, E&N

  • ERRADO!

    Trata-se da propriedade consistência.

    Atomicidade: Em uma transação envolvendo duas ou mais partes de informações discretas, ou a transação será executada totalmente ou não será executada, garantindo assim que as transações sejam atômicas.

    Consistência: A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

  • Durabilidade: as mudanças realizadas pela transação confirmada devem ser persistidas no banco de dados no caso de falhas

  • O SGBD utiliza o conceito de atomicidade da transação e não do registro como afirma a assertiva.

    Uma das características dos bancos de dados é o controle de transações

    Uma transação é um programa em execução ou processo que inclui um ou mais acessos ao banco de dados, como a leitura ou atualização de seus registros. Uma transação possui quatro propriedades:

    ❖ Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não deve ser realizada de forma alguma.

    ❖ Consistência: uma transação deve, se for completamente executada, levar o banco de dados de um estado consistente para outro.

    ❖ Isolamento: uma transação deve parecer executar isoladamente das demais, embora centenas de transações possam ser executadas concorrentemente.

    ❖ Durabilidade: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

    Gabarito: Errado.

  • ATOMICIDADE É O FAMOSO TUDO OU NADA!

  • Gab: ERRADO 

    • (A C I D ):
    • ATOMICIDADE– A transação deve ocorrer até o fim (Não pode ser dividida) – ou faz até o fim ou nem faz – Exemplo do átomo no qual acreditavam ser indivisível. Se der erro todo conjunto é desfeito, voltando ao seu estado inicial...transação será feita completamente ou não será feita

    CONSISTÊNCIA – Respeita as regras e restrições de integridade dos dados, ou seja, os dados não podem ser alterados (são íntegros/ consistentes) – Em uma transação bancária, não posso depositar R$100,00 e só chegar na conta de destino R$50,00.( CASO da Questão)

    ISOLAMENTO – Várias transações podem ocorrer juntas, mas é como se estivessem sozinhas (isoladas) – Exemplo de um banco de questões de concurso no qual vários alunos fazem filtros simultâneos (operações exteriores), mas essas modificações não se comunicam (parecem isoladas).

    DURABILIDADE – Os resultados de uma transação serão definitivos – Mesmo se acabar a energia os dados estarão disponíveis.

  • Atomicidade : tudo ou nada

    Consistência: regras devem ser obedecidas

    Isolamento: uma transação não interfere na outra

    Durabilidade: um erro não deve invalidar toda transação

    Bons estudos!


ID
770371
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os próximos itens, relativos ao processamento de transações em bancos de dados.


O resumo incorreto, um dos problemas decorrentes da execução descontrolada de transações simultâneas, ocorre quando uma transação, depois de atualizar um item do banco de dados, falha por um algum motivo.

Alternativas
Comentários
  • PROBLEMA DE ALTERAÇÕES PERDIDAS: Ocorre quando duas transações que acessam o mesmo item de BD possuem suas operações intercaladas de uma maneira que o valor de algum item de dado fique incorreto.
    PROBLEMA DE ALTERAÇÃO TEMPORÁRIA: Ocorre quando uma transação altera um item de dados e depois ela falha por alguma razão. O item de dado é acessado por outra transação antes que o valor original seja estabelecido.
    PROBLEMA DO RESUMO INCORRETO: Se uma transação está calculando uma função agregada com um conjunto de tuplas e outras transações estão alterando algumas destas tuplas, a função agregada pode calcular alguns valores antes deles serem alterados e outros depois de serem alterados.

    Fonte: http://www.inf.unioeste.br/~clodis/BDII/BDII_Modulo_1.pdf
  • Problemas q podem ocorrer devido 'a concorrencia de transacoes:

    Atualizacao perdida: Ocorre qdo uma transacao T1 le um valor X, efetua alguma operacao nele; em seguida, uma outra transacao T2 le o valor antigo(sem a operacao) e efetua alguma operacao nele; so depois, T1 escreve o valor de X(errado, pois perdeu-se a atualizacao q ele tinha feito). E T2, ao escrever seu valor de X tbm o faz errado, pois naõ leu a atualizacao de T1(q so escreveu apos T2 realizar sua operacao).

    Leitura suja: Ocorre qdo uma transacao T1 efetua alguma operacao e falha. Antes do item de dados X voltar ao seu valor original, outra transacao T2 le seu valor errado, sujo.

    Resumo incorreto: qdo uma funcao de agregacao calcula alguns valores antes e outros depois deles serem atualizados, cada transacao vai ler um valor diferente. Ex: T1 executa X:= X - 5, write(X) ; T2 executa read(X), X:=X + 5; em seguida, T1 executa read(X), X:=X + (X + 5 ); ou seja, para T2, o valor de X=X+5, enqto q, para T2 eh X:=X + (X + 5 ). Isso aconteceu pq T2 executou 1 operacao no msm item de dados antes e depois de T1.

    Leitura nao repetitiva:ocorre qdo 1 transacao T1 le o msm item duas vezes e, nesse intervalor, 1 outra transacao T2 altera o item. Como consequencia, T1 tera dois valores distintos para o msm item.
  • Problema de atualização temporária (leitura suja).

  • Não é esse o problema do resumo incorreto! O chamado incorrect summary se dá quando uma das transações está realizando uma agregação, enquanto a outra, num cenário sem isolamento, altera valores da coluna que está sendo agregada. Assim, pode ocorrer a situação em que a agregação considera alguns valores antigos (antes da alteração pela outra transação) e outros novos (depois da alteração), resultando em uma agregação incorreta.

    Gabarito: E


ID
770374
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Transação é uma unidade atômica de processamento no banco de dados e tem a seguinte característica: ou estará terminada totalmente ou não foi realizada de forma alguma.

Alternativas
Comentários
  • Questão correta.

    Uma transação é uma unidade lógica de trabalho. O sistema de banco de dados precisa garantir a execução apropriada de transações  - ou a transação inteira é executada ou nenhuma parte dela é executada.

    Aliás, essa é uma das propriedades ACID das transações: Atomicidade.
    (As demais - a saber -, Consistência, Isolamento e Durabilidade).


    Bons estudo.

    Referências:
    Sistema de Banco de Dados  / Abraham Silberschatz, Henry Korth, S. Sudarshan. Ensevier. 2006
  • (C)

    Está definindo atomicidade:

    A->Atomicidade:(a transação deve ser executada por completo ou nada deve ser feito)

    C->Consistência:(só se pode passar de um estado consistente para outro, sob pena de reversão/rollback)

    I->Isolamento: (uma transação não pode afetar outra)

    D->Durabilidade (as alterações têm que ser persistentes)

    Outras questões da CESPE que ajudam a responder:

    -Conforme o princípio da atomicidade, caso ocorra erro em determinada transação, todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como se a transação nunca tivesse sido executada.(C)

    -A atomicidade garante que todas as operações da transação sejam refletidas corretamente no banco de dados. Do contrário, nenhuma operação será realizada.(C)

    -Atomicidade é a propriedade que assegura que as atualizações relacionadas e dependentes ocorram dentro dos limites da transação ou nenhuma atualização sera efetivada no banco de dados.(C)

    -Em um sistema gerenciador de banco de dados, uma transação é formada por uma sequência de operações que precisam ser executadas integralmente a fim de se garantir a consistência e a precisão. Uma das propriedades da transação é a atomicidade, que é a unidade atômica de processamento.(C)

  • GABARITO CORRETO!

    .

    .

    PRINCÍPIO DA ATOMICIDADE IMPLÍCITO NO CONCEITO DE TRANSAÇÃO.

  • CERTO.

    As transações devem possuir várias propriedades, normalmente chamadas propriedades ACID; elas devem ser impostas pelos métodos de controle de concorrência e recuperação do SGBD.

    Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não ser realizada de forma alguma.

    Consistência: uma transação deve preservar a consistência, significando que, se ela for completamente executada do início ao fim sem interferência de outras transações, deve levar o banco de dados de um estado consistente para outro estado consistente, ou seja, todas as regras e restrições definidas no banco de dados devem ser obedecidas.

    Isolamento: uma transação deve parecer como se fosse executada isoladamente de outras transações, embora muitas delas estejam sendo executadas de maneira simultânea, ou seja, a execução de uma transação não deve ser interferida por quaisquer outras transações que acontecem simultaneamente.

    Durabilidade ou permanência: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

  • "Uma transação é uma unidade atômica de trabalho, que deve ser concluída totalmente ou não ser feita de forma alguma".

    Fonte: Sistemas de Banco de Dados, Navathe, p. 506


ID
770377
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Os sistemas de banco de dados que obedecem à propriedade denominada isolamento permitem que transações concorrentes compartilhem resultados intermédios.

Alternativas
Comentários
  • Propriedade Isolamento do conjunto de propriedades ACID. Na proproidade Isolamento as transaçãoes são isoladas umas das outras. Isto é, embora em geral haja muitas transações sendo executadas ao mesmo tempo, as atualizações de qualquer transação dada são ocultas de todas as outras até o COMMIT dessa transação. - Date 8ª Edição
    Pelo o que foi demostrado pela citação do Date, a propriedade Isolamento não permite compartilhamento de resultados intermediários, apenas compartilhamento após o COMMIT.
    Item INCORRETO.
    Abraços, vamo que vamo.
  • Apenas complementando o comentário do colega acima:

    Os sistemas de banco de dados que obedecem à propriedade denominada isolamento permitem (EVITAM) que transações concorrentes compartilhem resultados intermédios.

    A idéia do isolamento é justamente evitar que resultados intermediários, não commitados, sejam utilizados evitando-se leituras fantasmas, leituras sujas ou leituras duplicadas.

  • A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

  • GABARITO ERRADO!

    .

    .

    SEGUNDO NAVATHE, PÁGINA 508:

    Isolamento. Uma transação deve parecer como se fosse executada isoladamente de outras transações, embora muitas delas estejam sendo executadas de maneira simultânea. Ou seja, a execução de uma transação não deve ser interferida por quaisquer outras transações que acontecem simultaneamente.

  • Fala meu aluno(a)!

    Gabarito: ERRADO.

    Professor, esse assunto cai muito em provas?

    R. Cai não, chove nas provas, kkkkkk. (É preciso entender, depois memorizar).

    Propriedades de Banco de Dados Chamado também de: (Transações).

    Qual a propriedade de Banco de Dados: ACID.

    Atomicidade

    Consistência

    Isolamento

    Durabilidade

    Atomicidade: Uma transação é uma unidade de processamento que deve ser realizada integralmente ou não é realizada (ou tudo ou nada).

    Consistência: Uma transação, após sua execução, deve levar o Banco de Dados de um estado consistente para outro estado consistente. A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

    Bons estudos!


ID
770383
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Ocorre deadlock quando uma transação de um conjunto com duas ou mais transações concorrentes aguarda por algum item de dado que foi bloqueado por outra transação do mesmo conjunto.

Alternativas
Comentários
  • Questão do CESPE no estilo da FCC, fala só a metade do conceito e considera como correto o item, não ocorre deadlock apenas porque uma transação es tá aguardando o item de dado da outra, tem que ser no mínimo duas transações, uma esperando o recurso da outra, por isso que se chama impasse, vejam o que falam os dois autores conceituados sobre o assunto:
    Navathe - O deadlock ocorre quando cada transação T em um conjunto de duas ou mais transações está esperando por algum item que está bloqueado por alguma outra transação T' no conjunto. 
    Date - O impasse é uma situação na qual duas ou mais transações estão em estado de espera simultaneamente, cada uma esperando que uma das outras libere um bloqueio antes de poder prosseguir.
    Portando consedere o item INCORRETO.
  • Ximenes concordo com a sua citação, porém a qustão esta dizendo "quando uma transação de um conjunto com duas ou mais transações", ou seja essa "uma" transação esta dentro de um conjunto de n transações.

    Questão correta.
  • Concordo com o Ximenes em sua totalidade. A questão afirma que uma transação de um conjunto de n transações estão aguardando um item bloqueado, ou seja, uma única trnasação qualquer. Isso não caracteriza um deadlock. É necessário que cada transação desse conjunto esteja a espera de um item bloqueado por outra transação desse mesmo conjunto.
    Um exemplo rápido, transações A e B, A espera um recurso bloqueado por B. Não há deadlock, pois B pode continuar sua execução normal e, em seguida, liberar o recurso que será utilizado por A.
    Vale lembrar que são necessárias 4 condições para um deadlock: exclusão mútua (2 não podem usar o mesmo recurso); espera carregada (não liberar o recurso); não preempção (não pode tirar o recurso); espera circular (há um ciclo de espera). Sem qualquer dessas condições, não há deadlock.
  • Gustavo, a questao ta afirmando o seguinte: Ocorre deadlock quando uma transação de um conjunto com duas ou mais transações concorrentes aguarda por algum item de dado que foi bloqueado por outra transação do mesmo conjunto.
    Ou seja, considere Ct = {T1, T2, T3..Tn}
    Pelo enunciado da questao, bastaria q qqr uma das transacoes T do conjunto de transacoes(Ct) aguardasse por algum item bloqueado por outra transacao de Ct para ocorrer deadlock.
    Ou seja, se T1 aguarda pelo fim do bloqueio de T2 ja taria ocorrendo deadlock(segundo a questao).
    E isso nao  configura deadlock, pq T2 pderia desbloquear imediatamente seu recurso e nao haveria deadlock.
    O deadlock ocorre quando nao apenas uma, mas, pelo menos, 2 transacoes tao aguardando o recurso q a outra detem, e uma nao libera pq a outra tbm nao libera a sua.
    Isso me faz lembrar jovens em busca de emprego: o mercado nao lhes oferece emprego pq nao tem experiencia e o jovem nao tem experiencia pq nao consegue arrumar emprego.,
    E um fica um esperando pelo outro.
  • Deadlock ocorre se a Transação (A) aguarda um item que está na posse de uma transação (B)  bloqueada à espera por um item que ela a transação (A)  detém. Caracterizando a espera circular. Que merda de questão é essa?

  • se uma só está esperando, não há impasse. É preciso haver ciclos de necessidade e bloqueios.

    precisa haver pelo menos 2 transações e cada uma precisa estar bloqueando algo que a outra precisa.


ID
784132
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o  item  seguinte , acerca de transação e suas propriedades.

O gerenciamento de transações deve prever a manutenção da atomicidade de todos os atributos ou campos da transação. Um domínio é atômico se elementos desse domínio são considerados indivisíveis.

Alternativas
Comentários
  • Um domínio caracteriza um atributo (se ele é inteiro, texto, etc.). Quem pode ser indivisível é o atributo.

    ERRADO


    Prof. Victor Dalton - Estratégia Concursos

  • Atomicidade no contexto de transações (tudo ou nada) é uma coisa, atomicidade no contexto de domínio de atributos (1FN), é outra.

  • GABARITO ERRADO!

    .

    .

    Segundo Navathe(2011,p.508), "A propriedade de atomicidade exige que executemos uma transação até o fim (O FAMOSO 8 80, TUDO OU NADA). É responsabilidade do subsistema de recuperação de transação de um SGBD garantir a Atomicidade."

  • Meu pitaco:

    O gerenciamento de transações deve prever a manutenção da atomicidade de todos os atributos ou campos da transação [1]. Um domínio é atômico se elementos desse domínio são considerados indivisíveis [2].

    [1] prever a manutenção da atomicidade dos atributos está ligado a 1FN. FN está ligado a NORMALIZAÇÃO.

    [2] isso tem que estar CERTO. Atributo simples/atômico x Atributo composto/divisível.

    obs: Giras _ pode estar certo.

    falei besteira?


ID
784135
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o  item  seguinte , acerca de transação e suas propriedades.

A propriedade de durabilidade de uma transação estabelece que, uma vez completada a transação com sucesso, todas as atualizações realizadas no banco de dados persistirão, até mesmo se houver uma falha de sistema após a transação ser completada.

Alternativas
Comentários
  • ATOMICIDADE: uma transação é toda executada (100%) ou nada executada (0%).

    No caso de falta de energia/ falha do sistema, a transação será reprocessada desde o zero, salvo se houver "checkpoint", ou, como no caso em tela, como a transação já havia sido completada, irá se manter, pois já havia sido realizada. 

  • Durabilidade ou disponibilidade. Uma das propriedades ACID. Item correto!

  • GABARITO CORRETO!

    .

    .

    Durabilidade ou permanência: As mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

    .

    .

    Sistemas de Banco de Dados, Elmasri Navathe, 6ª edição

  • que pode gerar dúvida e fazer o candidato marcar errado é a parte final que afirma que mesmo se houver falha, as transações serão realizadas.

    No entanto, a assertiva descreve corretamente a propriedade da durabilidade, segundo a qual as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

    Ademais, a questão ainda afirma que a falha ocorre após a transação. Sendo assim, se a transação já ocorreu, deve ser persistida.

    A propriedade que garante que a transação deve ser realizada em sua totalidade ou não ocorrer (isto é, as falhas DURANTE o processamento da transação) é a atomicidade.

    Gabarito: Certo.


ID
784204
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de gerência de transações, julgue o  item  subsequente.


Quando uma transação executa uma instrução write, a atualização não é necessariamente gravada no disco: o write grava apenas uma cópia do item de dado no buffer do banco de dados na memória principal; posteriormente, o próprio banco de dados é modificado por uma operação output executada pelo sistema em uma página de dados.

Alternativas
Comentários
  • De fato, ele precisa de uma confirmação(Commit  - sinal de termino com sucesso) para poder gravar os dados no Disco

     Executar write(x):

      Encontrar o endereço do bloco de disco que contém x;

      Copiar o bloco de disco para a memória principal se ele já não estiver lá;

      Copiar o item x da variável de programa x para a localização correta no buffer;

      Copiar o bloco alterado do buffer de volta para o disco (imediatamente ou mais tarde).

    G: CERTO


ID
784207
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de gerência de transações, julgue o  item  subsequente.


O buffer na memória principal mantém páginas do banco de dados e é gerenciado pelo sistema gerenciador de banco de dados (SGBD) ou pelo sistema operacional; durante uma descarga do banco de dados, as páginas são gravadas em dispositivo não volátil usado para armazenamento histórico e de retaguarda.

Alternativas
Comentários
  • ❝ A decisão sobre quando armazenar um bloco de disco modificado cujo conteúdo está em um buffer da MP é tratado pelo Gerenciador de Recuperação do SGBD em cooperação com o S.O subjacente. ❞ (Navathe).

    .

    .

    .

    .

    At.te

    Foco na missão