Uso de Base de Dados Pré-povoadas No Ensino de SQL

Propaganda
-povoadas No Ensino de SQL
Klairton de Lima Brito1, José Fernandes de Almeida Júnior1, Camilo Camilo Almendra1
1
Universidade Federal do Ceará, Quixadá, Ceará, Brasil.
[email protected], [email protected], [email protected]
Resumo. Este modelo descreve o estilo a ser usado na confecção de resumos expandidos para
Uma das dificuldades encontradas pelos aprendizes na aprendizagem da disciplina de banco
de dados é a montagem de uma massa de dados minimamente capaz de servir como
ferramenta de auto-avaliação do aprendiz. Esse trabalho propõe a elaboração de bases prépovoadas como forma de melhorar a dinâmica das atividades práticas na disciplina
introdutória de banco de dados.
Introdução
Sistemas de banco de dados relacionais são bases de dados estruturadas, onde quaisquer
operações de inserção, modificação e leitura de dados devem ser previamente projetadas. O padrão
SQL (ELMASRI, R.; NAVATHE, S. B.. 2005. Sistemas de Banco de Dados) usado nos bancos de
dados relacionais é composto por uma linguagem de manipulação de dados (DML) e uma
linguagem de definição de dados (DDL). O estudo e domínio do padrão SQL por um aprendiz
envolvem conhecer e praticar ambas as linguagens.
O passo inicial do aprendizado é compreender como o banco de dados é estruturado e
como é feita o mapeamento de um diagrama de entidade-relacionamento para o diagrama relacional
(já estruturada com tabelas e suas relações). O passo seguinte é compreender como essa estrutura
pode ser povoada e consultada.
A partir de observações dos próprios autores, nota-se que uma das dificuldades dos
aprendizes nos primeiros contatos com a linguagem SQL é a verificação de corretude das consultas.
Tal verificação deve ser baseada na análise sintática e semântica da consulta (em comparação com a
estrutura de tabelas e relações), assim como na execução em base de dados povoada. Na
inexistência de base de dados pré-povoada, o próprio aprendiz deve conceber e povoar uma base de
dados para a execução das consultas. Essa responsabilidade se mostra suscetível a uma série erros,
que levam os aprendizes a conclusões incorretas sobre a eficácia de suas consultas. Um dos
exemplos de erros comuns encontra-se na tabela abaixo.
Problema Uso de mesmo intervalo para chaves primárias
Efeito
No caso de junção entre colunas semanticamente não-relacionadas, a consulta retornará
falso positivo.
Exemplo Tabela 1, Linha 1 = (10, …, …, 10) // último campo não tem relação
// com chave primária abaixo
Tabela 2, Linha 1 = (10, …, …)
Assim, junção de Tabela 1 com Tabela 2 retornará falso positivo
Tabela 1: Exemplo de problema causado por tabelas com mesmo intervalo de chaves primárias.
Problema Erros em seleções, conjunto (tabela) só possui elementos (linhas) que atendem ao
requisito.
Efeito
Consulta que não possui predicado correto e retorna todos os elementos, é considerada
falso positivo.
Exemplo Uma tabela pessoa com apenas pessoas do sexo masculino. Consulta deve selecionar
todas as pessoas do sexo masculino.
Linha 1 = (1,“joão”,“masculino”,“05/04/1976”)
Linha 2 = (2,“juca”,“masculino”,“08/02/1994”)
Linha 3 = (3,“Bruno”,“masculino”,“15/09/1965”)
Assim, consultas que retornam todos os elementos são falso positivos para a consulta
que busca pessoas do sexo masculino.
Tabela 2: Exemplo de erro cuja tabela só possui elementos que atendem ao requisito da
consulta.
Assim, em um ambiente com pouca massa de dados podem ocorrer dos resultados de uma
consulta SQL errada retornar valores corretos, levando os aprendizes a interpretarem aquela
consulta como correta. Um ambiente com uma massa de dados variada permitiria fornecer ao
aprendiz um feedback imediato da não conformidade das suas consultas.
Uma base de dados pré-povoada pode ser considerada um Objeto de Aprendizagem (OA)
segundo Wikipedia (2011). O uso de OAs no ensino de programação é bastante difundido, presente
nos trabalhos de Jesus et al (2007), Cechinel et al (2008) e França et al (2010) .
Este trabalho tem como objetivo fornecer um objeto de aprendizagem de auxílio às
atividades práticas efetuadas nos laboratórios e também para os aprendizes que buscam o autoaprendizado a distância, semelhante ao WEBASSIST (2011) que fornece curso de banco de dados
com tabelas pré-povoadas.
Metodologia
Habitualmente na disciplina de banco de dados os novos dados são inseridos de acordo
com o andar da disciplina fazendo que a massa de dados seja pequena e ineficiente para efetuar
consultas. Este trabalho buscou disponibilizar esse ambiente para os aprendizes, a fim de que as
consultas SQL planejadas pelos aprendizes fossem executadas de uma maneira mais precoce,
possibilitando aos mesmos exercitar consultas mais diversificadas e com um grau de complexidade
mais elevado. Além disso, possibilitar o exercício de manipulações nos dados, com feedback
imediato do impacto de suas modificações no banco.
O material foi aplicado em aula prática de laboratório na disciplina de Fundamentos de
Banco de Dados. O objetivo inicial foi ter um retorno qualitativo do material com o intuito de tornar
as aulas mais dinâmicas e proveitosas.
Para criação desse ambiente foi acordado junto com o professor da disciplina trabalhar
com exercícios teóricos feitos em sala de aula para deixar os aprendizes mais familiarizados
durantes as aulas práticas. Para a parte prática, foi projetado o ambiente com as informações dos
exercícios teóricos e disponibilizado nos computadores do laboratório usado nas aulas práticas e no
site web do grupo de monitoria - para que os aprendizes pudessem exercitar os exercícios fora da
faculdade.
Em testes futuros, será realizada uma verificação da eficácia do material para auto-estudo.
A perspectiva do auto-estudo é importante, pois promove a possibilidade do aluno regularmente
matriculado solidificar seus conhecimentos, assim como também promove a possibilidade de outros
aprendizes (vinculados ou não à instituição) estudarem e praticarem os conteúdos do material.
A primeira abordagem de verificação será através da aplicação do material com e sem a
base de dados pré-povoada para grupos distintos. Nesse caso, o grupo de controle receberá
exercícios de SQL e não será fornecida uma base de dados pré-povoadas, enquanto o grupo alvo
receberá uma base de dados já povoada.
Resultados e discussão
O ambiente planejado para as aulas práticas foi um modelo de clubes de futebol e suas
principais características, que foi apelidado de “CBF”. Para promover uma diversidade de registros
(dados) necessária para evitar os falsos positivos citados anteriormente, o banco de dados foi
composto da seguinte forma:

Campeonato (7 tuplas)

Contrato (32 tuplas)

Clube (11 tuplas)

Federacao (6 tuplas)

Jogador (30 tuplas)

Clube_campeonato (26 tuplas)

Premio (8 tuplas)

Posicao (6 tuplas)

Telefone (24 tuplas)

Total de 150 registros gerados para viabilizar as consultas.
Durante a aula prática, os aprendizes apresentaram algumas dificuldades, porém a maioria
das dúvidas era relacionada com consultas que envolveram junção em mais de duas tabelas e
consultas aninhadas. Segundo o professor que ministrou a disciplina de fundamentos de banco de
dados, o material ajudou os alunos a compreenderem melhor como ir da teoria à prática e mostrar
através do modelo CBF um estilo de padronização nos nomes das tabelas e seus atributos. Um
ponto de melhoria do trabalho apontado por ele foi que o modelo teve alguns nomes de tabelas e
atributos que ficaram diferentes do exercício teórico, o que causou um pouco de confusão entre os
alunos. Para avaliar o material disponibilizado durante as aulas práticas ainda serão pesquisado
modelos de avaliação que se enquadrem adequadamente para o trabalho.
Conclusões
As observações de alunos, professor e monitores sugere que a preparação de uma base de
dados pré-povoada facilita as atividades práticas relacionados com o domínio de SQL.
Como trabalho futuro pretende-se aplicar um mesmo modelo para grupos controlados onde
uma parte terá acesso a bases pré-povoadas e a outra não, com o intuito de verificar a eficácia do
material no ensino de fundamentos de banco de dados. Na mesma abordagem de criar materiais
focados em auto-estudo, será investigado o uso de arcabouços de programação para ensino de
programação para persistência de dados.
A possibilidade de o próprio aprendiz avaliar o andamento do seu aprendizado promove
uma experiência mais estimulante, ao mesmo tempo em que respeita os ritmos de estudo de cada
pessoa.
Referências
Wikipedia. Objeto de aprendizagem. Disponível em:
http://pt.wikipedia.org/wiki/Objeto_de_aprendizagem. Quixadá, Ceará, Brasil. Acessado em: 06 de
Setembro de 2011.
CECHINEL, Cristian. SILVEIRA, Alex. SILVEIRA, Rafael. NUNES, Érico. MOREIRA,
Alexandre. COGO, Giovani. BETEMPS, Carlos. TAVARES, Reginaldo. (2008). Desenvolvimento
de Objetos de Aprendizagem para o Apoio à Disciplina de Algoritmos e Programação.Trabalho
apresentado no Simpósio Brasileiro de Informática na Educação (SBIE). Universidade Federal do
Pampa, Unipampa – Campus de Bagé.
FRANÇA, Elvis. FELIX, Zildomar. SOUZA, Marcia. CARNEIRO Thiago, SOUSA, Paulo.
FILHO, Carlos.(2010). Utilização de Objetos de Aprendizagem em Sistemas Tutores Inteligentes
para o ensino da Programação. Faculdade de Computação – Universidade Federal do Pará (UFPA).
Disponível em: www.aedb.br/seget/artigos10/440_Artigo_ensino_Progamacao-Final.pdf. Acessado
em 04 de Setembro de 2011.
JESUS, Alexandre. LOPES, Daniel. PERIN, Fernanda. CANTAO, Juliana. PIMENTEL,
Edson.(2007). Objetos de Aprendizagem no Ensino de Lógica de Programação. Universidade
Municipal de São Caetano do Sul. Disponível em:
http://seer.uscs.edu.br/index.php/revista_informatica_aplicada/article/viewArticle/748 Acessado em
04 de Setembro de 2011.
ELMASRI, R.; NAVATHE, S. B.. Sistemas de Banco de Dados. 4a ed., Pearson-Addison-Wesley,
2005.
WEBASSIST. Disponível em: http://www.webassist.com/free-downloads/tutorials-andtraining/database-for-php/ Acessado em 04 de Setembro de 2011.
Download