Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra

Propaganda
Artigo Original
/ Original
Article
Instrumento Pedagógico para Apoio a Aprendizagem
de Álgebra
Relacional
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
Pedagogical Instrument to Support the Learning Process of Relational Algebra
Renato Vidal Kinaippa*; Adriana Gomes Alvesb
Resumo
A Álgebra Relacional é um conteúdo abordado na disciplina de Banco de Dados nos cursos de computação. Trata-se de uma linguagem formal
de consultas procedurais para o modelo relacional, e seus conceitos são baseados na teoria da matemática e na lógica de predicados. Como o
conteúdo da Álgebra Relacional é conceitual e muito complexo, para que os alunos tenham um bom entendimento dela, é necessária muita
prática através de exercícios de fixação, normalmente realizada sem o uso de qualquer ferramenta. Os professores encontram, nesta tarefa,
dificuldades na correção e na avaliação dos alunos. Devido a esses problemas, este trabalho propõe uma ferramenta que visa a auxiliar os alunos
na aprendizagem da Álgebra Relacional através da resolução de exercícios, permitindo a correção automática das expressões e visualização dos
resultados. A ferramenta permite a geração de relatórios com o desempenho dos alunos na resolução dos exercícios, e, com isso, o professor
pode verificar onde cada aluno está errando e pode ajudá-los da melhor maneira possível, tornando a assimilação da Álgebra Relacional pelos
alunos mais fácil e agradável.
Palavras-chave: Álgebra Relacional. Informática na Educação. Banco de Dados.
Abstract
Relational Algebra is a topic taught in database classes inside computer related courses. It is a formal language for procedural consultation for
the relational model, and its concepts are based on mathematical theory and predicate logic. As the Relational Algebra topics are conceptual
and very complex for the students to understand, it takes a lot of practice through exercises, usually performed without the usage of tools.
Teachers find this task difficult to correct and to evaluate. Because of these problems, this paper proposes a tool that aims to assist students
in learning the Relational Algebra by solving exercises, allowing automatic correction of the expressions and results. The tool allows the
generation of reports with the performance of students in solving exercises, and, therefore, the teacher can see where each student is wrong and
can help them the best possible way, making the assimilation of Relational Algebra easier and more enjoyable.
Key-words: Relational algebra. Computers in education. Database.
a
Bacharel em Ciência da Computação - Universidade do Vale do Itajaí
(UNIVALI). E-mail: [email protected]
b
Mestre em Engenharia de Produção - Universidade Federal de Santa
Catarina (UFSC). Docente da Universidade do Vale do Itajaí (UNIVALI).
E-mail: [email protected]
* Endereço para correspondência: Rua: Hildebrando José da Silva, 765.
CEP 88.304-200. Itajaí - SC.
1 Introdução
A Álgebra Relacional faz parte do conteúdo programático
da disciplina de Banco de Dados nos vários cursos de graduação
em computação. Ela é a base formal das linguagens comercias
de banco de dados relacionais, i. e. SQL (Structured Query
Language), e ilustra as técnicas fundamentais para extração de
dados (SILBERSCHATZ; KORTH; SUDARSHAN, 2006).
Uma metodologia adotada para a aprendizagem da
linguagem da Álgebra Relacional se dá através da resolução
de exercícios de fixação. Os alunos têm dificuldade em
compreender o funcionamento da linguagem, pois não
conseguem testar se a sintaxe está correta, tampouco visualizar
os resultados obtidos com a resposta elaborada, haja vista que
os exercícios são realizados em papel, ou, no máximo, em
editor de textos. Por outro lado, para que o professor possa dar
retorno aos alunos, faz-se necessária a correção das listas de
exercícios, tarefa exaustiva e morosa.
O Sistema para Apoio à Aprendizagem de Álgebra
Relacional (KINAIPP, 2009) foi pensado para atender as
dificuldades dos alunos e professores na resolução e correção
de exercícios de Álgebra Relacional. Através de interface
simples, o sistema permite, ao aluno, elaborar expressões
em Álgebra Relacional, no intuito de atender à pesquisa
solicitada na questão elaborada pelo professor. O sistema
corrige automaticamente as respostas, apresentando os dados
recuperados do banco de dados (quando a resposta é correta)
ou uma mensagem apontando o erro encontrado.
A disponibilidade do sistema através da Web confere, ao
aluno, a liberdade de realizar seus estudos no momento que
lhe é mais adequado, bem como proporciona ao professor,
a facilidade de acessar as respostas dos alunos a qualquer
momento, para fazer suas avaliações.
Foi realizada oficina de utilização do sistema junto
aos alunos da disciplina de Banco de Dados I do curso de
Ciência da Computação, na qual pode-se observar algumas
contribuições que a ferramenta possibilita a aprendizagem de
Álgebra Relacional.
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
41
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
2 Objetivos
O objetivo deste estudo foi desenvolver instrumento
pedagógico que visa auxiliar a aprendizagem de álgebra
relacional para alunos da disciplina de banco de dados em
cursos de Ciência da Computação.
Teve-se como hipótese a elaboração de um software
voltado para a web, portanto alguns objetivos específicos
foram traçados, dentre eles o estudo de ferramentas similares
que pudessem fornecer elementos para a especificação do
software, visando obter um diferencial com relação às opções
já disponíveis. Outro objetivo específico foi o estudo de
ferramentas e técnicas que possibilitassem a construção do
software a partir dos requisitos para ele analisados.
Buscou-se como objetivo específico, além dos já
apontados, a validação do instrumento através da análise do
mesmo junto a seu público alvo.
3 Fundamentação Teórica
3.1 Banco de dados
Banco de Dados é um sistema computadorizado que
tem a finalidade de armazenar informações e permitir que
as mesmas sejam buscadas e alteradas quando solicitado
pelo usuário. Um sistema de banco de dados envolve os
dados (que ficam armazenados), o hardware (volumes de
armazenamento secundário, processadores), o software e os
usuários (programadores, administradores e usuários finais)
(DATE, 2003).
Os usuários que utilizam sistema de banco de dados
podem realizar diversas operações com os registros gravados
no banco, como exemplo, acrescentar novos registros, inserir,
excluir ou alterar dados de registros existentes, dentre outras
operações. Para os usuários realizarem tais operações, utilizase a camada de software, chamada de SGBD - Sistema
Gerenciador de Banco de Dados, que trata todas as requisições
de acesso ao banco de dados. O SGBD, portanto, isola os
usuários dos detalhes de nível de hardware, oferecendo visão
mais elevada, admitindo expressões de alto nível, como o
SQL (DATE, 2003).
Cada tipo de SGBD tem seu modelo de dados. O modelo
de dados é um conjunto de conceitos que determina como
os dados serão organizados e representados no BD (banco
de dados). O modelo de dados mais popular é o modelo
relacional, que é baseado na lógica e na matemática, e por
consequência, ideal para o ensino de princípios de banco de
dados (DATE, 2003).
3.1.1 Modelo relacional
O modelo relacional é a base da tecnologia moderna de
banco de dados, e é essa base que faz dessa área ciência
(DATE, 2003). O seu conceito foi introduzido por Ted
Codd, da IBM Research, em 1970, e pela sua simplicidade
e base matemática atraiu muita atenção (ELMASRI;
NAVATHE, 2005).
42
No modelo relacional os dados são representados como
linhas em tabelas. Nesse modelo, os operadores que ficam a
disposição dos usuários geram “novas” tabelas a partir das
tabelas “antigas” (DATE, 2003). Ele é baseado na teoria dos
conjuntos e na lógica de predicados de primeira ordem, e se
dedica principalmente ao exame da estrutura, integridade e
manipulação de dados (ELMASRI; NAVATHE, 2005).
A estrutura de dados apresenta todo o conceito do modelo
(determinando o domínio, os atributos, as tuplas, as relações
e as chaves). A integridade faz as restrições básicas para os
dados e os relacionamentos, mantendo a consistência do
modelo. Também faz a garantia de acesso a todos os dados
sem ambigüidade, e a garantia de relacionamentos válidos
(PIREZ, 2006).
A manipulação de dados é a parte do modelo relacional
que, além de manipulá-los, inclui os conceitos de modelos
de dados que definem as restrições do banco (ELMASRI;
NAVATHE, 2005). A manipulação é feita através das
linguagens de consultas formais e também pelo SQL.
3.1.2 Linguagens de consulta
Linguagem de consulta é a linguagem que o usuário
utiliza para fazer requisições no banco de dados. Elas
podem ser procedurais ou não procedurais. Na linguagem
procedural o usuário deve “ensinar” ao sistema como realizar
uma seqüência de operações no banco de dados para que
obtenha o resultado desejado. Enquanto que na linguagem
não procedural, o usuário apenas escreve as informações que
deseja obter, sem precisar fornecer nenhum procedimento
específico (SILBERSCHATZ; KORTH; SUDARSHAN,
2006).
3.1.2.1 Álgebra relacional
A álgebra relacional é uma linguagem formal de consultas
procedural e faz parte da manipulação no modelo relacional.
Basicamente consiste em um conjunto de operações, que
geram nova relação a partir de uma ou mais relações já
existentes no banco de dados. Assim, as operações da álgebra
relacional nada mais são do que produção de novas relações
que podem ser manipuladas pelas mesmas operações da
álgebra (SILBERSCHATZ; KORTH; SUDARSHAN, 2006).
Sequências dessas operações formam uma expressão de
álgebra relacional.
A álgebra relacional é muito importante por diversas
razões: provê fundamento formal para operações do modelo
relacional; é usada como base para implementar as consultas
nos sistemas gerenciadores de banco de dados relacionais;
e seus conceitos são incorporados na linguagem de consulta
padrão SQL (Structured Query Language) (ELMASRI;
NAVATHE, 2005).
O objetivo fundamental da álgebra é permitir a escrita
de expressões relacionais. Essas expressões servem uma
variedade de propósitos, dentre eles a busca de dados -
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
com base nas operações de busca, definir os dados a serem
pesquisados; e atualização de dados - fazer a inserção,
alteração ou eliminação dos dados com alguma operação de
atualização (DATE, 2003).
A álgebra relacional define algumas operações, que
servem para fazer as consultas e as alterações no banco de
dados. As principais operações da álgebra relacional podem
ser divididas em 2 grupos: 1) grupo das operações da teoria de
conjunto matemática: união (union), interseção (intersection),
diferença de conjunto (set difference) e produto cartesiano
(cross product); e o grupo das operações desenvolvidas
especificamente para os bancos de dados relacionais: seleção
ou restrição (select), projeção (project), junção (join) e divisão
(division) (ELMASRI; NAVATHE, 2005).
A tabela 1 apresenta a funcionalidade de cada operação,
com suas respectivas notações e sintaxe:
Tabela 01: Álgebra Relacional - Notação e sintaxe dos operadores
Operação
Notação
Sintaxe
Seleção
s
s <condição de seleção>
(Relação)
Projeção
p
p <lista de atributos> (Relação)
Junção natural
|×|
(Relação A | × | Relação B)
Divisão
÷
(Relação A ÷ Relação B)
União
∪
(Relação A ∪ Relação B)
Interseção
∩
(Relação A ∩ Relação B)
Diferença
-
(Relação A - Relação B)
Produto Cartesiano
×
(Relação A × Relação B)
3.1.2.2 Cálculo relacional
O cálculo relacional, linguagem de consulta baseada na
lógica matemática é não-procedural, ou seja, a partir de uma
expressão do cálculo relacional, pode-se descrever consulta
sem precisar especificar os procedimentos para obtenção das
informações. De acordo com Date (2003) existem 2 tipos de
cálculo relacional: Cálculo Relacional de Tuplas e Cálculo
Relacional de Domínio.
As diferenças entre o cálculo relacional e a álgebra
relacional são apenas superficiais, pois eles são logicamente
equivalentes. Isto é, cada expressão do cálculo relacional há
uma expressão equivalente em álgebra relacional, e vice-versa.
3.1.2.3 Structured Query Language
A Structured Query Language (SQL – Linguagem de
consulta estruturada) foi desenvolvida na IBM Research no
início da década de 1970. É uma linguagem comercial que
utiliza combinação de construções da álgebra e do cálculo
relacional, e fornece linguagem declarativa de alto nível,
facilitando as consultas aos usuários (SILBERSCHATZ;
KORTH; SUDARSHAN, 2006). Tornou-se linguagem
padrão, pela fácil migração de aplicações de banco de dados, e
pela independência de hardware e software. Com isso, passou
a ser a linguagem mais apropriada e utilizada em SGBDs
relacionais comerciais.
Segundo Silberschatz; Korthe e Sudarshan (2006) a SQL
é especificada por duas linguagens:
1. Linguagem de definições de dados (DDL – Data
Definition Language): permite ao usuário definir novas
relações, como também excluí-las e modificá-las; e
2. Linguagem de manipulação de dados (DML – Data
Manipulation Language): permite ao usuário selecionar,
inserir, excluir e modificar dados no banco de dados. A
DML é baseada na álgebra e no cálculo relacional.
A estrutura de uma consulta SQL basicamente se dá por 3
cláusulas: select, from e where. Segue exemplo de expressão
em SQL utilizando essas cláusulas:
SELECT Nome FROM TabAluno WHERE Nome=Maria
A tabela 2 mostra o objetivo de cada cláusula da estrutura
do comando Select na linguagem SQL:
Tabela 02: SQL – Cláusulas
Cláusula
Utilidade
Sintaxe
SELECT
Lista os atributos desejados em
uma consulta
SELECT
Atributo
FROM
Lista as relações que serão usadas
para buscar os atributos
FROM
Tabela
WHERE
É um predicado que envolve os
atributos das relações
WHERE
Condição
3.2 Ferramentas similares
Na disciplina de banco de dados do curso de Ciência da
Computação da Universidade do Vale do Itajaí - Univali, bem
como de outras instituições, um dos conteúdos estudados é
o banco de dados relacionais, seu projeto e manipulação de
dados.
Para que o acadêmico tenha bom embasamento da
linguagem para definição e manipulação de bancos de dados
relacionais, estuda-se a teoria por trás da linguagem comercial
SQL, a saber, Álgebra Relacional. No entanto, verifica-se
grande dificuldade de compreensão desta matéria, por tratarse de algo muito teórico. Acredita-se que ferramentas que
ilustrem os conceitos abordados na disciplina possam tornar
o aprendizado mais fácil e agradável.
Para a construção do software para aprendizagem de
álgebra relacional, um objetivo específico do trabalho foi
analisar ferramentas similares tanto para álgebra relacional,
quanto para SQL, permitindo avaliar a abordagem de cada
uma com relação a aprendizagem dos alunos. As ferramentas
estudadas são apresentadas a seguir:
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
43
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
3.2.3 Ferramenta para o ensino de álgebra relacional
3.2.1 SQLWeb
A ferramenta SQLWeb possui ambiente para resolução de
exercícios de SQL, oferecendo aos alunos e professores banco
de dados de questões (SOUZA, 2009). Apesar de não se tratar
de ferramenta para aprendizagem de álgebra relacional, por
ser já utilizada pelos autores no ensino e aprendizagem de
banco de dados, serviu como fonte de idéias para a construção
da ferramenta apresentada neste artigo.
Os principais itens são: (1) resolução de exercícios;
(2) apresentação do modelo relacional para resolução de
exercícios; (3) possibilidade do professor inserir novos
modelos de banco de dados e exercícios; e (4) realização de
correções automáticas e avaliações.
3.2.2 Interactive Data Flow Query Language
A ferramenta Interactive Data Flow Query Language
- iDFQL, desenvolvida por Appel e Traina Junior (2004) é
de consulta para SGBDs baseada na álgebra relacional e tem
aparência visual, sendo basicamente formada por coleção de
operadores representados por símbolos e as consultas são
representadas por diagramas de fluxo.
O processo de construção de consultas na ferramenta
iDFQL é bem simplificado. Primeiramente o usuário precisa
fazer a conexão com alguma base de dados utilizando a
própria ferramenta. Logo após, escolhem os operadores e os
colocam no painel de construção. Para a consulta ser realizada
com sucesso é necessário que todos os operadores estejam
interligados corretamente. Caso contrário será apresentado
“erro de consulta”.
A figura 1 mostra exemplo de consulta utilizando a
ferramenta iDFQL.
Esta ferramenta foi desenvolvida durante o Curso em
Ciência da Computação da Universidade Luterana do Brasil.
É uma ferramenta visual e tem por objetivo auxiliar no ensino
da álgebra relacional (SCHARDOSIM, 2006).
Para o funcionamento da ferramenta, alguns requisitos
são exigidos: Banco de dados Oracle 9i ou 10g; Biblioteca
estática d2kwutil.ppl e seus componentes; Ferramentas da
Oracle Forms Runtime 6.0 e Forms Builder; e editar o arquivo
tsnames.ora, para que os alunos cadastrados possam acessar o
banco. Não foi possível testar esta ferramenta porque ela não
foi encontrada disponível na internet. A explicação a seguir é
totalmente baseada no texto da autora:
Esta ferramenta utiliza os operadores da álgebra relacional
para formular as expressões. Após o término da formulação da
expressão, esta é validada sintaticamente, e também em nível
de banco, onde os objetos envolvidos na consulta precisam
estar disponíveis no banco em que foi feita a conexão. Na
validação são mostradas mensagens de aviso ao aluno. Após
as validações, o aluno pode visualizar os dados que retornam
da sua busca, sua consulta em SQL e também relações de
objetos que foram utilizadas (SCHARDOSIM, 2006).
3.2.4 Ferramenta de correção automática de consultas em
álgebra
A ferramenta para correção automática de consultas
em álgebra (SOLER et al., 2007), propõe-se a oferecer aos
professores e alunos a resolução de problemas em álgebra
relacional em um ambiente voltado para Web. Esta ferramenta
foi introduzida numa plataforma e-Learning denominada
ACME, a qual visa integrar novos tipos de problemas com o
mínimo de modificações.
A ferramenta permite a criação de descritores de problemas
e suas respectivas soluções, montando uma base de problemas
a serem resolvidos. A partir desses problemas, podem-se
criar diversas bases de problemas, as quais possibilitam gerar
diferentes “workbooks” para cada estudante.
Para visualização do modelo de dados, no módulo do
aluno, apresenta a lista de tabelas e, clicando em cada uma
delas, a lista dos respectivos atributos. O módulo de correção
analisa as respostas fornecidas pelos alunos e oferece ao
mesmo feedback, tanto com relação a erros sintáticos como
Fonte: Appel e Traina Junior (2004)
Figura 01: Consulta utilizando a ferramenta iDFQL
Não se obteve sucesso nos testes realizados, pois a
ferramenta apresenta mensagens de erro que impossibilitam a
sua solução e a visualização do resultado da consulta. Também
não foi encontrado nenhum material apresentado qual solução
tomar quando encontrar determinado erro.
44
erros nos quais os dados obtidos não conferem com o resultado
esperado.
3.2.5 Comparativo
Com base nos estudos das ferramentas verificadas, é
apresentado na tabela 3 comparativo entre elas e a ferramenta
proposta. Apontando as vantagens e desvantagens de cada uma.
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
Tabela 03: Comparativo das Ferramentas Similares
(a)
SQLWeb
(b)
iDFQL
(c) Ferramenta p/
Ensino Álgebra
Relacional
(d)Ferramenta
correção automática
consultas álgebra
(e) Ferramenta
Proposta
Plataforma WEB
Sim
Não
Não
Sim
Sim
Baseada exercícios
Sim
Não
Não
Sim
Sim
Transparência p/ usuário executar
ferramenta (forma gráfica)?
Sim
Não
Não
Não
Sim
Correção automática questão
Sim
Sim
Sim
Sim
Sim
Informa parte do erro?
Sim
Não
Sim
Sim
Sim
Oferece relatórios de
desempenho na resolução?
Sim
Não
Não
Sim
Sim
Voltada p/ Álgebra Relacional
Não
Sim
Sim
Sim
Sim
Características
Analisando a tabela 3, com relação à correção automática,
verificou-se que a abordagem das ferramentas (b) e (c) é
diferente da proposta desse estudo, pois as mesmas fazem a
correção das expressões inseridas pelo usuário, verificando
a sintaxe e a semântica. Porém, assim como as ferramentas
(a) e (d), a ferramenta proposta (e) é baseada em exercícios,
no qual o aluno pode responder as questões elaboradas
pelos professores, esperando-se então que consiga resolver
problemas através da mesma.
As ferramentas (b) e (c) necessitam ser instaladas no
computador do usuário, enquanto as demais são voltadas
para a web. A vantagem da ferramenta on-line é estar
disponível a qualquer momento e possuir banco de dados
compartilhado, o que facilita a interação entre aluno e
professor. A desvantagem é a necessidade do acesso a
internet para poder utilizá-la.
A ferramenta (a) permite a resolução de exercícios para
SQL, que não é o objetivo deste trabalho. No entanto, o
formato de disponibilização dos exercícios e apresentação
do modelo ER, serviu como referencial para o trabalho
proposto.
Acredita-se que o entendimento deste diagrama para
resolução dos exercícios é melhor de aprendizagem de banco
de dados, o que não foi verificado nas demais ferramentas
estudadas.
3.3 Compiladores
A correção dos exercícios é realizada em duas etapas:
inicialmente, verifica-se a sintaxe da expressão. Uma vez
que esteja correta, se traduz a mesma para SQL e compara
o resultado obtido com a resposta esperada pelo professor,
conforme estratégia de correção dos exercícios adotada nesse
estudo e apresentada na figura 2.
Para a implementação do sistema foi necessário utilizar
compilador para a tradução das expressões em álgebra
relacional para SQL.
Expressão
de Álgebra
Relacional
SQL
Base de
Dados
Resultado
Resposta
em SQL do
Professor
Base de
Dados
Resultado
Comparação
Figura 02: Método de correção da álgebra relacional
Compiladores são programas de computadores que fazem
a tradução de uma linguagem para outra. Um compilador
recebe como entrada o programa escrito na linguagemfonte, geralmente linguagem de alto nível, como C, C++,
C# ou Java, e produz o programa equivalente na linguagemalvo (LOUDEN, 2004). Uma das principais características
do compilador é relatar quaisquer erros no programa fonte
detectados durante o processo de tradução (AHO et al., 2008).
No desenvolvimento desse estudo foi utilizado o
GOLD Parser Builder, ferramenta usada para a criação de
compiladores (COOK, 2009). A GOLD possui Construtor
(Builder), seu principal componente, que tem por objetivo
ler a gramática descrita na meta-linguagem do GOLD,
fazer as respectivas análises, e gerar arquivo de tabela com
a gramática compilada (arquivo .cgt). Este arquivo gerado
é independente de plataforma e linguagem, com isso,
diferentes “Engine” já existente em diversas linguagens
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
45
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
são capazes de carregar o arquivo e ler as informações.
“Engine” são DLL existentes desenvolvidas em linguagens
variadas, capazes de ler o arquivo .cgt e executar as ações
necessárias sobre elas.
Além do arquivo .cgt, a ferramenta GOLD também gera
código intermediário na linguagem desejada. Este código
contém o código fonte base, no qual após passar por fase de
otimização é utilizado para a “Engine” escolhida.
A ferramenta GOLD Parser Builder foi a escolhida
para utilizar no sistema por ser gratuita e gerar o código na
linguagem C#, utilizada no desenvolvimento do sistema.
4 Material e Método
Para a realização deste artigo, originário de trabalho de
conclusão de curso em Ciência da Computação na UNIVALI
– Universidade do Vale do Itajaí seguiu-se metodologia
que engloba a Fundamentação Teórica; que se constituiu na
pesquisa e estudos dos conceitos necessários a construção
do software, como banco de dados, álgebra relacional,
compiladores e comparativo entre as soluções similares e a
ferramenta proposta.
Nesse estudo levou-se em conta a experiência em sala
de aula referente a aprendizagem de álgebra relacional,
geralmente melhor compreendida através da realização de
exercícios.
Uma vez definidos os objetivos e o escopo do trabalho,
realizou-se a etapa de Projeto (ou Design), na qual foram
aplicadas técnicas de engenharia de software para definição
dos requisitos, casos de uso, diagrama de classe; prototipação
de telas e definição do método de correção dos exercícios de
álgebra relacional.
O “Desenvolvimento” é caracterizado pela atividade de
implementação i.e. codificação dos módulos propostos, de
acordo com a definição dos requisitos e o banco de dados.
Para a “Validação” da ferramenta foram realizados testes
de unidade, e a validação do mesmo através de oficina com
alunos do quinto período do curso de Ciência da Computação
da UNIVALI.
5 Resultados
A experiência em sala de aula na disciplina de Banco de
Dados vinha mostrando que a realização de exercícios de
álgebra relacional como recurso pedagógico fundamental
para o entendimento deste conteúdo. No entanto, diferente da
aprendizagem de SQL em que os comandos elaborados podem
ser submetidos a SGBD - Sistema Gerenciador de Banco de
Dados, e avaliar os resultados, os comandos em álgebra ficam
restritos a compreensão abstrata, sendo aí a dificuldade dos
alunos na compreensão da linguagem.
Partindo dessa observação e do estudo de algumas
46
ferramentas existentes para o ensino de álgebra relacional,
foi desenvolvido um sistema on-line (Web), encontrado em
http://www.algebrarelacional.net.br/, que visa auxiliar a
aprendizagem de álgebra relacional através da resolução e
correção de exercícios.
A opção de sistema web deu-se pela praticidade de acesso
sem necessidade de quaisquer configurações, sendo apenas
necessário o uso de browser para utilizar o sistema. Outra
vantagem é a possibilidade do aluno acessar de casa e também
permitir dessa forma, atividades à distância. Por estar num
sistema de banco de dados centralizado, a ferramenta permite
ao professor acessar as respostas dos alunos bem como
elaborar com facilidade novos exercícios.
5.1 Descrição geral do sistema
O sistema foi projetado para permitir a elaboração de
exercícios de Álgebra Relacional a partir de modelos de dados
relacionais, possibilitando a resolução de exercícios para
estudos e aplicação de avaliações.
Na versão atual do software, foram desenvolvidos os
módulos: (1) criação de modelo de dados; (2) elaboração
de exercícios; e (3) resolução de exercícios. Descritos a
seguir.
Cada exercício criado no sistema é relacionado a um
modelo de dados. Somente o administrador do sistema pode
inserir novo modelo, por medidas de segurança. Esse modelo
será útil, tanto para o professor, na hora de criar exercícios,
quanto para o aluno respondê-lo. Cada modelo de dados
corresponde a uma base de dados criada no SQL Server.
Para inserir novo modelo, devem-se seguir 3 passos:
(1) O administrador recebe um script de comandos SQL
enviado por algum usuário com privilégio de professor.
Com esse script, o administrador cria a base de dados no
SGBD SQL Server e uma imagem com o modelo dessa
base de dados;
(2) O administrador faz o upload da imagem do modelo, para
que a imagem fique armazenada no sistema; e
(3) O administrador insere o nome da base de dados do SQL
Server correspondente ao modelo e o nome da imagem
do modelo.
Após a criação do modelo de dados, o mesmo fica
disponível para a elaboração dos exercícios. O professor
seleciona o modelo desejado, descreve o enunciado do
exercício, uma resposta correta em Álgebra Relacional e
a resposta correspondente em SQL. Os exercícios ficam
armazenados no banco de dados, compondo um banco de
questões a ser respondidas pelos alunos.
Na resolução dos exercícios os alunos podem exercitar
seus conhecimentos em Álgebra Relacional. Aleatoriamente,
o sistema busca um exercício no banco de dados e apresenta o
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
enunciado elaborado pelo professor juntamente com o modelo
da base de dados correspondente.
Os itens a seguir descrevem em mais detalhes as
funcionalidades do sistema.
5.1.1 Cadastro de professor
Somente um administrador poderá oferecer privilégios de
professor ao usuário do sistema, garantindo com isso algumas
medidas de segurança. O administrador possui dois métodos
para fornecer privilégio de professor. Descritos a seguir:
• Criando novo usuário com privilégio de professor: Desta
maneira o administrador cria novo cadastro de usuário já
oferecendo perfil de professor; e
• Editar o perfil de usuário já cadastrado: Desta maneira
o administrador apenas irá oferecer o perfil de professor
ao usuário.
O administrador também poderá retirar os privilégios
de um usuário neste mesmo local, ou oferecer privilégio de
administrador ao usuário.
A figura 3 apresenta o método para fornecer privilégio
de professor para usuário que está sendo cadastrado pelo
administrador.
Figura 04: Elaboração de exercícios
5.1.3 Resolução de exercícios
A resolução dos exercícios é a funcionalidade que permite
ao aluno responder os exercícios previamente elaborados
pelo professor, podendo submeter a resposta diversas vezes e
analisar, se for o caso, o erro cometido.
Aleatoriamente, o sistema busca um exercício no banco
Figura 03: Fornecer privilégios aos usuários.
5.1.2 Elaboração de exercícios
A Elaboração de Exercícios serve para que professores
ou administradores possam criar novo exercício no sistema.
O professor fornece o modelo para o qual deseja criar o
exercício e preenche as informações referentes ao enunciado,
sua resposta em álgebra relacional e a resposta em SQL.
A figura 4 representa a tela de elaboração dos exercícios.
de dados, e mostra para o aluno a descrição da pergunta e o
modelo da base de dados correspondente (figura 5).
Após responder o exercício, o sistema informa se a
resposta foi correta, incorreta ou se teve erro na sua elaboração.
Também mostra os dados da consulta que foram recuperados
da base de dados e as últimas tentativas de respostas.
A figura 6 apresenta a resolução de pergunta informando
esposta correta.
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
47
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
5.2 Método de resolução dos exercícios
Para que o sistema interprete a resposta do aluno
e verifique sua corretitude, foi desenvolvido um
compilador para fazer a tradução da álgebra relacional
para o SQL.
Com
apoio
da
ferramenta
GOLD
elaborou-se
gramática relacionada aos tipos de operações da álgebra
relacional, criado arquivo com tabela da gramática
compilada e código intermediário. A partir do código
intermediário e de sua otimização, é feita a tradução de
operações de álgebra relacional para o SQL, finalizando
o processo de tradução da álgebra para o SQL.
A primeira avaliação do comando do aluno dá-se pelo
compilador, pois, caso haja erro de gramática, o mesmo
fornece feedback ao aluno e interrompe o processo de
análise.
No caso do comando estar correto sintaticamente,
faz-se a análise do conteúdo da resposta, para verificar se
o que foi solicitado obtém-se com o comando elaborado
pelo aluno. Desta forma, o comando SQL gerado pelo
compilador e o comando SQL informado pelo professor
na elaboração da questão são submetidos ao banco de
dados, permitindo a comparação dos resultados.
A comparação dos resultados primeiramente analisa
o número de tuplas e de colunas dos dois resultados,
havendo divergência, a resposta é considerada incorreta.
Figura 05: Resolução de exercícios
No segundo momento o sistema verifica quais dados
foram recuperados e os armazena numa string, para
cada comando (professor e aluno). Desta forma é feita
a comparação das strings para avaliar a igualdade dos
conteúdos.
Com este método de correção o aluno fica livre
para elaborar comando diferente da resposta padrão do
professor, no entanto, o resultado deve ser exatamente o
mesmo do solicitado no enunciado, inclusive a sequência
de atributos na projeção. Por exemplo: em uma pergunta,
o enunciado é o seguinte: “Selecione o nome dos clientes
e suas respectivas cidades”. Se o aluno escrever o
comando para retornar os dados nesta seqüência (nome,
cidade), a resposta estará correta, porém, se ele inverter
a seqüência (cidade, nome), a resposta estará incorreta
Figura 06: Resolução de exercício com a resposta correta
48
(figura 7).
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
Figura 07: Sequência da resposta
6 Discussão
Com o objetivo de validar o software proposto como
ferramenta de apoio a aprendizagem de álgebra relacional,
bem como testá-lo, foi realizada oficina de uso do sistema
junto a alunos de Ciência da Computação. Participaram 18
alunos da disciplina de Banco de Dados I, do curso de Ciência
da Computação na Univali no semestre de 2009/1.
A escolha deste grupo justifica-se pelo contato dos alunos
com a álgebra relacional, assunto abordado durante a matéria
9
8
7
6
5
4
3
2
1
0
Número de alunos
Grau de dificuldade
de Banco de Dados I, o que permitiu avaliar a ferramenta de
forma satisfatória.
Gráfico 1: Dificuldade dos alunos na utilização do sistema
Os alunos preencheram formulário ao final do uso do
sistema, que permitiu realizar análise da dinâmica e do
software utilizado. Os resultados coletados foram tabulados
em planilha para possibilitar a análise das informações através
de gráficos.
O gráfico 1 é referente aos resultados das dificuldades
encontradas pelos alunos na utilização do sistema. Para as
perguntas adotou-se escala de 1 a 5 que, no caso da questão
apresentada, 1 significa Muito Fácil e 5, Muito difícil. Podese verificar que a maioria dos alunos (15) achou a ferramenta
muito fácil ou de fácil utilização.
O gráfico 2 apresenta os resultados obtidos em relação
à questão que avaliava a possibilidade compreender melhor
a lógica da álgebra relacional ao se fazer o uso do sistema.
Nesse quesito, verifica-se que houve melhor compreensão do
assunto, pois a maioria aponta que conseguiu compreender
melhor a Álgebra Relacional utilizando a ferramenta. Neste
item 1 corresponde a Pouca melhora na compreensão da
álgebra e 5, muita melhora.
Muito Difícil
Muito Fácil
7
6
5
4
3
2
1
0
Número de alunos
Pouco
Muito
Melhoria da compreensão da Álgebra Relacional
Gráfico 2: Compreensão da lógica da Álgebra Relacional com a
utilização do sistema
O gráfico 3 apresenta os resultados obtidos em relação a
comparação do uso de material concreto, i.e., exercícios em
folha com relação ao uso do software. Observa-se que 11 entre
os 18 alunos preferiram realizar os exercícios com o software,
haja vista maior interação e facilidade, quando comparado
com os exercícios no papel. Os alunos que avaliaram o
software já haviam realizado exercícios em papel. Neste item
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
49
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
1 corresponde ao uso do Material concreto na realização de
exercícios e 5, uso do software.
12
10
8
Número de alunos
6
4
2
0
Material
concreto
Computador
Uso de material concreto ou do software
Gráfico 3: Comparativo do uso de material concreto com relação
ao uso do software
Também foram registrados comentários dos alunos no momento da realização dos testes, como os apresentados a seguir:
“Com o dinamismo fica mais fácil perceber os erros. O
sistema corrige e mostra onde erramos, caso o exercício esteja
incompleto, o sistema mostra o select gerado. Tudo isso ajuda
muito no aprendizado”.
“Gostei da forma como a ferramenta exibe as respostas dos
exercícios, isso ajuda a entender a matéria quando se tem a
visualização da tabela com a resposta”.
“Muito bom, seria melhor se os professores utilizassem o
programa para melhor entendimento da álgebra”.
“Esta ficando muito bom, eu entendi perfeitamente o
programa, só não entendo a álgebra relacional.”
Avaliando os resultados obtidos e os comentários, podese observar que o maior problema dos alunos é em relação
à lógica da álgebra relacional. Com o uso deste sistema,
os alunos puderam ver o que acontecia na utilização de
cada expressão, verificar os dados que retornavam de suas
consultas e onde estavam os erros que cometiam. Desta forma,
tiveram a melhor compreensão da lógica da álgebra, na qual
encontravam maiores dificuldades.
Entretanto, haja vista que o grupo de alunos já havia
estudado a matéria através de exercícios em papel, em
futuro próximo, com a instalação do software na web, serão
realizados novos testes, desta vez aplicando os exercícios
diretamente no computador.
7 Conclusão
A Álgebra Relacional, base para o SQL, é conteúdo
bastante teórico e formal; porém, sua compreensão é
importante para a elaboração de consultas em banco de dados
relacionais.
50
Sabe-se que o computador pode ser forte aliado no processo de
aprendizagem de diversos conteúdos. A resolução de exercícios
é prática que ajuda o aluno a compreender melhor a matéria,
especialmente em se tratando de linguagens de computador.
Assim, a elaboração da ferramenta partiu da necessidade
veemente observada por meio das dificuldades encontradas
pelos alunos na compreensão da Álgebra Relacional.
O experimento realizado junto aos alunos da disciplina de
Banco de Dados I mostrou que o sistema pode ser muito útil
para a aprendizagem da Álgebra Relacional, pois a interação
proporcionada pela ferramenta torna o entendimento mais fácil.
Outro ponto positivo é a disponibilidade do sistema na
Web, permitindo que alunos e professores possam resolver os
exercícios em qualquer horário e local com acesso à Internet.
Na havendo necessidade em instalar quaisquer softwares em
seus computadores, tornando o uso da ferramenta muito fácil.
O sistema foi instalado para testes em servidor com
capacidade limitada de acesso. A fase atual é de instalação em
um servidor web robusto, o qual está sendo disponibilizado no
endereço http://www.algebrarelacional.net.br/, com previsão
de estar no semestre letivo de 2010.
Como trabalhos futuros, o projeto prevê o desenvolvimento
de mais funcionalidades, tais como a implementação dos
módulos de criação de turmas e o módulo de criação de
avaliações, que facilitarão a aplicação de provas para os alunos.
Também é interessante aprimorar o sistema, implementando
alguns relatórios que forneçam feedbacks, possibilitando
avaliação do desempenho dos alunos.
Referências
AHO, A.V. et al.
Compiladores: princípios, técnicas e
ferramentas. São Paulo: Pearson Addison-Wesley, 2008.
APPEL, A.P.; TRAINA JUNIOR, C. IDFQL. 2004. Disponível
em:
<http://gbdi.icmc.usp.br/publicacoes/arquivos/appel_
sbbd2004.pdf>. Acesso em: 19 ago. 2008.
COOK, D. Gold parser builder documentation. 2009. Disponível
em:
<http://www.devincook.com/goldparser/doc/index.htm>.
Acesso em: 12 mar. 2009.
DATE, C.J. Introdução a sistemas de bancos de dados. Rio de
Janeiro: Elsevier, 2003.
ELMASRI, R.; NAVATHE, S.B. Sistemas de banco de dados.
São Paulo: Pearson, 2005.
KINAIPP, R.V. Sistema para apoio à aprendizagem de álgebra
relacional. 2009. 80 f. Trabalho de Conclusão de Curso
(Graduação em Ciência da Computação) – Centro de Ciências
Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí,
Itajaí, 2009.
LOUDEN, K.C. Compiladores: princípios e técnicas. São Paulo:
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
Pioneira Thomson Learning, 2004.
de banco de dados. Rio de Janeiro: Elsevier, 2006.
PIREZ, P. Departamento de informática e matemática aplicada.
SOLER, J. et al. An automatic correction tool for relational
2006. Disponível em: <http://www.dimap.ufrn.br/~paulo.pires/
algebra queries. Computational science and its applications
cursos/bd/relacional.pdf>. Acesso em: 18 set. 2008.
ICCSA 2007. INTERNATIONAL CONFERENCE, KUALA
SCHARDOSIM, T.S. Ferramenta para ensino de álgebra.
LUMPUR, Malaysia, 2007.
Trabalho de Conclusão de Curso (Graduação em Ciência da
Souza, A.L. SQLWeb: Banco de dados de exercícios de SQL.
Computação) - Universidade Luterana do Brasil, Gravataí, 2006.
SILBERSCHATZ, A.; KORTH, H.F.; SUDARSHAN, S. Sistema
Disponível em: <http://www.sqlweb.com.br/>. Acesso em: 30
jul. 2009.
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
51
Instrumento Pedagógico para Apoio a Aprendizagem de Álgebra Relacional
52
KINAIPP, R. V.; ALVES, A. G. / UNOPAR Cient. Exatas Tecnol., Londrina, v. 9, n. 1, p. 41-52, Nov. 2010
Download