Vous êtes sur la page 1sur 7

São definidas 9 operações para trabalhar com álgebra relacional.

– Resumo

SÍMBOLO OPERAÇÃO SINTAXE TIPO


modelo de dados
<----- Atribuição Variável <----- Relação Adicional
relacional
teoria dos conjuntos
σ Seleção (Select) σ <condicao de elecao>(Relação) Primitiva
(Relacionais Especiais)
teoria dos conjuntos
π Projeção (Project) π<lista de atributos>(Relação) Primitiva
(Relacionais Especiais)
Conjuntos Tradicionais Comutativa e
União (Union) (Relação 1) (Relação 2) Primitiva
Associativa
Conjuntos Tradicionais Comutativa e
Interseção (Intersection) (Relação 1) (Relação 2) Adicional
Associativa
– Diferença (Difference) (Relação 1) – (Relação 2) Primitiva Conjuntos Tradicionais
X Produto Cartesiano (Product) (Relação 1) X (Relação 2) Primitiva Conjuntos Tradicionais
(Relação 1) |x| <condição de teoria dos conjuntos
Junção (Join) Adicional
junção> (Relação 2) (Relacionais Especiais)
teoria dos conjuntos
÷ Divisão (Divide) (Relação 1) ÷(Relação 2) Adicional
(Relacionais Especiais)

 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

 Operadores de Conjuntos Tradicionais:


1. Union – União
2. Intersection – Intersecção
3. Difference – Diferença, Subtração
4. Product – Produto, Produto Cartesiano

 Operadores provenientes da teoria dos conjuntos (Relacionais Especiais):


1. Select – Seleção
2. Project – Projeção
3. Join – Junção
4. Divide – Divisão

 Aplicam-se especificamente ao modelo de dados relacional:


1. Assignment – Designação, Atribuição

 SQL

PROJEÇÃO => SELECT p.nome, p.rg, p.cpf


PRODUTO CARTESIANO => FROM pessoas p, alunos a
SELEÇÃO => WHERE p.ativo = true

– Tabela exemplo

Atribuindo um valor a uma nova tabela

O objetivo do operador de designação/atribuição é atribuir o resultado de uma operação a uma nova relação.

Simbologia: R <----- AUB

Sintaxe: R := union(B, C)

1. Operação de Seleção (Select)

É 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

SELECT DISTINCT NOME, SOBRENOME, SAL

Aninhar de operações e renomear de atributos

 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:

R1 <---- σ DEPTO=3 (EMPREGADO)

RESULT <----- π NOME, SOBRENOME, SAL (R1)

 E podemos renomear os atributos que aparecerão na relação resultante, para isso, basta identificar o novo nome
para os atributos:

RESULT(Primeiro_nome, Sobrenome, Salário) <----- π NOME, SOBRENOME, SAL (σ DEPTO=3 (EMPREGADO))

SELECT DISTINCT NOME AS Primeiro_nome, SOBRENOME, SAL

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

Sintaxe: (Relação 1)U(Relação 2)


 Precisemos recuperar o ID de todos os empregados que trabalham no departamento 3 ou supervisione
diretamente um empregado que trabalhe no departamento 3. Faremos as seguintes operações:

DEPTO3 <---- σ DEPTO=3 (EMPREGADO)

RESULT1 <---- π ID_EMP (DEPTO3)

RESULT2 <---- π ID_GER (DEPTO3)

RESULT(ID) <----- (RESULT1)U(RESULT2)

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: ∩

Sintaxe: (Relação 1) ∩ (Relação 2)

INTERSECT

Obs.: Ambas as operações de união ou intersecção são:

o Comutativas, ou seja, AUB = BUA e A∩B = B∩A

Aplicadas a qualquer número de relações;

o Associativas, ou seja, AU(BUC) = (AUB)UC e A∩(B∩C) = (A∩B)∩C

5. Operação de Diferença (Difference)

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: –

Sintaxe: (Relação 1) – (Relação 2)

EXCEPT

6. Operação de Produto Cartesiano (Product)

O Produto Cartesiano é a combinação de tuplas das duas relações em questão.

Multiplicação entre QT tuplas de A e QT tuplas de B

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

Sintaxe: (Relação 1) x (Relação 2)

RESULT <----- ALUNOS X INSTRUTORES

7. Operação de Junção (Join)


A operação de junção é utilizada para combinar tuplas de duas relações partindo dos atributos comuns a ambas.

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|

Sintaxe: (Relação 1) |x| <condição de junção> (Relação 2)

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

RESULT <----- σ COD_TURMA>=2TI (π NOME, SOBRENOME, DESCRICAO (ALUNOS |x| cod_turma=cod_turma


TURMAS)) => Retorna somente os alunos que cursam a turma 2TI

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

OUTER JOIN (Junção Externa):


Utilizado quando desejamos manter todas as tuplas de uma das duas relações ou todas as tuplas das duas relações
em uma operação de junção:
Pode ser:

8. Operação de Divisão (Divide)

É 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: ÷

Sintaxe: (Relação 1) ÷ (Relação 2)


RESULT <----- (π COD_PROJ (PROJETOS))÷(π ID_EMP, COD_PROJ (EQUIPE))

Vous aimerez peut-être aussi