Algebra Relacional

Embed Size (px)

Citation preview

EnsinAR: FERRAMENTA DIDTICA PARA O ENSINO DE LGEBRA RELACIONALEderson Luiz PaesResumo O EnsinAR uma ferramenta para o apoio do ensino de lgebra relacional e banco de dados. Baseia-se na converso de expresses escritas em lgebra relacional para a SQL (Structured Query Language). A expresso resultante em SQL ento exibida e executada, e seu resultado apresentado em um grid. A ferramenta dotada de um compilador desenvolvido utilizando-se o GALS (Gerador de Analisadores Lxicos e Sintticos), que converte as expresses de lgebra relacional para SQL, e a execuo das consultas e gerenciamento das relaes e atributos criados durante a utilizao feita atravs do gerenciador de Banco de dados SQL Server Express, da Microsoft. Abstract The EnsinAR is an instrument for supporting the teaching of the relational algebra in the database. Which relate to the conversion of the algebra symbols for a SQL ( Structured Query Language).The consequence in SQL has been demanded and executed , its result has been demanded and is introduced in one grid. The instrument is endowed for the compiler which has been develop to make use of the GALS (Generator of Analysts Lexicon and Syntactic), that changes into the expressions of the relational algebra for SQL, and execution of the queries and management of attributes created during the used the use is made through of data base management system SQL Served Express, of Microsoft.

Palavras Chave: Banco de dados, lgebra Relacional, SQL, Compilador, Projeo, Seleo, Produto Cartesiano, Juno, Unio, Interseo, Diferena, Incluso, Excluso, Diviso

1 Introduo A lgebra relacional uma linguagem de consultas procedural. Consiste em um conjunto de operaes tendo como entrada uma ou duas relaes e produzindo, como resultado, uma nova relao. usada para manipular relaes em banco de dados relacionais. A algebra relacional possui operaes fundamentais, que so select, project, unio, atribuio, produto cartesiano e nomeao. Atravs das operaes bsicas podem ser definidas novas operaes, nas quais encontramos interseo, juno, diviso, juno natural e atribuio. Uma das aplicaes da lgebra relacional est na formao da SQL (Structured Query Language). A SQL hoje um padro na realizao de consultas em bancos de dados, em razo da sua simplicidade e facilidade de uso. A SQL foi criada originalmente pela IBM, e sua padronizao foi feita pela American National Standards Institute (ANSI) em 1986 e pelo

International Organization for Standardization (ISO) em 1987. Foi revista em 1992 e verso deu-se o nome de SQL-92. Outras revises aconteceram em 1999 e 2003. Poucas ferramentas implementam a algebra relacional. Entre elas encontram-se duas gratuitas, a LEAP (http://leap.sourceforge.net) e a dbTools (http://www.cc.gatech.edu/computing/Database/dbTools/), e o Simular, desenvolvido por Manoel Pereira Jnior como aluno do Curso de Cincia da Computao da FUOM, em Formiga Verde-MG. O EnsinAR vem complementar essa lista, incluindo algumas funcionalidades no presentes nas duas primeiras, e utilizando ambiente de gerenciamento de relaes e realizao de consultas diferentes e com ferramenta livre.

2 Fundamentao Terica

2.1. lgebra Relacional A lgebra relacional uma linguagem de consultas formal, porm procedural. Consiste em um conjunto de operaes tendo como operando uma ou duas relaes e produzindo, como resultado, uma nova relao. Assim sendo a relao resultante pode tornar-se um operando de uma outra operao. As operaes fundamentais na lgebra relacional so seleo, projeo, unio, diferena e produto cartesiano. Alm dessas operaes fundamentais existem algumas outras operaes renomeao, interseo, juno natural, diviso, e atribuio, que so definidas em termos das operaes fundamentais. As operaes seleo, projeo e renomeao so chamadas de operaes unrias, pois operam sobre uma nica relao. As outras trs operaes fundamentais operam um par de relaes e so portanto chamadas de operaes binrias. As operaes de unio , diferena e interseo devem ser compatveis de unio. Tanto os operandos como o resultado das operaes da lgebra relacional so uma relao, portanto o resultado das operaes est suscetvel a ser aplicado a qualquer operao da lgebra.

2.1.1. Operao Seleo A operao seleo retorna um subconjunto de tuplas que satisfaam um determinado predicado, usando a letra grega sigma () para denotar seleo. O predicado aparece subscrito letra . O argumento da relao dado entre parnteses, seguindo o predicado. Para especificar o predicado, pode-se usar operadores relacionais (>, >=, Acesso em 24 nov. 2004. 6. Cocco, Adriana Pereira. A Linguagem Acesso em 27 maio 2005. 7. Cocco, Adriana Pereira. A Linguagem Acesso em 27 maio 2005. SQL.

SQL.

8. Elmastri, Ramez; Navathe, Shamkant B. Sistemas de Banco de Dados Fundamentos e Aplicaes. 3 ed.LTC Editora, Rio de Janeiro, [19-?], p.174-230. 9. Pereira Jnior, Moacir; Soares, Marinalva Dias. Uma Ferramenta para Simulao de Consultas em lgebra Relacional. Revista SQL Magazine, [s.l.], 2003, p. 14-16. 10. DbTools 2000. Acesso em fevereiro 2007. 11. LEAP RDBMS, An educational relational database management system Acesso em fevereiro 2007.

12. DEITEL, H.M.; DEITEL, P.J. Java Como Programar. 4 ed. Bookman, Porto Alegre, 2003. 1386 p. 13. Compiladores. < http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node37.html > Acesso em fevereiro 2007