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