Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Álgebra relacional
Apresentação
A álgebra relacional está ligada à forma como as consultas e manipulações de dados são executadas 
utilizando a Structured Query Language (SQL) e demais linguagens operadas em sistemas de 
gerenciamento de banco de dados (SGBD).
Por esse motivo, os operadores relacionais, na maioria das vezes, contam com cláusulas ou 
operadores que realizam as mesmas funções na SQL. É importante conhecer sobre álgebra 
relacional para conseguir compreender por que e como as consultas foram criadas para os SGBDs e 
como seus resultados são gerados.
Nesta Unidade de Aprendizagem, você vai estudar sobre conceitos de álgebra relacional, seus 
operadores e exemplos relacionados à SQL e aos bancos de dados comerciais.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Identificar as operações de álgebra relacional associadas à linguagem SQL.•
Praticar a utilização de operadores de álgebra relacional e consultas em SQL.•
Reconhecer as diferentes implementações dos operadores de álgebra relacional em bancos de 
dados comerciais.
•
Laiane
Desafio
Na álgebra relacional, todas as operações seguem passos definidos para se obter resultados 
relacionados ao banco de dados. Essas operações, sejam de entrada ou de saída, tornam-se 
relações. Entre as operações utilizadas está um grupo desenvolvido especificamente para bancos 
de dados relacionais, e outro baseado na teoria de conjuntos. 
Nesse contexto, considerando que a tabela acima seja transformada em uma tabela de um banco 
de dados, pede-se que você:
a) Crie uma consulta em álgebra relacional que liste o nome e o telefone de todos os clientes que 
tenham saldo devedor superior a R$ 100,00.
b) Crie uma consulta SQL que liste o nome e o telefone de todos os clientes que tenham saldo 
devedor superior a R$ 100,00.
c) Crie uma consulta em álgebra relacional que selecione todos os clientes que tenham adquirido o 
serviço de massagem e morem na Rua W.
Laiane
RESPOSTA SALVA NO PC
Infográfico
A álgebra relacional é uma forma teórica de se manipular um banco de dados relacional. Por meio 
dela, é indispensável que os usuários especifiquem os dados necessários em recuperações ou 
consultas, para assim obtê-los. Na álgebra relacional, todas as operações geram uma nova relação, 
seja de entrada ou de saída. 
Neste Infográfico, você vai ver uma representação gráfica das principais operações relacionais e 
das respectivas cláusulas utilizadas em SQL nesses casos.
Laiane
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/8e00cb57-fe6f-4e15-9991-ac19692f74ce/4a3292f2-2e3d-4ba7-9775-9c8149282062.png
Conteúdo do livro
Os primeiros bancos de dados relacionais foram construídos e idealizados a fim de tornar as 
informações mais organizadas e de fácil acesso aos seus usuários. Antes da criação das consultas 
utilizando SELECT, FROM e WHERE em SQL, foi definido um modelo relacional, baseado na 
álgebra relacional. Conhecer sobre álgebra relacional contribui para seu aprendizado sobre as 
funcionalidades das consultas e recuperações em SQL.
Diferentes recuperações de dados podem ser relacionadas e assim construir uma tabela de junção. 
Tanto a junção quanto a união também estão presentes na álgebra relacional como operadores 
relacionais.
No capítulo Álgebra relacional, do livro Banco de dados, base teórica desta Unidade de 
Aprendizagem, você vai Identificar as operações de álgebra relacional associadas à linguagem SQL, 
verá a utilização de operadores de álgebra relacional e consultas em SQL e reconhecerá as 
diferentes implementações dos operadores de álgebra relacional em bancos de dados comerciais.
Boa leitura.
Laiane
Laiane
BANCO 
DE DADOS 
Roni Francisco Pichetti
Álgebra relacional
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Identificar as operações de álgebra relacional associadas à linguagem 
SQL.
 � Praticar a utilização de operadores de álgebra relacional e consultas 
em SQL.
 � Reconhecer as diferentes implementações dos operadores de álgebra 
relacional em bancos de dados comerciais.
Introdução
Os bancos de dados foram criados para garantir a integridade das infor-
mações utilizadas em diferentes sistemas de informações, seja a nível 
operacional ou de gestão das informações. Nesse sentido, os sistemas de 
gerenciamento de bancos de dados relacionais (SGBDRs) são baseados em 
conceitos da álgebra relacional e tratam da manipulação e recuperação 
de dados em expressões algébricas e matemáticas. Isso possibilita a 
construção de consultas organizadas e eficientes.
Neste capítulo, você vai estudar a álgebra relacional e a sua relação 
com a linguagem de consulta estruturada (SQL, do inglês structured query 
language). Para isso, você vai aprender sobre os operadores de álgebra 
relacional e vai verificar exemplos da criação de consultas em SQL utili-
zando esses operadores em bancos de dados para sistemas comerciais.
1 Operadores de álgebra relacional em SQL
A álgebra relacional é um conjunto básico de operações para o modelo 
relacional de banco de dados. Essas operações possibilitam que o usuário 
especifique as recuperações básicas como expressões da álgebra relacional. 
Portanto, o resultado de uma expressão de álgebra relacional será uma relação 
que representa o resultado de uma consulta em um banco de dados. A álgebra 
relacional é importante, pois oferece uma base formal para as operações do 
modelo relacional. Assim, ela é utilizada para o aumento da eficiência de 
consultas nos módulos de otimização e processamento de consultas, que fazem 
parte dos SGBDRs, conforme lecionam Elmasri e Navathe (2011). 
As operações de álgebra relacional podem ser divididas em dois grupos: 
um grupo que inclui um conjunto de operações da teoria de conjuntos da 
matemática (união, intersecção, diferença de conjunto e produto cartesiano), 
e outro que trata de operações desenvolvidas para bancos de dados relacionais 
(seleção, projeção, junção, divisão, renomeação e alteração). Algumas solicita-
ções em bancos de dados comuns não podem ser realizadas com as operações 
originais da álgebra relacional; por esse motivo, algumas operações foram 
criadas especificamente para expressá-las. Entre esses casos estão as funções 
de agregação, que podem resumir os dados das tabelas, e os tipos adicionais 
de junção e união, que são a junção externa e a união externa (ELMASRI; 
NAVATHE, 2011). Para Machado (2014), existem outros tipos de classificação 
desses mesmos operadores, como quanto à sua origem (fundamentais, derivados 
e especiais) e quanto ao número de relações (unitários ou binários).
As consultas em álgebra relacional utilizam os operadores para descrever 
um procedimento passo a passo para obter um resultado. Nesse caso, tanto as 
entradas quanto as saídas se tornam relações. Isso quer dizer que uma consulta 
é avaliada utilizando as instâncias de cada relação de entrada e a instância 
da relação de saída. Ao definir a álgebra relacional, é possível referenciar os 
campos pela sua posição, em vez de pelo seu nome, para que não seja necessário 
referenciar todos os resultados intermediários. Porém, ao utilizar os nomes 
dos campos, as consultas se tornam mais legíveis (RAMARKRISHNAN; 
GEHRKE, 2011).
Álgebra relacional2
Diferentes operações da teoria de conjuntos são utilizadas para mesclar os 
elementos de dois conjuntos, como união, intersecção e diferença de conjunto 
(ou subtração). Essas são operações em que cada uma é aplicada a dois con-
juntos de linhas. Quando essas operações são utilizadas nos bancos de dados 
relacionais, as duas relações que serão analisadas ou comparadas precisam 
possuir o mesmo tipo de tuplas — o que é chamado de compatibilidade de 
união ou de tipo. Essa compatibilidade é verificada pela coincidência de 
quantidade de atributos e de domínio das tuplas (ELMASRI;NAVATHE, 2011).
Nesse sentido, para compreender melhor o conceito das operações união, 
intersecção e subtração, vejamos a seguir a comparação entre duas relações, 
Q e R, com cada um dos operadores.
 � A união (⋃) de Q e R, portanto, Q ⋃ R, é uma relação que inclui todas 
as tuplas que estão em Q ou em R ou em R e em Q, em que as duplicadas 
são eliminadas.
 � A intersecção (∩) de Q e R, portanto, Q ∩ R, é uma relação somente 
com as tuplas que estão tanto em Q quanto em R, as tuplas em comum.
 � A subtração (−), representada por Q – R, trata basicamente das tuplas 
que estão em Q, mas não estão em R.
Veja, a seguir, um exemplo que ilustra essas relações.
(Produtos Q) ⋃ (produtos R):
3Álgebra relacional
(Produtos Q) ∩ (produtos R):
(Produtos Q) – (Produtos R):
Pode-se perceber que as operações de união e intersecção são comutativas; 
isso quer dizer que, independentemente da ordem da relação, o resultado será 
o mesmo. Então Q ⋃ R = R ⋃ Q e Q ∩ R = R ∩ Q. Já a operação de subtração 
é não comutativa, pois a diferença é verificada da primeira para a segunda 
tabela. Portanto, Q – R ≠ de R – Q. Em SQL, existem três operações que 
realizam as mesmas funções das operações de conjunto união, intersecção 
e subtração, que são, respectivamente, UNION, INTERSECT e EXCEPT 
(ELMASRI; NAVATHE, 2011).
A operação de conjunto produto cartesiano, ou produto cruzado, é re-
presentada por ×. Quando utilizada, suas relações não precisam ser compa-
tíveis na união. Por ser binária, produz um novo elemento, combinando cada 
tupla de uma relação com cada tupla da outra relação. Dessa forma, resulta 
em uma nova tabela, com todas as combinações possíveis entre os elemen-
tos das tabelas originais. Ela possui maior utilidade quando é seguida por 
uma seleção que combine valores de atributos das relações que a compõem. 
Em SQL, a operação produto cartesiano pode ser realizada empregando-se 
a opção CROSS JOIN em tabelas juntadas (ELMASRI; NAVATHE, 2011). 
Veja, a seguir, um exemplo da aplicação dessa operação.
Álgebra relacional4
(Aluno Q) × (Matéria R):
Entre os operadores da álgebra relacional está o de seleção, representado por σ 
(letra grega sigma), que é utilizado para selecionar as linhas de uma relação. 
Há também o operador de projeção, representado por π (letra grega Pi), que 
é empregado para projetar colunas. Assim, o operador seleção especifica 
as linhas a serem mantidas utilizando uma condição de seleção, que geral-
mente é uma expressão booleana (comparação entre dois valores) de termos 
(RAMARKRISHNAN; GEHRKE, 2011). Segundo Elmasri e Navathe (2011), 
a operação de seleção pode ser considerada um filtro, que mantém apenas 
as linhas que satisfazem uma determinada condição, restringindo as demais. 
Entre os operadores de seleção utilizados, estão: {=, , ≠, ≤, ≥}.
Enquanto a operação de seleção escolhe algumas linhas e descarta outras, 
a operação de projeção seleciona colunas e descarta outras. Por esse motivo, 
o operador de projeção é utilizado quando são necessários apenas determi-
nados atributos de uma relação. Assim, o resultado de uma projeção pode 
ser visualizado como uma parte vertical da relação. A operação de projeção 
remove linhas que estiverem duplicadas; portanto, o resultado dessa operação 
é um conjunto de linhas distintas. Essa eliminação das duplicatas necessita 
de uma classificação ou de outra técnica, o que aumenta o processamento 
(ELMASRI; NAVATHE, 2011).
A operação de junção é indicada por ⋈ e é utilizada para combinar tu-
plas relacionadas de duas relações em uma única tupla. Essa operação é 
importante, pois possibilita processar mais de um relacionamento entre as 
relações. A operação de junção pode ser definida como uma operação de 
produto cartesiano aliada a uma operação de seleção. Em uma junção, apenas 
as combinações de tuplas que contemplarem a condição junção previamente 
5Álgebra relacional
definida aparecem no resultado. Assim, cada combinação de tupla na qual a 
condição de junção é considerada verdadeira é incluída no resultado como 
uma única tupla combinada. Portanto, nem todas as informações das relações 
participantes da operação de junção são preservadas no resultado, visto que 
as tuplas que não correspondem à condição não são combinadas (ELMASRI; 
NAVATHE, 2011).
A operação de divisão (÷) é utilizada em um tipo específico de consulta 
que pode ocorrer em banco de dados. Por exemplo, pesquisar os nomes dos 
funcionários que trabalham em todos os projetos em que “André Silveira” 
trabalha. Para isso, primeiro, deve ser recuperada a lista dos números de 
projeto em que “André Silveira” trabalha. Depois, deve-se criar uma relação 
que ligue a matrícula do funcionário a um projeto. E, por fim, deve-se apli-
car a divisão nas duas relações, o que resulta na matrícula dos funcionários 
desejados (ELMASRI; NAVATHE, 2011).
Para facilitar a conexão com operações complexas, pode ser útil renomear 
os atributos nas relações intermediárias e de resultado, ou o nome da rela-
ção. Para isso, é utilizada a operação renomear (ρ). Por exemplo, pode-se 
renomear a relação comprador para cliente, com a expressão: ρcomprador
(cliente), 
em que “comprador” é o nome novo e “cliente” é o nome antigo da relação 
(ELMASRI; NAVATHE, 2011).
2 Operações de álgebra relacional e 
consultas SQL
A álgebra relacional é muito importante para compreender os tipos de so-
licitações que podem ser definidas em um banco de dados relacional. Ela 
também é útil para o processamento e a otimização das consultas em um 
SGBDR. Porém, as operações da álgebra relacional são consideradas muito 
técnicas pela maioria dos usuários de sistemas de gerenciamento de banco 
de dados (SGBDs) comerciais, visto que uma consulta em álgebra relacional, 
para ser escrita, necessita de uma sequência de operações, que, quando forem 
executadas, produzem o resultado esperado. Dessa forma, o usuário necessita 
especificar como e em que ordem executar as operações de consulta. Já a SQL 
possibilita uma interface de linguagem declarativa de nível mais alto, para 
que o usuário especifique apenas qual deve ser o resultado, enquanto o SGBD 
gerencia a otimização e as decisões de como executar a consulta (ELMASRI; 
NAVATHE, 2011).
Álgebra relacional6
A SQL possui muitos recursos baseados em álgebra relacional; porém, sua 
sintaxe é mais fácil de ser utilizada do que a linguagem formal da álgebra rela-
cional (ELMASRI; NAVATHE, 2011). Por esse motivo, nesta parte do capítulo, 
serão apresentados alguns exemplos dos operadores de álgebra relacional e 
a sua correspondência em SQL, para uso em bancos de dados. Para iniciar, 
veja o Quadro 1, que traz operadores de álgebra relacional relacionados às 
cláusulas e operadores utilizados em SQL.
Fonte: Adaptado de Elmasri e Navathe (2011).
Álgebra relacional SQL
Projeção SELECT
Produto cartesiano FROM
Seleção WHERE
União UNION
Renomeação AS
Intersecção INTERSECT
Subtração MINUS ou EXCEPT
Junção JOIN
Quadro 1. Operadores de álgebra relacional e respectivas cláusulas e operadores em SQL
Veja os exemplos do box a seguir.
O exemplo a seguir trata da operação de seleção em uma tabela de colaboradores 
em que o código do departamento deve ser 4, e o salário, maior do que R$ 30.000,00 
(ELMASRI; NAVATHE, 2011).
7Álgebra relacional
Operador de seleção (σ):
σ CodigoDepto=4 AND Salario>30.000 
(COLABORADOR)
corresponde à consulta SQL:
SELECT *
FROM COLABORADOR
WHERE CodigoDepto=4 AND Salario>30.000;
O próximo exemplo relaciona o operador de projeção, também na tabela de colabo-
radores. Nesse caso, são especificadas duas colunas, Sexo e Salario, sendo que o 
resultado não pode possuir duplicatas. Para isso, utiliza-se a palavra-chave DISTINCT. 
Caso não fosse empregada, as duplicatas poderiam não ser eliminadas, o que não é 
permitido nesse caso da álgebra relacional formal (ELMASRI; NAVATHE, 2011).
Operador de projeção (π):
π Sexo, Salario (COLABORADOR)
corresponde à consulta SQL:
SELECT DISTINCT Sexo, Salario
FROM COLABORADOR;Por fim, temos um exemplo da operação renomear em uma consulta na tabela COLA-
BORADOR. Nessa consulta, está sendo requisitado o nome e o salário dos colaborares 
que trabalham no departamento 4. Com a operação de renomeação, serão alterados 
os nomes da relação criada e dos atributos.
Operador de renomeação (ρ):
CodDepto4_Colab ← σ CodigoDepto=4 
(Colaborador)
ρ Resultado (Pnome, Unome, Sal) ←
π Primeiro_nome, Ultimo_nome, Salario (CodDepto4_Colab)
corresponde à consulta SQL:
SELECT C.Pnome AS Primeiro _ nome, C.Unome AS Ultimo _ nome, 
C.Sal AS Salario
FROM COLABORADOR AS C
WHERE CodigoDepto=4;
Álgebra relacional8
Percebe-se que, em SQL, a renomeação é possibilitada pelo emprego dos 
alias ou apelidos, utilizando AS, o que é útil na realização de consultas sobre 
muitos atributos, por exemplo.
3 Uso de operadores de álgebra relacional 
em bancos de dados comerciais
O modelo relacional como um todo se baseia diretamente na álgebra rela-
cional, o que permite que os dados sejam armazenados de forma consistente, 
com redundância reduzida e com a integridade das informações garantida. 
O modelo relacional adquiriu uma importância cada vez maior desde sua 
criação, em 1970, por Edgar Frank Codd, sendo implementado em milhões 
de bancos de dados comerciais dos mais diversos tipos de negócios. Pode-se 
dizer que os pontos fortes do modelo relacional são a integridade e a baixa 
redundância das informações e, por esses motivos, ainda será a melhor solução 
para bancos de dados comerciais por muito tempo (AMARAL, 2016).
Ainda sobre a aplicação de operadores de álgebra relacional em SQL, 
a seguir, estão relacionados exemplos de operadores de união, intersecção e 
subtração com seus respectivos correspondentes em SQL: UNION, INTER-
SECT e EXCEPT.
Aplicação de operadores matemáticos de conjuntos
Veja, a seguir, exemplos de operadores matemáticos de conjuntos (união, 
intersecção e subtração).
União
Listar colaboradores que trabalham no departamento 4 ou que supervisionam 
um colaborador que trabalhe nesse mesmo departamento:
Depto4 ← σ CodigoDepto=4 
(Colaborador)
Result1 ← π Matricula_Colaborador 
(Depto4)
Result2 ← π Matricula_Supervisor 
(Depto4)
Resultado ← Result1 ⋃ Result2
9Álgebra relacional
corresponde à consulta SQL:
SELECT COLABORADOR.Matricula _ Colaborador
FROM COLABORADOR
WHERE CodigoDepto=4;
UNION
SELECT COLABORADOR.Matricula _ Supervisor
FROM COLABORADOR
WHERE CodigoDepto=4;
Intersecção
Listar colaboradores que trabalham no departamento 4 e que supervisionam 
um colaborador que trabalhe nesse mesmo departamento:
Depto4 ← σ CodigoDepto=4 
(Colaborador)
Result1 ← π Matricula_Colaborador 
(Depto4)
Result2 ← π Matricula_Supervisor 
(Depto4)
Resultado ← Result1 ∩ Result2
corresponde à consulta SQL:
SELECT COLABORADOR.Matricula _ Colaborador
FROM COLABORADOR
WHERE CodigoDepto=4;
INTERSECT
SELECT COLABORADOR.Matricula _ Supervisor
FROM COLABORADOR
WHERE CodigoDepto=4;
Álgebra relacional10
Subtração
Listar colaboradores que trabalham no departamento 4, mas que não supervi-
sionam um colaborador que trabalhe nesse mesmo departamento:
Depto4 ← σ CodigoDepto=4 
(Colaborador)
Result1 ← π Matricula_Colaborador 
(Depto4)
Result2 ← π Matricula_Supervisor 
(Depto4)
Resultado ← Result1 − Result2
corresponde à consulta SQL:
SELECT COLABORADOR.Matricula _ Colaborador
FROM COLABORADOR
WHERE CodigoDepto=4;
EXCEPT
SELECT COLABORADOR.Matricula _ Supervisor
FROM COLABORADOR
WHERE CodigoDepto=4;
Você viu ao longo deste capítulo diferentes conceitos e exemplos de expressões em 
álgebra linear utilizando intersecção e subtração. Acessando o link a seguir, você pode 
conferir conceitos adicionais sobre os operadores de conjunto INTERSECT e EXCEPT, 
que podem ser empregados em diferentes versões de bancos de dados em SQL.
http://bit.ly/2TEjBt6
Os próximos exemplos tratam da comparação dos operadores de junção e 
divisão, com suas correspondentes consultas em SQL, tendo em vista que as 
operações de junção e divisão são consideradas binárias, pois dependem da 
relação entre duas tabelas (RAMARKRISHNAN; GERHRKE, 2011).
11Álgebra relacional
Junção
Listar o nome do supervisor e de cada departamento:
Sup_Depto ← Departamento ⋈ NumSupervisor = NumColaborador
(Colaborador)
Resultado ← π NomeDepto, PrimeiroNome, UltimoNome 
(Sup_Depto)
corresponde à consulta SQL:
SELECT NomeDepto, PrimeiroNome, UltimoNome
FROM (COLABORADOR JOIN DEPARTAMENTO ON 
NumSupervisor=NumColaborador);
Divisão
Listar todos os projetos nos quais o colaborador com o código 10 trabalha:
Colab10 ← σ NumColaborador=10’ 
(Colaborador)
Projs_C10 ← π Num_Proj 
(Trabalha_em * Andre)
NumColabs_NumProjs ← π NumColaborador, Num_Projeto 
(Trabalha_em)
NumColabs ← π NumColabs_NumProjs ÷ Projs_C10
Resultado ← π PrimeiroNome, UltimoNome
(NumColabs * Colaborador)
corresponde à consulta SQL:
SELECT COLABORADOR.PrimeiroNome, COLABORADOR.UltimoNome
FROM COLABORADOR
WHERE NumColaborador = 10 
MINUS
SELECT NumColaborador, NumProjeto
FROM TRABALHA _ EM
WHERE NumColaborador = 10;
Álgebra relacional12
AMARAL, F. Introdução a ciência de dados: mineração de dados e big data. Rio de 
Janeiro: Alta Books, 2016.
ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. 6. ed. São Paulo: Pearson, 2011.
MACHADO, F. N. R. Bancos de dados: projeto e implementação. 3. ed. São Paulo: Érica, 
2014. 
RAMARKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de dados. 3. ed. 
Porto Alegre: AMGH, 2011.
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a 
rede é extremamente dinâmica; suas páginas estão constantemente mudando de 
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade 
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
13Álgebra relacional
Dica do professor
O uso da álgebra relacional é importante para compreender como as consultas em SQL são 
construídas, assim como para auxiliar no processo de otimização de um banco de dados. Por esse 
motivo, é necessário conhecer e praticar as operações de junção e divisão, por exemplo.
Nesta Dica do Professor, você vai verificar alguns exemplos de aplicação dos operadores de junção, 
divisão e alteração de dados, assim como consultas em SQL com as mesmas funções.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/91961fb763136300607e7591ecd0fa8c
Exercícios
1) As consultas em álgebra relacional utilizam-se de operadores para descrever, passo a passo, 
um procedimento para se obter um resultado.
Assinale a alternativa na qual são elencadas as operações da teoria de conjuntos que são 
utilizadas para mesclar os elementos de dois conjuntos:
A) Intersecção, projeção e subtração.
B) União, intersecção e subtração.
C) Seleção, projeção e junção.
D) Divisão, união e renomeação.
E) Seleção, alteração e junção.
2) Determinados operadores de álgebra relacional podem ser empregados para criar 
relacionamentos entre tabelas e, assim, obter novas tabelas como resultado. Entre as opções 
a seguir, assinale a que apresenta corretamente o resultado e uma operação de PRODUTO 
CARTESIANO:
A) 
Laiane
Laiane
Laiane
Diferentes operações da teoria de conjunto são utilizadas para mesclar os elementos de dois conjuntos, como UNIÃO, INTERSECÇÃO e DIFERENÇA DE CONJUNTO (ou SUBTRAÇÃO). Estas são operações onde cada uma é aplicada a dois conjuntos de linhas. Enquanto o operador de SELEÇÃO é utilizado para selecionar as linhas de uma relação, o de PROJEÇÃO é empregado para projetar colunas. Já a operação DIVISÃO é utilizada para dividir o resultado de duas consultas e, assim, obter um resultado final; a operação JUNÇÃO, para combinar tuplas relacionadas de duas relações em uma única tupla; e RENOMEAÇÃO, para alterar nomes de atributos ou de relações.Laiane
A operação de conjunto PRODUTO CARTESIANO, ou PRODUTO CRUZADO, é representada por ×. Quando utilizada, suas relações não precisam ser compatíveis na união. Por ser binária, produz um novo elemento combinando cada tupla de uma relação com cada tupla da outra. Dessa forma, resulta em uma nova tabela com todas as combinações possíveis entre os elementos das tabelas originais. A união (⋃) d é um operador que inclui todas as tuplas que estão em duas tabelas relacionadas em uma nova tabela.
B) 
C) 
D) 
E) 
3) A álgebra relacional possibilita realizar seleções em um banco de dados. Veja a seguinte 
expressão: 
σ CodigoTurma=401 AND Media>06 (ALUNO)
A instrução acima utilizada pelo operador de seleção (σ) foi criada para:
Laiane
O operador de SELEÇÃO, representado por σ (letra grega sigma), é utilizado para selecionar as linhas de uma relação. Ele especifica as linhas a serem mantidas utilizando uma condição de seleção, que geralmente é uma expressão booleana (comparação entre dois valores) de termos. Nessa questão, primeiro se procura se o código da turma é igual a 401 e se a média do aluno é maior que 6, da tabela aluno.
A) selecionar as turmas com média maior que 6 que tenham alunos com código 401.
B) selecionar os alunos da turma com o código 401 com média igual ou superior a 6.
C) selecionar os alunos com média maior ou igual a 6 que pertencem à turma com código 401.
D) selecionar os alunos com média maior que 6 que pertencem à turma com código 401.
E) selecionar a média e o nome dos alunos que pertencem à turma com código 401.
4) O operador de PROJEÇÃO (π) é empregado para projetar colunas. Veja a seguinte 
expressão:
π Idade, DataNascimento (ALUNO)
Agora, assinale a alternativa que representa corretamente essa consulta em SQL: 
A) SELECT Anos, DataNascimento FROM ESTUDANTE.
B) SELECT DISTINCT Idade, DataNascimento FROM ESTUDANTE.
C) SELECT Idade, DataNascimento FROM ALUNO.
D) SELECT DISTINCT Idade, DataNascimento FROM ALUNO.
E) SELECT DISTINCT Idade, DataNascimento WHERE ALUNO.
A álgebra relacional oferece uma base formal para as operações do modelo relacional, 
utilizando operadores relacionais que podem ser operações da teoria de conjuntos da matemática 
ou operações desenvolvidas para bancos de dados relacionais. Nesse sentido, observe as tabelas a 
seguir:
5) 
Laiane
Laiane
Laiane
QUESTÃO 4: Nesse caso, são especificadas duas colunas, Idade e DataNascimento, da tabela ALUNO, e o resultado não pode ter duplicatas. Para isso, utiliza-se da palavra-chave DISTINCT na consulta SQL. Caso não fosse empregada, duplicadas poderiam não ser eliminadas, o que não é permitido nesse caso da álgebra relacional formal. Para indicar a tabela, deve ser empregado o FROM e não o WHERE, visto que ele seria útil somente se fosse necessária alguma especificação de dados na consulta.
Se as tabelas A e B são relacionadas por um operador relacional, e o resultado está na tabela C, 
qual operador foi utilizado?
A) União. 
B) Subtração. 
C) Intersecção. 
D) Junção. 
E) Divisão. 
Laiane
Laiane
Entre as operações da teoria de conjuntos utilizadas na álgebra relacional para mesclar os elementos de dois conjuntos estão a UNIÃO, a INTERSECÇÃO e a SUBTRAÇÃO. Essas são operações onde cada uma é aplicada a dois conjuntos de linhas. Na UNIÃO, todos as tuplas das duas tabelas são incluídas no resultado; na INTERSECÇÃO, apenas as tuplas que estão nas duas tabelas relacionadas são apresentadas no resultado, que é o caso do exemplo da questão; já na SUBTRAÇÃO, o resultado são as tuplas presentes somente na segunda tabela da relação. A DIVISÃO é utilizada para dividir o resultado de duas consultas e, assim, obter um resultado final, e a operação JUNÇÃO, para combinar tuplas relacionadas de duas relações em uma única tupla.
Na prática
A álgebra relacional é um método de extração de dados que permite manipular tabelas, linhas e 
colunas de bancos de dados. Seu princípio se baseia na criação de novas tabelas de resultados a 
partir das tabelas existentes. Essas novas tabelas são objetos que podem ser utilizados novamente 
de forma imediata.
Neste Na Prática, você vai conhecer como uma empresa que vende materiais de escritório e 
informática usou álgebra relacional para criar um novo banco de dados. 
Conteúdo interativo disponível na plataforma de ensino!
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Álgebra relacional e SQL
Para aprofundar seus conhecimentos sobre álgebra relacional e sua importância para a SQL, assista 
a este vídeo, que aborda linguagem de consulta e conceitos de álgebra relacional.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Álgebra relacional e junções
Para conhecer mais sobre junções em álgebra relacional, assista a este vídeo, que aborda diferentes 
exemplos de aplicação de junções em tabelas de dados.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Projeto, desenvolvimento de aplicações e administração de 
banco de dados
Para verificar mais conceitos e exemplos sobre os operadores da álgebra relacional, consulte este 
livro de Michael V. Mannino. Dê atenção especial aos conceitos presentes no capítulo 3.4, entre as 
páginas 56 e 68.
Conteúdo interativo disponível na plataforma de ensino!
https://www.youtube.com/embed/jhD9WYNWorA
https://www.youtube.com/embed/mjjjwrh6_6Q

Mais conteúdos dessa disciplina