SóProvas


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