Como trabalhei a disciplina de Banco de Dados 1 no curso de ADS
Proposta de trabalho e resultados
Janeiro 11, 2016Se você cursou ciências da computação, sistemas de informação ou análise e desenvolvimento de sistemas com toda certeza se deparou com a disciplina de banco de dados em seu curso. E, assim como demais áreas de tecnologia da informação, ela está em constante desenvolvimento e novas tecnologias e abordagens vão aparecendo dia após dia.
Essa semana escutei o podcast DatabaseCast e o tema era "Engineered Systems", tecnologia da Oracle, além de falarem também a respeito de Hexadata. Temos também o já não tão novo Big Data bem como os bancos NoSQL, clusters com Hadoop, etc. Todo dia aparece algo diferente.
Porém existe uma essência em banco de dados, não em sua parte conceitual mas sim na técnica, que já existia há 10 anos atrás e acredito que em 10 anos ainda será necessária e útil. Trata-se justamente da linguagem SQL.
Tudo bem que hoje temos Mapeamento Objetivo Relacional em linguagens de programação que torna possível até mesmo que o programador nem escreva diretamente código SQL, mas o SQL está presente e algumas consultas mais complexas são resolvidas com essa linguagem.
Dessa forma, os comandos INSERT, UPDATE, DELETE e SELECT são os comandos que você usará todos os dias trabalhando com banco de dados. No mínimo estes ;-)
A primeira vez que trabalhei com a disciplina de banco de dados foi banco de dados 1 no curso de Análise e Desenvolvimento de Sistemas. Ela era dividida em BD1 e BD2 e eu trabalhei com a parte inicial de BD1, pessoas que não tinham conhecimento em banco de dados e precisavam sair com uma base bem sólida para depois trabalhar com Stored Procedures, Triggers, etc na segunda parte da disciplina. E como era outro professor era necessário justamente exercitar a turma no SQL. O foco do curso, que é tecnólogo, era o mercado de TI da cidade. Então a ênfase que trabalhávamos era preparar tecnicamente o aluno para se empregar rapidamente.
Com base nisso estuturei as aulas com os tópicos iniciais e fundamentais sobre banco de dados, SGBDs, arquiteturas, etc e logo depois trabalhamos diretamente com SQL. Inicialmente para que os alunos tivessem um impacto inicial nós trabalhamos o primeiro mês diretamente na linha de comando usando o banco de dados SQLITE. Ele permitia fácil instalação sem a necessidade de baixar ou instalar pacotes grandes e demorados de software nem fazer configuração de servidores.
Proposta
Na primeira aula foi apresentado o SQLITE e muitos alunos tiveram contato com o prompt de comando pela primeira vez (os laboratórios possuem máquinas Windows). Os alunos abriram o SQLITE, criaram as primeiras tabelas com o CREATE TABLE e conheceram os outros comandos de DDL (Data Definition Language). Fizeram os primeiros inserts e selects.
Na aula seguinte já se depararam com uma lista de exercícios práticos para serem feitos diretamente no terminal do SQL. A lista possuía 60 exercícios e deveriam ser concluídos na mesma aula.
Mas nós trabalhamos os comandos básicos e com dificuldade crescente. A sequência e os exercícios foram escolhidos de forma a sedimentar o conhecimento básico de linguagem SQL levando os alunos a executarem os comandos em diversas variações com objetivo de realmente fixarem o conhecimento.
Na semana seguinte tivemos novamente alguns tópicos de de SQL juntamente com outra lista de exercícios. Algumas listas levavam mais de uma semana para desenvolvimento e era seguida com a correção e comentários de cada atividade. Geralmente no momento da correção eu usava um datashow e sorteava alunos para resolverem as atividades para toda a sala acompanhar. Era nesse momento que eram testados ;-)
Num dos trabalhos que tivemos nesas disciplina nós sorteamos as questões a partir das listas que fizeram usando o random.org e eles tinham um tempo de 15 minutos para solucionar, sendo que cada grupo possuía um conjunto diferente de questões.
E ás vezes alternava com alguma aula mais expositiva para apresentar alguma tecnologia mas sem perder o foco na prática do SQL.
Resultados
Ao final do semestre tínhamos resolvido 7 listas de exercícios e ao todo quase 500 questões a respeito de SQL.
É claro que o conhecimento de Banco de Dados não se limita a sintaxe de uma linguagem, justamente por isso todos os tópicos da ementa foram trabalhados como previsto mas a diferença é que tivemos esse foco muito forte em SQL e isso deu uma base muito boa para os alunos depois aproveitarem melhor a segunda parte da disciplina.
Funcionou com todos os alunos? Claro que não, nós sabemos que nem todos se empenham mas aqueles que estavam ali dedicados conseguiram aproveitar muito bem e eram capazes depois de resolverem subselects, inserts e selects mais complexos com union ou join de várias tabelas bem facilmente pois tinham praticado exaustivamente.
Cover image credit: http://unsplash.com/@carlheyerdahl