Informações pessoais Informações Pessoais
Ciência e Tecnologia Ciência e Tecnologia
Embarcadero Delphi Delphi
Para Sua Área Profissional Área Profissional


Conceito de Banco de Dados


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

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 <condio de seleo> ( <nome da tabela> )

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 CONSULTA9

Isso 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