Prévia do material em texto
Disciplina: Banco de
Dados
1
Curso: ADS
Prof. Michel Bernardo
Slides de Álgebra Relacional
▪ A operação SELEÇÃO é usada para escolher um subconjunto das tuplas de
uma relação que satisfaça uma condição de seleção.
▪ Pode-se considerar que a operação SELEÇÃO seja um filtro que mantém
apenas as tuplas que satisfazem uma condição qualificadora.
▪ A operação SELEÇÃO também pode ser visualizada como uma partição
horizontal da relação em dois conjuntos de tuplas.
▪ Todos os operadores de comparação no conjunto {=, , ≥, ≠} podem ser
aplicados aos atributos cujos domínios são valores ordenados, como domínios
numéricos ou de data.
▪ O operador SELEÇÃO é unário; ou seja, ele é aplicado a uma única relação.
Operações relacionais unárias:
SELEÇÃO e
PROJEÇÃO
▪ A operação PROJEÇÃO seleciona certas colunas da tabela e descarta as outras.
▪ Se estivermos interessados apenas em certos atributos de uma relação,
usamos a operação PROJEÇÃO para projetar a relação apenas por esses
atributos.
▪ Portanto, o resultado da operação PROJEÇÃO pode ser visualizado como uma
partição vertical da relação em duas relações:
1. uma tem as colunas (atributos) necessárias e contém o resultado da
operação, e
2. a outra contém as colunas descartadas.
Operações relacionais unárias:
SELEÇÃO e
PROJEÇÃO
▪ A operação PROJEÇÃO remove quaisquer tuplas duplicadas, de modo que o
resultado dessa operação é um conjunto de tuplas distintas, e, portanto, uma
relação válida. Isso é conhecido como eliminação de duplicatas.
▪ A eliminação de duplicatas envolve a classificação ou alguma outra técnica
para detectar duplicatas e, portanto, aumenta o processamento.
▪ O número de tuplas em uma relação resultante de uma operação PROJEÇÃO é
sempre menor ou igual ao número de tuplas em R.
▪ Se a lista de atributos da projeção é uma superchave de R, a relação resultante
tem o mesmo número de tuplas que R.
Operações relacionais unárias:
SELEÇÃO e
PROJEÇÃO
▪ Em geral, para a maioria das consultas, precisamos aplicar várias operações da
álgebra relacional uma após a outra.
▪ Ou podemos escrevê-las como uma única expressão da álgebra relacional
aninhando as operações, ou aplicar uma operação de cada vez e criar relações
de resultado intermediário.
▪ Às vezes, é mais simples desmembrar uma sequência complexa de operações
especificando relações de resultado intermediário que escrever uma única
expressão da álgebra relacional.
▪ Também podemos usar essa técnica para renomear os atributos nas relações
intermediárias e de resultado.
▪ Isso pode ser útil em conexão com operações mais complexas, como UNIÃO e
JUNÇÃO.
Sequências de operações e a
operação RENOMEAR
▪ Se nenhuma renomeação for aplicada, os nomes dos atributos na relação
resultante de uma operação SELEÇÃO serão iguais aos da relação original e na
mesma ordem.
▪ Para uma operação PROJEÇÃO sem renomeação, a relação resultante tem os
mesmos nomes de atributo daqueles na lista de projeção e na mesma ordem
em que eles aparecem na lista.
▪ Também podemos definir uma operação RENOMEAR formal como um
operador unário.
▪ Em SQL, uma única consulta costuma representar uma expressão complexa da
álgebra relacional.
Sequências de operações e a
operação RENOMEAR
▪ Podemos definir as três operações UNIÃO, INTERSEÇÃO e DIFERENÇA DE
CONJUNTO sobre duas relações compatíveis na união, R e S, como segue:
1. „„UNIÃO: o resultado dessa operação é uma relação que inclui todas as tuplas
que estão em R ou em S ou tanto em R quanto em S. As tuplas duplicadas
são eliminadas.
2. „„INTERSEÇÃO: o resultado dessa operação é uma relação que inclui todas as
tuplas que estão tanto em R quanto em S.
3. „„DIFERENÇA DE CONJUNTO (ou SUBTRAÇÃO): o resultado dessa operação é
uma relação que inclui todas as tuplas que estão em R, mas não em S.
As operações UNIÃO, INTERSEÇÃO
e DIFERENÇA (SUBTRAÇÃO)
▪ As operações de conjunto UNIÃO, INTERSEÇÃO e SUBTRAÇÃO. Duas relações
compatíveis na união:
As operações UNIÃO, INTERSEÇÃO
e DIFERENÇA (SUBTRAÇÃO)
▪ As operações de conjunto UNIÃO, INTERSEÇÃO e SUBTRAÇÃO. ALUNO
PROFESSOR:
As operações UNIÃO, INTERSEÇÃO
e DIFERENÇA (SUBTRAÇÃO)
▪ As operações de conjunto UNIÃO, INTERSEÇÃO e SUBTRAÇÃO. ALUNO
PROFESSOR:
As operações UNIÃO, INTERSEÇÃO
e DIFERENÇA (SUBTRAÇÃO)
▪ As operações de conjunto UNIÃO, INTERSEÇÃO e SUBTRAÇÃO. ALUNO −
PROFESSOR:
As operações UNIÃO, INTERSEÇÃO
e DIFERENÇA (SUBTRAÇÃO)
▪ As operações de conjunto UNIÃO, INTERSEÇÃO e SUBTRAÇÃO. PROFESSOR −
ALUNO:
As operações UNIÃO, INTERSEÇÃO
e DIFERENÇA (SUBTRAÇÃO)
▪ A operação PRODUTO CARTESIANO, também conhecida como PRODUTO
CRUZADO ou JUNÇÃO CRUZADA, é indicada por ×.
▪ Esta também é uma operação de conjunto binária, mas as relações sobre as
quais ela é aplicada não precisam ser compatíveis na união.
▪ A operação n-ária PRODUTO CARTESIANO é uma extensão desse conceito, que
produz novas tuplas ao concatenar todas as possíveis combinações de tuplas
de n relações básicas.
▪ A operação PRODUTO CARTESIANO aplicada isoladamente não tem
significado.
▪ Ela é mais útil quando seguida por uma seleção que combina valores de
atributos vindos das relações componentes.
A operação PRODUTO
CARTESIANO (PRODUTO
CRUZADO)
▪ O PRODUTO CARTESIANO cria tuplas com os atributos combinados de duas
relações.
▪ Podemos selecionar (SELEÇÃO) tuplas relacionadas somente das duas relações
especificando uma condição de seleção apropriada após o produto cartesiano.
▪ Como essa sequência de PRODUTO CARTESIANO seguida por SELEÇÃO é muito
utilizada para combinar tuplas relacionadas de duas relações, uma operação
especial, chamada JUNÇÃO, foi criada para especificar essa sequência como
uma única operação.
▪ Em SQL, o PRODUTO CARTESIANO pode ser realizado usando a opção CROSS
JOIN nas tabelas de junção.
A operação PRODUTO
CARTESIANO (PRODUTO
CRUZADO)
▪ A operação JUNÇÃO é usada para combinar tuplas relacionadas de duas
relações em uma única tupla “maior”.
▪ Em JUNÇÃO, apenas combinações de tuplas que satisfaçam a condição de
junção aparecem no resultado, ao passo que no PRODUTO CARTESIANO todas
as combinações de tuplas são incluídas no resultado.
▪ A condição de junção é especificada sobre atributos das duas relações R e S e
é avaliada para cada combinação de tuplas.
▪ Cada combinação de tuplas para a qual a condição de junção é avaliada como
TRUE é incluída na relação resultante Q como uma única tupla combinada.
Uma condição de junção geral tem a forma
AND AND... AND
Operações relacionais binárias:
JUNÇÃO e DIVISÃO
▪ A operação DIVISÃO, indicada por ÷, é útil para um tipo especial de consulta
que às vezes ocorre nas aplicações de banco de dados.
▪ Na formulação da operação DIVISÃO, as tuplas na relação do denominador S
restringem a relação do numerador R, selecionando aquelas tuplas no
resultado que combinam com todos os valores presentes no denominador.
▪ Não é necessário saber quais são esses valores, pois eles podem ser
calculados por outra operação.
▪ A operação DIVISÃO pode ser expressa como uma sequência de operações π,
× e –, da seguinte forma:
Operações relacionais binárias:
JUNÇÃO e DIVISÃO
▪ Operações de álgebra relacional:
Operações relacionais binárias:
JUNÇÃO e DIVISÃO
Slide 1: Disciplina: Banco de Dados
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17