Buscar

Álgebra relacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.
•
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.
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.
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.
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 todasas 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 criadae 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.
Conteúdo interativo disponível na plataforma de ensino!
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.
Determinados operadores de álgebra relacional podem ser empregados para criar 
relacionamentos entre tabelas e, assim, obter novas tabelas como resultado. Entre as 
2) 
opções a seguir, assinale a que apresenta corretamente o resultado e uma operação de 
PRODUTO CARTESIANO:
A) 
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:
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 ALUNO.
C) SELECT Idade, DataNascimento FROM ALUNO.
D) SELECT DISTINCT Idade, DataNascimentoFROM 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) 
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. 
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 MAIS
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.
Conteúdo interativo disponível na plataforma de ensino!
Á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.
Conteúdo interativo disponível na plataforma de ensino!
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.

Continue navegando

Outros materiais