• Nenhum resultado encontrado

Ensino de bancos de dados: teoria e prática

N/A
N/A
Protected

Academic year: 2021

Share "Ensino de bancos de dados: teoria e prática"

Copied!
11
0
0

Texto

(1)

*** RELATóRIO TÉNICO *** ENSrNO DE BANCOS 01::: OADOS :

TEORIA E PRÁTICA

Cl áud i a Medronl,o Naumann Marcos Roberto S. Borses

NCE 20/91 NoVen\b r 0/91

Universidade Federal do Rio de Janeiro Núcleo de COI1\I;)I.ltat;ão Eletr.=.nica

Ca i }<a Post a} 2324

2000j. -Rio de Janeil"o -R,"} BRASIL

Este art i go To í ap,'.esentado no r Congresso II)eroamer i cano de EdlJcaç:âo SIJPer i ar en ComplJt ...,ç:âo da Soc i edade C;, j 1 en..., de C i ênc i a da CompIJtaç:ão, real iza(jo em Sant iago do CI"\ i le.

rv rJ

t

f

-itl\'J

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO NUCLEO DE COMPUTACAo ELETRONICA

(2)

ENSINO DE BANCOS DE DADOS: TEORIA E PRÁTICA

Cláudia Medronho Naumann Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro e

Marcos Roberto S. Borges Núcleo de Computação Eletrônica Instituto de Matemática

Universidade Federal do Rio de Janeiro

ABSTRACT

This paper describes the restructuring of the undergraduate database course carried out at the Department of Compllter Science of Federal University of Rio de Janeiro. Now, the progrí.lmm of this course was totally modified to include datlbase building techniqlles Ind pr:lctical modllles in order to consolidlte the theoretic11 cl.lsses. Until 1989 d.ltlbase cl.lsses were mainly theoretic .Ind covered only modelling tcchni4\1cs all(1 d.ll:lh.lsC syslcm .'rchilcctllre. This exrerimcllt will scrvc :lS .1 h.lsis f()r rcorg.tllizillg .lllolhcr \lndl:rgr.ld\l.IIl: co\lrsl:s 111\1Ch l:asil:r, spci.llly Illose whil.:h ar part of Information Systems Curriculum, where the practical experience is of great imponance.

RESUMO

Este anigo relata a experiência de reestruturação do ensino de banco de dados no Curso de Graduação em Infornlí\tica da Universidade Federal do Rio de Janeiro. O ensino deste assunto que até o ano de 1989 era bllseado somente em aulíls teóricas sobre técnicas de modelagem e arquitetura de sistemas de banco de dados, foi totalmente remodelado para incluir técnicas de construção de banco de díldos e principalmente íl introdução de módulos práticos com o objetivo de consolidar e potencializar o conhecimento teórico. Esta experiência servirá de base pllra reestruturação de várias oucras disciplinas do curso, principalmente aquelas do currículo de sistemas de informação, onde a experiência prática potencializa em muito o llspecto teórico da disciplina.

(3)

ENSINO DE BANCOS DE DADOS: TEOIlt\ E PIt\ TICA

RESUMO

Este anigo relata a experiência de reestruturação do ensino de banco de dados no Curso de Graduação m Il1foml;itica da Univrsidad Fdral do Rio d Janeiro. O nsino deste assunto que até o ano de 1989 era baseado somntt= t=m aulas tóricas sobre técnicas de modelagem e arquiletura de sistemas de banco de dados, foi totilmente remodelado para incluir técnicas de construção de banco de dados e princip.ilmt:nte a introdução de módulos práticos com o objetivo de consolidar e potencializar o conhecimento teórico. Esta experiência servirá de base par.i reestrutuição de várias outras disciplinas do curso, princip.ilmente aquel.is do currículo de sistemas de int-onilação. onde a experiência prática polencializa em muito o a s pecto teórico da disciplina.

ON THE TEACHli'i(; OF DA T ABASE: USING COIERCIAL DBIS

ABSTRACT

This paper describes [he res[ruc[uring of [hc undergraduate da[abase coue carried OU[ a[ [he Depar[men[ of Compu[er Science of Federal Universi[y of Rio de Janeiro. Now. [he progrlmm of this course was to[ally modified [O include dl[lbase building [echniques and pr.lc[icaJ modules in order to consolida[e the theore[ical cllsseS. Until 1989 database classes were m3inly theoretic and covered only modl.'lling techniques and datablSe sys[em architecture. This experimen[ \\lill serve as a basis for reorganizing ano[her ul1dergraduate courses much easier. specially those \\lhich are pan of Informa[ion Sys[ems Curriculum. \\lhere [he prac[icaJ cxperience is of grea[ imponance.

(4)

J-JNTRODUÇÃO

o Curso de Informática da Universidade Federal do Rio de Janeiro começou a funcionar em 1974 como uma das opções do Bachttrelado em Mtltemtítict\. Atualmente são admitidos no curso 100 alunos por ano e a duração sugerida pttra tl conclusão das disciplinas é de 4 anos. Destes 4 anos praticamente 2 são gtlStOS no ciclo básico e 2 no chamado ciclo profissional. No ciclo profissional há 3 opções de carreira: Computação Científica; Software Básico e Htlrdware; e Sistemtls de Informação I DCC911.

No currículo atllal a disciplina Banco de Dados é ohrigat<.Sria para as opções Software Básico e Hardware, e Sistemas de Informação. A motivação para isto é que em ambos o casos, banco de dados é uma importante peça de software para o suporte aos trabalhos realizados por profissiollais da ,írea. Até I ()X9. t:lltretanto. havi,l S() uma disciplina de banco de dados e esla se concelltrava basic,lmellte IlOS ,lspectos teóricos da arquitetura e da modelagem de dados.

Durantc um,l avali,lção d,l opção Sistem,ls de Inform,lção foi consenso qlle o cunículo estava defasado com rel,lção à demmd,l que ,lS empres,ls requeritm dos profissionais recém formados. Foi identificado que, emborl oS conceitos de b.lnco de dados demonstrados pelos ,llunos fossem coerentes, eles encontravam dificuldades de aplicar estes conceitos nos problemas de armazenamento de d,ldos que as lplicações necessitavam. A.lém disso a falta de contacto com sistemas gerenciadores de bancos de dados fazia com que o lproveitamento dos alunos nesta área fosse mínimo. Em alguns casos, os alunos eram enviados p,lra treinamento nos fornecedores do softw,lre a fim de se tornarem úteis às funções requeidls pelas empresas. Ao final de .llgum tempo, os conceitos aprendidos durante o curso eram deixados de I,ldo em pró de uma visão mais prática da utilização destes softwares.

Em função deste levantamento, resolvemos então efetu.lr um.l refomlulação experimental no ensino deste tópico de modo a torná-Io m,lis adequado às necessidades das empresas sem contudo perder a visão da importância d,l conceituação e do questionamemo das soluções fechadas, tipo caixa preta. Nasceu assim a idéia de ampliação do ensino de banco de dados com uma alta dose de ensino prático. Este anigo relata a experiência vivida pelos professores e alunos dur.lnte a refornlul.lção, bem como os resultados alcançados.

Na verdade o que foi feito foi uma experiência localizada do paradigma do ensino de disciplinas que requerem fortes ênfases na teoria e na prática. O que se procura

(5)

atingir é o equillDrio ideal entre o aprendizado estimulado pelo uso e necessidade (learn hy lrial and error) e aquele baseado em conhecimentos teóricos que justificam a existência de soluções implementadas por meio de pacotes de software.

o restante do artigo está dividido em 4 seções. Na segunda ílnalisamos as particularidades do ensino de banco de dados e o conteúdo ideal de um curso sobre este assunto. A Seção 3 descreve a estrutura que foi proposta e implementada experimentalmente nos anos de 1989 e 1990. A Seção 4 apresenta os resultados alcançados com esta experiência. A última seção conclui o artigo.

Bancos de Dados é uma disciplina da Inform,ítica voltada para o ensino de Icnicas de tlnnaz<:ntlmcnto e r<:cllr<:rtlção d<: díldos s<:gllndo 11111 (.'Ilfollllt.' "lllC pt'm1ittl entre outras coisas a independcncia entre os métodos de armazenamento de dados e o uso que se faz dos mesmos I DA TE86,ELMA891. Pode-se definir duas alternativas para o ensino desta disciplina: uma voltada mais para a utilização do entoque e outra voltada para a construção de software que suporte este enfoque. Em ambas as alternativas, entretanto, é essencial que tanto os conceitos bem como a arquitetura geral do ent'a<.lue precedam o ensno mais específico. Por outro lado, é comum encontrar cursos que se auto denominam de bancos de dados mas que só cobrem estes conceitos gerais.

Na primeira alternativa podem ser identificadas 3 elementos básicos: o primeiro refere-se à modelagem dos dados, isto é, à abstração dos dados de uma realidade na forma de um esquema conceitu,ll utilizando um dos vários modelos de representação de dados propostas, por exemplo, o modelo E-R, o modelo relacional ou qualquer outro.

o segundo elemento refere-se à interação do usuário com o banco de dados através do ensino de uma linguagem de definição e de navegação pelo banco de dados. Estas linguagens podem ser genéricas como a álgebra relacional ou o cálculo relacional. ou implementações específicas e adaptadas de uma destas. como por exemplo a linguagem SQL.

(6)

A segunda alternativa explora mais detalhadamente a arquitetura e os algoritmos utilizados na construção de um sistema de gerenciamento de bancos de dados (SGBD). Esta alternativa tem a nosso ver como pré-requisito os elementos da primeira, de preferência acompanhado do uso prático, para que as soluções adotadas para a interface com o usuário possam ser melhor avaliadas.

Mesmo assim, reconhece-se que a adoção desta alternativa é bast,mte dificultada devido a grande complexidade embutida na construção de um sistema completo de gerenciamento de banco de dados. Desta forma, é possível cobrir somente os aspectos mais gerais do problema.

Em qualquer das .llternativas, e em especial na primeir.l, é essencial complementar o ensino teórico com a experiênci.l prática, não para que o aluno aprenda a usar um determinado sisteml, mls sim que ele .lvllie .lS .ldaptações introduzid.ls nls soluções teóric.ls par.1 torn.i-I.ls produtos. Assim n.lsceu .l idéi.l do curso de I.lboratório em bancos de dldos IA1JME9OI.

III. ESTIUTUI{A I)() CURS()

o curso foi estrllturado de forma a correlacionar os conceitos de banco de dados com exercícios práticos 4ue utilizassem softwares comerciais de b.lnco de d.ldos. Dois sistemas de banco de d.tdos relacionais foram escolhidos: o SQL/DS (STRUcrURED QUERY LANOUAOE) da IBM e o ADABAS/NA TURAL da Software AO (ver itens manuais). O SQL/DS foi instalado no equipamento IBM 4381 com o sistema operacional VM/SP (VIRTUAL MACHINE/SYSTEM PRODUCT) e o ADABAS/NA TURAL foi instalado em um V AX 8810 sob o sistema operacional VMS (VIRTUAL MACHINE SYSTEM). Esses dois softwares foram escolhidos devido a sua facilidade de obtenção e por terem versões compatíveis com os equipamentos que dispomos na universidade. Pretendendo dar ao aluno uma visão geral de um ambiente de bancos de dados, dividimos cada módulo em cinco segmentos principais conforme mostrado na Figura I.

o primeiro segmento relaciona-se ao ambiente operacional d.1 máquina .1 ser usada para a realização dos exercícios. Profissionais da área de suporte são encarregados de apresentar, através de algumas aulas, o funcionamento do sistema operacional, bem como dos seus principais comandos.

(7)

Figura 1: Estrutura do Curso

o segmento seguinte trata da parte de gerenci.\rnento do b.\nco de dados. Este tema é apresent.ldo .10 .lluno atr.lvés de p.lleslr.IS llue rnostr.lm como é feit.1 .\ rnodel.lgern da estrutura dos dados, corno funcionam os mecanismos para manipulação dessas estruturas e como são os mecanismos de arrn:azenamento, recuper.\ção e segurança dos dados.

No terceiro segmento é abordada a linguagem de consulta do hanco de dados em questão, que fornece basicamente uma intert.ace para consultas e atllL\lizações no banco de dados. Os comandos principais dessa linguagem são mostradas através de aulas teóricas com transparências, e posteriormente, com demonstrLlções no temlinL\1 desses mesmos comandos. TLlmbém são dLldos Llfguns exercícios de consultLI para que o L\luno consiga fixar os comandos dados.

Para esses exercícios de consulta foi idealizado um sistema de empresa que foi dividido em dois níveis de dificuldade; um descrevendo uma situação mais simples, e o outro uma situação mais complexa. Para os dois níveis a modelagem e a estrutura dos dados já estão feitas. É entregue ao aluno o texto contendo a descrição da empresa, a modelagem dos dados, feita de acordo com a descrição dada, as respectivas tabelas já normalizadas, e uma lista de consultas que ele deve fazer usando estas tabelas. O banco de dados em questão já está implementado (estruturas + um conjunto de dados). Cabe ao aluno então fazer as consultas da lista utilizando o material recebido na linguagem de consulta que foi apresentada. Os exercícios se basearam apenas na linguagem de consulta no modo iterativo.

(8)

o segmento seguinte é totalmente dedicado à revisão de modelagem relacional, sendo revistos conceitos de entidade, ,ltributo, chave, relação, entre outros. P.lru a fixação desses conceitos são dados exercícios d modelagem baseados em um sistema de biblioteca que, da mesma fom1a que o exercício anterior, foi dividido em dois níveis de dificuldade. É pedido ao aluno, tanto em um nível quanto no outro, que ele faca a modelagem E-R e a geração da base de dados a partir de um texto scrito em linguagem corrente. Com a base de dados criada, o aluno deve propor atualizações e consultas nesta base. Dessa fom1a, o aluno consegue assimilar de forma prática, todas as etapas da construção de um banco de dados.

Ao fazer a modelagem. o aluno exercita a sua capacidade de abstração ao modelar uma situação hipotética descrita por um texto simples. Ao criar a estrutura do banco baseado neste modelo. ele aplica conceitos de relação e normalização. Gerando a base de dados. o. aluno aprende a lidar com a linguagem de definição ao propor atualizações e consultas nesta base. Nesta fase é introduzido o col1ceito de restrição de integridade. mostrando ao aluno que. determinadas condições descritas 110 texto podem ser modeladas. mas nem sempre podem ser implcmel1t;ldas. pois ;1 versiio utili7.;ld;l do sistem;l de h:\l1cO de dados podt= não possuir rcstriçõt=s dt= intt=grid;ld qut= dcfil1,\111 ess.\s condições.

o último segmento trata de controles operacionais. Aspectos de segurança e recuperação são mencionados, m.ls a ênfase é dad,l n,l parte de otimização. São dados ao aluno exercícios de otimização que se baseiam nos dois sistemas anteriormente apresentados, no segundo nível de dificuldade. Neste tipo de exercício são analisados determinados critérios de otimização da estrutura de um banco de dados, como a junção de tabelas (arquivos) e ,l criação de índices. É t,lmbém revisado o conceito de independência do dados, mostrando que, através de modificações no nível interno (otimização da estrutura do b.mco), consegue-se um banco de dados otimizado, e com uma perforrnance superior ao anterior, mas que podem ou não ocasionar mudanças no nível externo. Durante o exercício, o ,lluno consegue perceber que nem sempre ,l modificação na estrutura resulta em mudança nas consultas.

É necessário que, no decorrer do curso, o aluno tenha sempre à sua disposição apostilas ou manuais de modo que ele possa ter acesso a uma fonte de consulta suplementar. Durante todo o curso, toda a documentação que o aluno necessitava foi mantida no laboratório, onde foram reaiizados os exercícios práticos.

(9)

IV-RESULTADOS

A nossa proposta de um laboratório em banco de dados foi colocada em prática no segundo período de 1989 como uma disciplina eletiva do curso de lnformática tendo como pré-requisito a cadeira de Banco de Dados.

No primeiro curso d.\do, cada módulo era composto de 6 exercícios práticos individuais divididos em dois de modelagem, dois de consultas (simples e complexas) e dois de otimização, idealizados de foffi1.\ .I representarem situ.lçõs próxim.ls dL\ real. Finalizado o curso, foi fita um.\ COmpL\ração entre os módulos em teffi1os de perfornlance, segurança, recuper.\ção e otimiz.\ção pelo professor do curso.

Atualmente, o curso está esrruturado de forma a comportar quatro segmentos. O segmento relativo à modelagem foi introduzido na cadeira Bancos de Dados, que, a princípio, ra .Ipnas voltada para a partc col1citwll. Dcssc 11lodo, a parte pr.itil'u ficou melhor estruturada, ficando o segmento illtrodutório de modelagem na primeirtl disciplina e o restante em uma segunda disciplina denominada de Bancos de Dados II.

Na nossa opinião, o curso vem alcançando bons resultados. Os alunos têm demonstrado grande interesse pelo curso, fazendo os exercícios individualmente, mostrando a sua motivação em aprender por si mesmos. Com apenas dU.lS aul.\s sobre os comandos básicos da linguagem e um manual à disposição no laboratório, eles têm conseguido assimilar rapidamente o conhecimento necessário para a conclusão de todos os exercícios, dentro do prazo de entreg.t.

V.CONCLUSÕES

Algumas adaptações (além das que vêm sendo feitas) poderiam ser realizadas no curso de modo a torná-lo mais completo. A inclusão de um terceiro módulo que se referisse a um banco de dados não-relacional seria uma delas. Com a inclusão desse módulo, o aluno teria a oportunidade. de conhecer um novo tipo de banco de dados com um enfoque completamente diferente dos que ele já havia visto no curso. No entanto, é necessário fazer um estudo prévio das possibilidades de tornar esse módulo viável, como a existência de um laboratório adequado, facilidade de obtenção do software e de manuais, etc. Outra possível modificação seria a inclusão de mais exercícios em

(10)

laboratório referentes às partes de otimização, recupração e segurança nos módulos j.i existentes.

BIBLIOGRAFIA

rALME90 1 A.C.D. Almeida & C.M. Naumann, Laboratório em B.mcos de Dados, Projeto de Fim dc Curso da Informitica, Rio de Janciro, .illlho 1990.

rCODD70] E.F. Codd, A Relational Model of Data for Large Shared Data Banks, CACM (13) 6, 1970.

rDATE86] c.J. Date, An Inn-oduction to Data Base Systems -The Systems Programming Series, ( I ), Qlilrta Edição, 19R6.

rELMAR9 I R. Elmasri & S.B. Navathe Flindamentlls of Dlta Base Systems, Benjamin Cummings, Ia. edição, 1989.

rGALL84 I H. Gallaire, J. Minter, J. Nicolas, Logic and D.ltabases: A Dedllctive Approach -Compllting Surveys, (16) 2,1984.

rKLUG78 I D. Tsichitzis & A. Kllig, Data Bases: Their Creation Management md Utiliza(ion, Int()rma(ion Sys(ems (3) 3, 1978.

IKORT891 H.F. Korth & A. Silberschatz, Sistemas de Bancos de Dldos, McGraw Hill, rio dl: Janciro, 19X9.

IS1.0N76 11. ÂIIII1:ln, G.O. 11l:ld, M.r.S(OllL'hrakr l:mbddillg II D.II.I Maniplllalion Language in a General Purpose Progrlmming Langllage, Proc. ACM

SIGPLAN/SIGMOD Conference on Data Absn-action, 1976.

rZLOO76 J M.M. Zloof Query-by-Example: A Data Base Language, IBM Sys. Journal ( 16) 4, 1977.

r DCC91 I Departamento de Ciência da Complltação, "Catálogo do Curso de Graduação em Infonnática", ed. Miguel Jonathan, UFRJ, Rio de Janeiro, 1991.

Manuais:

SQL/Data System Planning and Administration for VM/System Product -Release 3.5. SQUData Syst6m Tenninal User's Reference for VM/System Product -Release 3. SQL/Data System Tenninal User's Guide tor VM/System Product -Release 3. ADABAS (VMS) Fundamentais.

ADABAS (VMS) Concepts and Facilities.

ADABAS (VMS) Predict Reference Manual Version 2.2. ADABAS (VMS) 1.5: DBA Reference Manual.

NATURAL (VMS) 1.5: Applications Progrumming. NATURAL (VMS) Reference Manllal Version 1.2.

(11)

laboratório referentes às partes de otimização, recuperação e segurunça nos módulos já

. existentes.

BIBLIOGRAFIA

rALME90 1 A.C.D. Almeida & C.M. Naumann, Laboratório em Bancos de Dados, Projeto de Fim de Curso da Informática, Rio de Janeiro, jlllho 1990.

rCODD70 1 E.F. Codd, A Relational Model of Data for Large Shared Data Banks, CACM (13) 6, 1970.

rDATE861 c.J. Date, An Introduction to Data Base Systems -The Systems Programming Series, ( I ), Qliarta Edição, 1986.

rELMA89 I R. Elmasri & S.B. Navathe Flindamentals of Data B.iSe Systems, Benjamin Cummings, Ia. edição, 1989.

IGALL84 I H. Gallaire, J. Minter, J. Nicolas, Logic ,ind Databases: A Deductive Approach -Compllting Surveys, (16) 2,1984.

I KLUG78 I D. Tsichitzis & A. Klllg, Datti B,ises: Their Crea(ion M.inagemen( and Utiliza(ion, Informa(ion Systems (3) 3, 197H.

I KORT89 I H.F. Kor(h & A. Silberscha(z, Sis(emas de Bancos de D,idos, McGraw Hill, J{io dc Janciro, 19H9.

I Sl.0N76 I E. AIII)lan, G.D. Ilcld, M.R.Stont.'brakt-'r Imbt-'dding II Dat.1 Maniplllation Language in a General Purpose Programming Langllage, Proc. ACM

SIGPLAN/SIGMOD Conference on Data Abstrac(ion, 1976.

rZLOO761 M.M. Zloof Query-by-Ex.lmple: A D.l(a B.1Se Language, IBM Sys. Journal ( 16) 4, 1977.

r DCC91 I Departamento de Ciência da Compu(ação, "Catálogo do Curso de Graduação em Infonnátical', ed. Miguel Jona(han, UFRJ, Rio de Janeiro, 1991.

Manuais:

SQL/Data System Planning and Administration for VM/System Product -Release 3.5. SQUData Systom Tenninal User's Reference for VM/Sys(em Produc( -Release 3. SQL/Data System Tenninal User's Guide tor VM/Sys(em Produc( -Release 3. ADABAS (VMS) FundamentaIs.

ADABAS (VMS) Concepts and Facili(ies.

ADABAS (VMS) Predict Referenee Manual Version 2.2. ADABAS (VMS) 1.5: DBA Reference Manual.

NATURAL (VMS) 1.5: Applications Programming. NATURAL (VMS) Reference Manual Version 1.2.

Referências

Documentos relacionados

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de

É importante que as instituições de Educação Infantil, estejam devidamente preparadas para proporcionar à criança todos os pontos previstos na DCNEI, com o intuito de que a

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para