Académique Documents
Professionnel Documents
Culture Documents
– Resumo
Operações
1. Seleção
2. Projeção
3. União
4. Diferença
5. Produto Cartesiano
6. Interseção
7. Junção
8. Divisão
9. Atribuição
Primitivas ou Básicas são operações que não podem ser expressas por meio das demais operações
1. Seleção
2. Projeção
3. União
4. Diferença
5. Produto Cartesiano
Adicionais
1. Interseção
2. Junção
3. Divisão
4. Atribuição
Comutativas ou Associativas são as operações que aplicadas em qualquer ordem não muda o resultado. Pode ser
aplicadas a qualquer número de relações.
o Comutativas, ou seja, AUB = BUA e A∩B = B∩A
o Associativas, ou seja, AU(BUC) = (AUB)UC e A∩(B∩C) = (A∩B)∩C
1. União
2. Interseção
SQL
– Tabela exemplo
O objetivo do operador de designação/atribuição é atribuir o resultado de uma operação a uma nova relação.
Sintaxe: R := union(B, C)
É utilizada para selecionar um subconjunto de tuplas numa relação que satisfaça uma condição de seleção
predefinida.
Simbologia: σ
Sintaxe: σ (Relação)
σ sal>=2500 (EMPREGADO) => Selecionar subconjunto de tuplas de EMPREGADO com sal > = 2500
WHERE sal>=2500
2. Operação de Projeção (Project)
A operação de projeção é utilizada para selecionar determinadas colunas de uma relação. A operação é executada
em apenas uma relação e o resultado é uma nova relação contendo apenas os atributos selecionados, eliminando-se
as duplicidades.
Simbologia: π
Sintaxe: π (Relação)
π NOME, SOBRENOME, SAL (EMPREGADO) => Selecionar somente as colunas: NOME, SOBRENOME, SAL da relação
EMPREGADO
Podemos aninhar as operações e produzir novos resultados sem a necessidade de sucessivas operações:
π NOME, SOBRENOME, SAL (σ DEPTO=3 (EMPREGADO)) => Selecionar somente as colunas: NOME, SOBRENOME,
SAL da relação EMPREGADO lotados no departamento de número 3
Podemos criar relações intermediárias, dando um nome para cada uma delas e finalmente chegando ao resultado
desejado:
E podemos renomear os atributos que aparecerão na relação resultante, para isso, basta identificar o novo nome
para os atributos:
3. União (Union)
O operador de união cria uma relação partindo de duas outras, levando as tuplas comuns e NÃO comuns a ambas,
desta forma aparecerão no resultado somente linhas únicas de uma ou outra relação e as informações duplicadas
aparecerão SOMENTE UMA VEZ.
Somente é possível utilizar este operador caso as tabelas de origem possuam compatibilidade de união, ou seja, as
tabelas devem ser equivalentes e gerem o mesmo tipo de resultado.
Simbologia: U
Somente foi possível realizar a união entre RESULT1 e RESULT2, pois, apesar dos atributos serem diferentes, o
número e o tipo de atributos são os mesmos, possibilitando uma compatibilidade de união.
UNION
4. Intersecção (Intersection)
A relação criada pela operação de intersecção será o resultado de todas as tuplas que pertençam a ambas as relações
presentes na operação.
Simbologia: ∩
INTERSECT
A operação de diferença consiste em obter uma relação a partir da diferença da primeira pela segunda relação.
É importante salientar que a diferença entre a primeira e segunda relação NÃO É O MESMO DO INVERSO, ou seja,
da segunda pela primeira. Com isso podemos dizer que a operação de diferença não é comutativa.
Exemplificando, poderíamos dizer que A – B é diferente de B – A. Retorna tudo que tem em A e NÃO TEM em B
Simbologia: –
EXCEPT
O resultado é que, para cada tupla da primeira relação, haverá a combinação com todas as tuplas da segunda relação,
e vice-versa.
Simbologia: x
O resultado conterá as colunas das duas relações que estão participando da junção.
Esta operação é de extrema importância em bancos de dados relacionais, pois é através dela que nos é permitido fazer
relacionamento.
Simbologia: |x|
Uma condição de junção pode ser formada por mais de uma condição simples, apenas aplicando os operadores
relacionais AND ou OR.
ALU_TUR <----- ALUNOS |x| cod_turma=cod_turma TURMAS => Retorna todas as colunas de ALUNOS e TURMA
quando COD_TURMA forem iguais
INNER JOIN
Subdivisões Join
EQUIJOIN:
A junção mais comum, envolve condições de junção somente com comparações de igualdade
NATURAL JOIN:
Símbolo *
Foi criada para eliminar repetição desnecessária dos atributos em uma EQUIJOIN
Na Junção Natural é necessário que as duas colunas redundantes possuam o mesmo nome, pode-se renomear
uma das colunas antes da junção
É uma operação adicional que produz como resultado a projeção de todos os elementos da primeira relação que se
relacionam com todos os elementos da segunda relação.
NÃO é um operador primitivo, mas pode ter o resultado obtido por uma combinação de operadores primitivos.
Simbologia: ÷