|
lgebra Relacional
A
lgebra relacional uma coleo de operaes cannicas que so utilizadas para manipular as relaes. Estas operaes so utilizadas para selecionar tuplas de relaes individuais e para combinar tuplas relacionadas de relaes diferentes para especificar uma consulta em um determinado banco de dados. O resultado de cada operao uma nova operao, a qual tambm pode ser manipulada pela lgebra relacional.1- A Operao
Select<condio de seleo> ( <nome da tabela> )A operao
select utilizada para selecionar um subconjunto de tuplas de uma relao, sendo que estas tuplas devem satisfazer uma condio de seleo. A forma geral de uma operao select :s
A letra grega
s utilizada para representar a operao de seleo; <condio de seleo> uma expresso booleana aplicada sobre os atributos da relao e <nome da tabela> o nome da tabela sobre a qual ser aplicada a operao select.Por exemplo, a consulta
consulta1 =
s salrio < 2500,00 (EMPREGADO)trar como resultado todos os campos da tabela EMPREGADO que apresentem salrio menor que 2.500,00. J a segunda consulta trar todos os registros da tabela DEPENDENTES onde os filhos sejam do sexo feminino:
consulta2 =
s (sexo = Feminino) (DEPENDENTES)
As operaes relacionais que podem ser aplicadas na operao
select so:Operao | Significado |
< | Menor |
> | Maior |
>= | Maior ou igual a |
<= | Menor ou igual a |
= | Igual a |
<> | Diferente de |
Tambm podemos usar os operadores booleanos:
and,
or, not
2- A Operao Project
A operao project seleciona um conjunto determinado de colunas de uma relao. A forma geral de uma operao
project :p
<lista de atributos> (<nome da tabela>)A letra grega
p representa a operao project, <lista de atributos> representa a lista de atributos que o usurio deseja selecionar (por exemplo, campos Nome, Cidade, Estado...) e <nome da tabela> representa a entidade (tabela) sobre a qual a operao project ser aplicada.Por exemplo, a consulta abaixo retorna os campos Nome e Data de Nascimento da tabela DEPENDENTES:
consulta3 =
p Nome, Data_Nascimento (DEPENDENTES)
3- Operaes Matemticas
Levando em considerao que as relaes podem ser tratadas como conjuntos, podemos ento aplicar um conjunto de operaes matemticas sobre as mesmas. Estas operaes so: unio (
) , interseco () e diferena (-). Este conjunto de operaes no unrio, ou seja, podem ser aplicadas sobre mais de uma tabela, porm, existe a necessidade das tabelas possurem campos (atributos) exatamente do mesmo tipo. Estas operaes podem ser definidas da seguinte forma:
unio - o resultado desta operao representada por R S uma relao T que inclui todos os registros que se encontram em R e todos os registros que se encontram em S;
interseco - o resultado desta operao representada por R S uma relao T que inclui os registros que se encontram em R e em S ao mesmo tempo;
diferena - o resultado desta operao representada por R - S uma relao T que inclui todos os registros que esto em R mas no esto em S.
Por exemplo, considere a tabela a seguir:
Se desejarmos selecionar todos os empregados que trabalham no departamento nmero 2 ou que supervisionam empregados que trabalham no departamento nmero 2 devemos, primeiro, selecionar todos os funcionrios que trabalham no departamento nmero 2:
consulta7 =
s depto = 2 (EMPREGADOS)Isso nos trar o seguinte:
Observe que todos os funcionrios que no pertencem ao departamento nmero 2 no esto mais na lista. Vamos, agora, selecionar os supervisores desses empregados, usando o campo RG_Supervisor:consulta8 =
prg_supervisor (CONSULTA7)Isso nos trar este resultado:
Vamos projetar apenas o rg dos empregados selecionados:consulta9 =
prg(CONSULTA7)
E por fim, vamos unir as duas tabelas, obtendo o resultado final:consulta10
= CONSULTA8 CONSULTA9Isso nos trar:
Note que o RG 10101010 s aparece na consulta de supervisores (CONSULTA8) e nesta ltima, quando unimos a CONSULTA8 com a CONSULTA9 (que contm apenas RG de funcionrios).
(fonte: UNIMAR-Universidade de Marlia - Apostila de Banco de Dados)
Atualizada em
01/02/2010