Sie sind auf Seite 1von 12

TRABALHO INTERDISCIPLINAR DIRIGIDO II

INSTITUTO POLITCNICO Centro Universitrio UNA

A contribuio da lgebra relacional para


Bancos de dados relacionais

Daphne Fernanda F. B. de Carvalho


Douglas Fidelis Noronha
Guilherme Campos Vieira
Hugo Rafael C. Soares
Marcela Fidelis Noronha
Mike Robert Siqueira
Wagner Chaves Ornelas

BELO HORIZONTE
NOVEMBRO DE 2011

31112126
31112229
31112256
31112281
31112274
31116913
31112608

SUMRIO
RESUMO................................................................................................................... 03
1. INTRODUO ...................................................................................................... 03
2. REVISO BIBLIOGRFICA ................................................................................. 04
2.1. Banco de dados relacional .................................................................. 04
2.2. Modelo relacional de dados ................................................................. 05
2.3. lgebra relacional ................................................................................. 05
2.4. Teoria de conjuntos ............................................................................... 06
2.5. Os operandos da lgebra relacional ................................................... 06
2.5.1. Operandos de conjuntos tradicionais ................................... 07
2.5.2. Operandos relacionais especiais........................................... 07
3. MATERIAIS E MTODOS ................................................................................... 08
4. RESULTADOS EXPERIMENTAIS ...................................................................... 09
4.1 Consulta 01 ............................................................................................. 09
4.2 Consulta 02 ............................................................................................. 09
4.3 Consulta 03 ............................................................................................. 10
4.4 Consulta 04 ............................................................................................. 11
5. CONCLUSO ...................................................................................................... 11
6. REFRENCIAS BIBLIOGRFICAS .................................................................... 12

TRABALHO INTERDISCIPLINAR DIRIGIDO II


INSTITUTO POLITCNICO Centro Universitrio UNA

A contribuio da lgebra relacional para


Bancos de dados relacionais
Curso: Engenharia de Computao

Professor TIDIR: Elson A. R. Junior

Daphne Fernanda F. B. de Carvalho, Douglas F. Noronha, Guilherme C. Vieira,


Hugo R. C. Soares, Marcela F. Noronha, Mike R. Siqueira, Wagner C. Ornelas

Resumo Este artigo tem como escopo o estudo da contribuio da lgebra


relacional para bancos de dados relacionais. A apresentao de conceitos bsicos
sobre banco de dados relacional, modelo relacional, lgebra relacional e suas
operaes relacionais. Demonstrao de consultas a banco que ratificam a
contribuio da lgebra relacional, fazendo uso da linguagem SQL.
Palavras-chave banco de dados, lgebra relacional, modelo relacional.

1. INTRODUO
Muitas descobertas do mundo contemporneo, nas diversas reas do
conhecimento, foram impulsionadas graas aos avanos da computao. Deitel
(2001, p.45) afirma que os avanos na tecnologia de hardware e software levaram a
uma exploso da Internet e da World Wide Web.. Sendo a matemtica uma das
principais contribuintes para tais avanos, seja na transmisso de dados, na
criptografia de informaes, nos bancos de dados relacionais, dentre outros.
De acordo com Date (2003), no final do ano de 1968, Edgar F. Codd, um
matemtico, na poca pesquisador da IBM, percebeu que a matemtica poderia ser
usada para injetar alguns princpios que proporcionassem algum rigor, permitindo
uma evoluo dos conceitos no gerenciamento de bancos de dados, que at ento
era deficiente em aspectos como redundncia e gerenciamento facilitado.
Estas ideias influenciaram quase todos os aspectos da tecnologia em vrias
reas, desde bancos de dados inteligncia artificial. Segundo Ferrari (2007), banco

de dados um local no qual possvel armazenar informaes, cuja finalidade


permitir aos usurios buscar e atualizar dados, quando as solicitar.
Estas operaes tornaram-se possveis graas lgebra relacional que tem
como objetivo permitir a escrita de expresses relacionais.
Um sistema relacional um sistema que admite bancos de dados
relacionais e operaes sobre esses bancos de dados, incluindo em
particular as operaes de restrio, projeo e juno. Essas operaes, e
outras semelhantes a elas, so conhecidas coletivamente como lgebra
relacional, e todas elas so operaes em nvel de conjunto. (Date, 2003,
p.67)

O modelo relacional tornou-se um conceito importantssimo para a tecnologia


de bancos de dados, ao fazer uso de uma teoria abstrata de dados baseada em
certos aspectos da matemtica, como a teoria dos conjuntos e a lgica de
predicados.
Portanto, faz-se importante arguir de que forma a lgebra relacional vem a
contribuir para os sistemas de gerenciamento de bancos de dados (SGBD) e como
ela supriu as deficincias de banco.
Diante disto, entender-se- como a lgebra relacional, baseada na teoria dos
conjuntos, possibilitou a utilizao de operaes relacionais para o gerenciamento
de bancos de dados e como a SQL1, linguagem padro, implementa tais operaes,
e assim a compreenso do embasamento matemtico destes conceitos.
Este artigo apresenta um estudo terico da lgebra relacional e suas
operaes em banco de dados.

2. REVISO BIBLIOGRFICA
Nos dias de hoje, o uso de bancos de dados tornou-se um recurso valioso
para o armazenamento, segurana e compartilhamento de informaes, desde
pequenas s grandes organizaes.
2.1.

Banco de dados relacional

O banco de dados relacional funciona como um repositrio para uma coleo


de arquivos, sua finalidade geral armazenar as informaes e permitir ao usurio
que as busque e atualize, quando solicitado. Segundo Date (2003), o banco de
1

SQL: Linguagem de consulta estruturada, usada em pesquisas declarativas em banco de dados relacional.

dados relacional representa um conjunto de dados interligados, sua estrutura


organiza as informaes em relaes (tabelas) constitudas por tuplas (linhas) e
atributos (colunas), lanando mo de operaes oriundas da lgebra relacional. As
operaes matemticas tratam dos dados no conceito de entidade e relao.
A entidade caracteriza os dados a serem recolhidos em uma tabela e a
relao ser a forma como os dados sero associados.
No banco de dados relacional, na parte de hardware, faz-se uso dos volumes
de armazenamento secundrios, tais como discos magnticos, utilizados para
manter os dados armazenados. A memria principal auxilia na execuo da parte de
software do sistema, este constitudo pelo SGBD, incumbido de coordenar todas as
requisies de acesso a banco.
Facilidades como remover, buscar, editar e acrescentar arquivos, so
fornecidas por este sistema gerenciador de bancos. Segundo Date (2003, p.08)
uma funo geral fornecida pelo SGBD , portanto, a de isolar os usurios do banco
de dados dos detalhes no nvel de hardware.
2.2.

Modelo relacional de dados

O banco de dados relacional apresenta os trs aspectos principais dos dados,


conceito oriundo do modelo relacional, so eles: a estrutura de dados, ou seja, as
tabelas propriamente ditas; a integridade, como estas tabelas satisfazem a certas
restries e por fim a manipulao, os operandos disponveis para que o usurio
possa manipular as tabelas.
O modelo relacional representa o banco de dados como um conjunto de
relaes, tratando apenas de questes lgicas, e no de questes fsicas. Segundo
Date (2003, p.14), o modelo de dados no primeiro sentido como uma linguagem
de programao [...] cujas construes podem ser usadas para resolver uma grande
variedade de problemas especficos., e completa dizendo que este funciona como
um programa especfico escrito nessa linguagem.
2.3.

lgebra relacional

A lgebra relacional uma linguagem de consulta formal, onde o usurio


solicita informaes base de dados, geralmente por meio de instrues SQL, e de

acordo com Date (2003, p.150) a lgebra relacional uma coleo de operadores
que tomam relaes como seus operandos e retornam uma relao como seu
resultado., faz-se importante ressaltar que os operadores so todos apenas de
leitura, ou seja, estes no atualizam seus operandos. muito utilizada em sistemas
relacionais, que se baseiam no modelo relacional.
2.4.

Teoria de conjuntos

A teoria de conjuntos utilizada pela lgebra relacional, onde o grupo


operaes de conjuntos tradicionais originrio da teoria de conjuntos, e o grupo
das operaes relacionais especiais so operaes que derivaram dos tradicionais.
De acordo com Machado (1998) e Morettin, Hazzan e Bussab (2005), conjunto
constitui-se de uma coleo qualquer de objetos, onde estes so os seus elementos.
O conjunto s est bem definido quando possvel estabelecer com certeza se um
elemento pertence ou no ao mesmo.
2.5.

Os operandos da lgebra relacional

Os operandos da lgebra relacional esto subdivididos em dois conjuntos, os


operandos de conjuntos tradicionais, so eles: unio, interseo, diferena e produto
cartesiano, e os operandos relacionais especiais, operaes que surgiram para
promover um gerenciamento facilitado do banco de dados, consistindo em: seleo,
projeo, juno, diviso e a renomeao. A figura 1 apresenta os oito operandos
originais da lgebra relacional. Para as explicaes de cada operao faz-se uso de
termos como operao binria, constituda por dois conjuntos, e operao unria,
constituda por um nico conjunto.

Figura 1: os oito operandos originais da lgebra relacional


Fonte: Adaptado de Date (2003, p.151)

2.5.1. Operandos de conjuntos tradicionais


Unio: relao que contem todas as tuplas pertencentes a ambas ou a cada
um dos conjuntos, A e B, envolvidos. Necessita-se que sejam de mesmo tipo, pois
no ser uma relao se houver tipos diferentes de tuplas. Operao binria,
representada na figura 1, item 04.
Interseo: relao que contm todas as tuplas, dos conjuntos A e B, que
pertencem simultaneamente as duas relaes especificadas. Representada na
figura 1, item 05. Requer operandos de mesmo tipo, operao binria.
Diferena: relao cujo retorno configura-se em todas as tuplas que
pertencem primeira tabela e que no pertencente segunda tabela. Exige
operandos de mesmo tipo, operao binria. Faz-se a ressalva de que A - B
diferente de B - A, onde a ordem dos fatores altera o resultado. Representada na
figura 1, item 06.
Produto cartesiano: conjunto de todos os pares ordenados, de A e B, aonde
o primeiro elemento vem do primeiro conjunto e o segundo elemento vem do
segundo conjunto. Operao binria, representada na figura 1, item 03.
2.5.2. Operandos relacionais especiais
Seleo (restrio): resulta em uma relao contendo todas as tuplas de A,
tais que a condio (predicado) seja avaliada como verdadeira. Produz um
subconjunto horizontal para o qual a condio satisfeita. Operao unria, onde
para a condio faz-se uso de operadores relacionais, so eles: = (igual a), <>
(diferente de), < (menor que), <= (menor ou igual a), > (maior que) ou >= (maior ou
igual a). Representada na figura 1, item 01.
Projeo: retorna uma relao contendo todas as tuplas que permanecem
em um conjunto, aps serem removidos os atributos especificados. Operao
unria, onde forma-se um subconjunto vertical. Representada na figura 01, item 02.
Juno: retorna a combinao de tuplas de duas relaes, A e B, que
satisfazem um predicado. Operao binria, representada na figura 1, item 07.
Existem diversas variedades. Analisa-se a juno natural, onde se combinam as
tuplas de uma tabela com as correspondentes de outra tabela.

Diviso: a diviso de duas relaes, A e B, utilizada para extrair de uma


relao A uma determinada parte que possui os atributos da relao B. Operao
binria, representada na figura 1, item 08.
Renomeao: usada para redefinir o nome dos atributos de uma tabela,
consiste em uma operao unria.

3. MATERIAIS E MTODOS
O presente trabalho caracteriza-se como pesquisa exploratria descritiva,
prov-se da aquisio de um embasamento para a obteno da resposta ao
problema de pesquisa, explicam-se conceitos que promovem a fundamentao
terica do mesmo, tais como, a definio de banco de dados relacional, a utilizao
do modelo relacional no banco de dados, as operaes de banco oriundas da
lgebra relacional , entre outros.
Realiza-se um corte epistemolgico especfico, tendo em vista a investigao
do problema com base no conhecimento. Este adquirido pelo levantamento de
bibliografia j publicada sobre o assunto estudado, caracterizando-o como pesquisa
bibliogrfica.
Aborda-se o tema utilizando processos lgicos baseados na anlise, uso de
mecanismos que permitam a montagem de um cenrio, visando facilitar a anlise do
andamento do trabalho (Pinheiro, 2010). Elabora-se um mini mundo acadmico, o
referido cenrio, apresentado na figura 2, para a elucidao da contribuio da
lgebra relacional em banco de dados relacional, corroborando com os conceitos
estudados anteriormente.

Figura 2: mini mundo acadmico de um aluno em banco de dados


Fonte: Adaptado de Elmasri e Navathe (2005, p.97)

4. RESULTADOS EXPERIMENTAIS
No intuito de se aplicar os conceitos expostos na reviso bibliogrfica, o
cenrio criado para exemplificar as operaes relacionais da lgebra relacional em
banco de dados relacional possui a seguinte temtica: o aluno de uma instituio
frequenta um curso, que como tal possui uma matriz curricular. E este certo aluno
estuda em um semestre determinadas matrias do curso (Fig. 2).
Em geral, a mesma consulta pode existir de vrias maneiras, onde feita a
demonstrao de uma das possveis maneiras de realiz-la. Estas demonstraes,
assim como a estrutura do banco, constituem-se de uma adaptao de algumas
consultas realizadas na obra publicada por Elmasri e Navathe (2005).
4.1. Consulta 01
Supondo que se deseja recuperar o nome e o endereo de todos os alunos
que frequentam o curso de engenharia de computao. Esta consulta feita por meio
da lgebra relacional representada pela figura 3. E a mesma consulta em SQL
apresenta-se na figura 4. Para tal consulta fez-se uso das operaes seleo (),
juno natural () e projeo ().
R_CURSOS

nome_curso = Engenharia de Computao (CURSOS)

R_ALUNOS_CURSOS
RESULTADO

(R_CURSOS cursos_id_curso = id_curso)

nome_aluno, endereco_aluno (R_ALUNOS_CURSOS)


Figura 3: consulta 01 na lgebra relacional
Fonte: Adaptado de Elmasri e Navathe (2005, p. 124)

SELECT nome_aluno, endereco_aluno


FROM alunos, cursos
WHERE nome_curso = "Engenharia de Computao" AND cursos_id_curso = id_curso
Figura 4: consulta 01 em SQL
Fonte: Adaptado de Elmasri e Navathe (2005, p.157)

4.2. Consulta 02
Considerando que seja necessria a obteno do nome dos alunos que no
esto cursando nenhuma matria no momento. Consulta na lgebra relacional
representada na figura 5, e consulta SQL na figura 6. Faz-se uso das operaes
projeo (), diferena (-) e juno (*).

10

id_aluno (ALUNOS)
alunos_id_aluno (ESTUDA)
ALUNOS_COM_MATERIAS
TODOS_ALUNOS

ALUNOS_SEM_MATERIAS

(TODOS_ALUNOS ALUNOS_COM_MATERIAS)

nome_aluno (ALUNOS_SEM_MATERIAS * ALUNO)

RESULTADO

Figura 5: consulta 02 na lgebra relacional


Fonte: Adaptado de Elmasri e Navathe (2005, p. 124)
SELECT nome_aluno
FROM alunos
WHERE NOT EXISTS (SELECT * FROM estuda WHERE id_aluno = alunos_id_aluno)
Figura 6: consulta 02 em SQL
Fonte: Adaptado de Elmasri e Navathe (2005, p. 168)

Caso a inteno fosse verificar todos os alunos que esto cursando pelo
menos uma matria, pode-se realizar a substituio da operao de diferena (-)
pela operao de interseo (), na consulta em lgebra relacional, e realizar a
retirada da palavra NOT na consulta SQL. Fazendo um estudo da situao pela
teoria de conjuntos, seria obtido algo perecido com a figura 7, onde a rea
demarcada de verde representaria o resultado da operao diferena e a rea
demarcada de vermelho o resultado da operao interseo.

Figura 7: conjuntos da consulta 02

4.3. Consulta 03
Desejando realizar a verificao da unio entre a tabela alunos e cursos.
Sabe-se que para haver unio (U) preciso que as tabelas envolvidas sejam
compatveis, ou seja, com mesmo nmero de atributos. Para tal, uma consulta que
envolvesse uma unio de tabelas, precisaria antes da realizao de uma projeo,
como representado na figura 8.
SELECT cursos_id_curso FROM alunos
UNION
SELECT id_curso FROM cursos;
Figura 8: consulta 03 em SQL

11

4.4. Consulta 04
Outra situao que pode ser ilustrada o produto cartesiano entre as tabelas
alunos e cursos, representado na figura 9. Observar-se-ia que para a realizao do
produto cartesiano () em SQL, alem de ser necessrio o uso da clusula cross join,
seria necessrio renomear () as tabelas envolvidas na operao. Como resultado
obter-se-ia cada aluno relacionado com cada curso existente no banco.
SELECT a.cursos_id_curso, a.nome_aluno, c.id_curso, c.nome_curso
FROM alunos a CROSS JOIN cursos c;
Figura 9: consulta 04 em SQL

Com a realizao destas consultas ao banco de dados, verifica-se que a


implementao das operaes da lgebra relacional em linguagem SQL faz uso
constante da estrutura bsica: SELECT <atributo(s)> FROM <tabela(s)> WHERE
<condio>. Observa-se que a aplicao das operaes relacionais as consultas de
banco supriu a deficincia existente no momento de gerenci-lo. Para tal, tornou-se
necessria apenas a compreenso das aplicaes dessas operaes em cada caso
a ser analisado. Compreende-se que a aplicabilidade destas operaes segue uma
regra de integridade dos dados, impedindo a redundncia de informaes.

5. CONCLUSO
O fechamento deste estudo foi satisfatrio, sendo possvel visualizar a
contribuio da lgebra relacional para bancos de dados relacionais. Observou-se
que esta proveu o suprimento das deficincias de bancos. A implantao das
operaes relacionais para a realizao de consultas em banco facilitou o seu
gerenciamento, assim como impediu o surgimento da redundncia de informaes.
Verificou-se que para no haver redundncias so criadas algumas regras
para manter a integridade das informaes, tornando o resultado das consultas a
banco mais confivel e conciso.
Analisou-se como se faz a passagem das operaes relacionais para a
linguagem SQL, visto o quo prtico se d este evento, e como fica evidente a teoria
de conjuntos, demonstrando o embasamento matemtico dos conceitos estudados.
Conclu-se que a matemtica contribui de forma expressiva tanto para a
engenharia de computao quanto para outras reas.

12

6. REFERNCIAS BIBLIOGRFICAS
DATE, C. J. Introduo a sistemas de bancos de dados. 8. ed. Rio de
Janeiro: Elsevier, 2003.

DEITEL, H. M. XML Como programar. 1. ed. So Paulo: Bookman, 2001.

ELMASRI, R., NAVATHE, S. B. Sistemas de banco de dados. 4. ed. So


Paulo: Pearson Addison Wesley, 2005.

FERRARI, F. A. Crie banco de dados com MySQL. 1. ed. So Paulo:


Digerati, 2007.

MACHADO, A. S. Matemtica: conjuntos e funes. 2. ed. So Paulo:


Atual, 1998.

MORETTIN, P. A., HAZZAN S., BUSSAB W. O. Clculo funes de uma e


vrias variveis. 1. ed. So Paulo: Saraiva, 2005.

PINHEIRO, J. M. S. Da iniciao cientifica ao TCC: uma abordagem para


os cursos de tecnologia. 1. ed. Rio de Janeiro: Editora Cincia Moderna
Ltda., 2010.

Das könnte Ihnen auch gefallen