Zerando Suas Dúvidas – Parte 03 – Álgebra Relacional (FCC)
Olá pessoal,
Estava respondendo as peguntas do fórum do Estratégia hoje e me deparei com essa questão:
Ano: 2007 Banca: FCC Órgão: MPU Cargo: Analista de banco de dados
No estágio 2 de otimização dos sistemas relacionais, para transformação de expressões, pode-se aplicar a propriedade idempotência apenas nas operações da álgebra relacional
A) união, interseção e divisão.
B) união, interseção e junção.
C) união, junção e diferença.
D) interseção, diferença e divisão.
E) junção, diferença e divisão.
Achei a questão extremamente interssante. Mistura conceitos de algebrá relacional e explica um pouco do estágio 2 de otimização dos sistemas operacionais. Vejamos primeiramente a dúvida da aluna: "Poderia comentar essa questão? O que seria idempotência?".
Vamos agora fazer alguns comentários sobre a questão:
Uma operação idempotente pode ser aplicada a um determinado conjunto várias vezes e retornaria o mesmo resultado. Formalmente, dado uma operação, caso ela seja executada n vezes se obtêm o mesmo resultado. Para uma função unária você pode pensar assim f(x) = f(f(x)).
Por exemplo, se você multiplicar qualquer número por 1 várias vezes você vai obter como resultado esse número. Quando pensamos em bando de dados as operações de UNDO e REDO são idem potentes, ou seja, se você aplicar essa operação diversas vezes vamos obter o mesmo resultado na base de dados.
Agora vamos voltar nossa atenção ao contexto da questão que está associado as operações idempotentes da álgebra relacional. De posse do conceito, tente resolver a questão antes de ler o restante do meu comentário.
Se pensarmos nas operações de álgebra relacional de seleção e projeção é possível perceber a propriedade de idempotência. Suponha uma seleção sobre uma tabela, em seguida a mesma seleção sobre o resultado.
Agora vamos para as operações binárias que também tem a propriedade de idempotência. Percebam que:
A U A = A ; A união de um conjunto qualquer A com ele mesmo é igual a A;
A ∩ A = A ; A interseção de um conjunto qualquer A com ele mesmo é igual a A;
A JOIN A = A;
De forma genérica: Dado (op) um operador binário, (op) é idempotente se A (op) A = A, para todo A.
Desta forma a resposta estaria na alternativa B: UNIÃO, INTERSEÇÃO e JUNÇÃO.
Forte abraço e bons estudos,
Thiago