Escolar Documentos
Profissional Documentos
Cultura Documentos
– Parte I
Veja neste artigo linguagens de consulta
formal.
Dando continuidade à série de artigos para que o internauta entre no mundo dos bancos de
dados, sugiro que você leia meus dois primeiros artigos (Conceitos Fundamentais de Banco de
Dados – Parte I e II) e também os artigos do Reinaldo Viana (Banco de Dados e Modelagem de
Dados – Parte I, II e Final), para que haja uma perfeita compreensão dos conceitos e
Relacional.
Linguagens de consulta formal são linguagens em que o usuário solicita informações à base de
dados. Geralmente formam uma linguagem de mais alto nível que as linguagens de
programação.
usuário dá as instruções ao sistema para que o mesmo realize uma seqüência de operações
A Álgebra Relacional define operadores para atuar nas tabelas (semelhante aos operadores +,
-, etc. da álgebra que estamos acostumados) para chegar ao resultado desejado.
A forma de trabalho desta linguagem de consulta é a de pegar uma ou mais tabelas (conforme
necessidade) como entrada de dados e produzirá uma nova tabela como resultado das
operações.
Union –União;
Intersection– Intersecção;
Select– Seleção;
Project– Projeção;
Join– Junção;
Divide – Divisão.
Utilizaremos a seguinte tabela como estudo de caso para exemplificar nossas operações:
EMPREGADO.
nova relação.
É utilizada para selecionar um subconjunto de tuplas numa relação que satisfaça uma condição
de seleção predefinida.
Representação gráfica:
Simbologia:
Sintaxe: (Relação)
Operação de Projeção (Project)
operação é executada em apenas uma relação e o resultado é uma nova relação contendo
Simbologia:
Sintaxe: (Relação)
operações. Imaginem se nos interessa apenas o nome, sobrenome e salário dos funcionários
resultado:
Podemos ainda, criar relações intermediárias, dando um nome para cada uma delas e
E logo após:
RESULT <----- NOME, SOBRENOME, SAL (R1), onde RESULT produziria o mesmo
E finalmente, ainda podemos renomear os atributos que aparecerão na relação resultante, para
(EMPREGADO))
Result:
Vamos descrever as funções da álgebra relacional pelas operações que vieram da teoria dos
conjuntos:
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
Uma característica é que somente é possível utilizar este operador caso as tabelas de origem
Representação gráfica:
Simbologia: U
DEPTO3
RESULT1
ID_EMP
12584-7
17987-5
16257-2
15234-1
RESULT2
ID_GER
17206-2
12584-7
RESULT(ID) <----- (RESULT1)U(RESULT2)
RESULT
ID
12584-7
17987-5
16257-2
15234-1
17206-2
Somente foi possível realizar a união entre RESULT1 e RESULT2, pois, apesar dos atributos
compatibilidade de união.
Intersecção (Intersection)
A relação criada pela operação de intersecção será o resultado de todas as tuplas que
Representação gráfica:
Simbologia:
ALUNOS
NOME SOBRENOME
João da Silva
Laura Nogueira
Elaine Cristina
Paulo Vidigal
Pedro Teodoro
Sandra Oliveira
Marcio Santos
Elisabeth de Souza
INSTRUTORES
NOME SOBRENOME
Joel Nunes
Marcio Santos
Paula Andrade
Reinaldo Fagundes
seguinte forma:
RESULTADO
NOME SOBRENOME
Marcio Santos
Uma observação extremamente relevante a ser feita é que ambas as operações de união ou
intersecção são:
Conclusões
Fica claro que muitos conceitos trazidos da matemática tradicional são extremamente
Simbologia: –
ALUNOS
NOME SOBRENOME
Cecília Ortiz Rezende
João da Silva
Laura Nogueira
Elaine Cristina
Paulo Vidigal
Pedro Teodoro
Sandra Oliveira
Marcio Santos
Elisabeth de Souza
INSTRUTORES
NOME SOBRENOME
Joel Nunes
Marcio Santos
Paula Andrade
Reinaldo Fagundes
Cecília Ortiz Rezende
Exemplo 1:
RESULT1
NOME SOBRENOME
João da Silva
Laura Nogueira
Elaine Cristina
Paulo Vidigal
Pedro Teodoro
Sandra Oliveira
Elisabeth de Souza
Exemplo 2:
RESULT2
NOME SOBRENOME
Joel Nunes
Paula Andrade
Reinaldo Fagundes
questão.
Simbologia: x
ALUNOS
NOME SOBRENOME
Cecília Ortiz Rezende
João da Silva
Laura Nogueira
Elaine Cristina
DISCIPLINA
COD_DISC DESCRICAO
1 Fundamentos de Bando de Dados
2 Linguagem de Programação
3 Introdução aos Sistemas Operacionais
RESULT
relacional.
junção.
Simbologia: |x|
Uma condição de junção pode ser formada por mais de uma condição simples,
ALUNOS
TURMAS
COD_TURMA DESCRICAO
1TI 1º Módulo - Informática
2TI 2º Módulo - Informática
1TA 1º Módulo - Administração
2TA 2º Módulo - Administração
ALU_TUR
NOM
SOBRENOME TURMA COD_TURMA DESCRICAO
E
Cecília Ortiz Rezende 2TI 2TI 2º Módulo - Informática
João da Silva 1TI 1TI 1º Módulo - Informática
Laura Nogueira 2TI 2TI 2º Módulo - Informática
Elaine Cristina 2TI 2TI 2º Módulo - Informática
(ALUNOS |x|TURMA=COD_TURMA TURMAS))
RESULT
segunda relação.
Não é um operador primitivo, mas pode ter o resultado obtido por uma
Simbologia:
EQUIPE
ID_EMP COD_PROJ
17206-2 001
12584-7 002
16764-6 001
17206-2 002
15698-3 003
17206-2 003
PROJETOS
COD_PROJ DESCRICAO
001 Sistema IRPF
002 Sistema RH
003 Sistema Banco
FUNCIONARIO
em todos os projetos:
(EQUIPE))
RESULT
ID_EMP
17206-2
SÍMBOL
OPERAÇÃO SINTAXE TIPO
O
<----- Atribuição Variável <----- Relação Primitiva
Seleção (Select) <condicao de elecao>(Relação) Primitiva
Projeção (Project) <lista de atributos>(Relação) Primitiva
União (Union) (Relação 1) (Relação 2) Primitiva
Interseção
(Relação 1) (Relação 2) Adicional
(Intersection)
Diferença
– Sintaxe: (Relação 1) – (Relação 2) Primitiva
(Difference)
Produto Cartesiano
X (Relação 1) X (Relação 2) Primitiva
(Product)
Conclusões
Finalizamos aqui a série de artigos sobre Álgebra Relacional. Tivemos uma boa
será muito útil na construção de instruções que irão interagir com o banco de