.:: ELC119 - Fundamentos de Bancos de Dados ::.

Aluno: Lucas Antunes Tambara
Matrícula: 2710246
E-mail: ltambara@inf.ufsm.br
Disciplina: Fundamentos de Bancos de Dados (ELC119)
Semestre: 2/2008

.:: Trabalho 02::.

Alunos: Lucas Antunes Tambara (2710246) e Vinícius Stein Dani (2711169).

Título: Banco de dados de linhas de ônibus em Java, JDBC e HSQLDB.

Data: 17/11/2008.

Motivação: Primeiramente, aprender a linguagem JSP, até então desconhecida por mim, e também exercitar técnicas de acesso a um banco de dados relacional.

Enunciado:
A base de dados deve armazenar informações sobre linhas de ônibus em Santa Maria, atendendo aos seguintes requisitos:
1. Manter dados sobre empresas de ônibus que atuam no transporte urbano em Santa Maria (nome, endereço, telefone e site Web).
2. Para cada empresa, armazenar dados sobre suas linhas de ônibus, considerando que uma linha é operada por apenas uma empresa. Cada linha de ônibus possui um código, um nome, um único itinerário e um único quadro de horário.
3. O itinerário é composto por uma seqüência de logradouros onde situam-se as paradas (p. ex.: Sentido Centro-Bairro: 1-Terminal, 2-Rua Paulo Lauda, 3-Rua Maranhão, etc.). Cada logradouro possui código e nome próprios. Um mesmo logradouro pode estar presente nos itinerários de diferentes linhas.
4. O quadro de horário de cada linha indica os horários (hh:mm) de saídas de ônibus em dias úteis. Mantém-se apenas o horário nas paradas de saída, sem registrar-se as paradas intermediárias. Algumas linhas têm maior freqüência de ônibus que outras. Os quadros de horários não são compartilhados pelas diferentes linhas/itinerários.

O aplicativo deve ter um módulo administrativo que implementa as funções básicas de inserção, leitura, alteração e remoção de dados (Create/Read/Update/Delete - CRUD) sobre empresas, linhas, logradouros, itinerários e quadros de horário.

O aplicativo deve ter um módulo de consultas que implementa pelo menos 3 das seguintes consultas:
1. Obter todas as linhas de uma determinada empresa, dado o nome dessa empresa.
2. Obter o itinerário de uma determinada linha de ônibus, dado o código dessa linha.
3. Obter o quadro de horário de uma determinada linha, dado seu código.
4. Obter as linhas de ônibus que passam por um determinado logradouro, dado o nome desse logradouro.

A interface com o usuário pode ser textual ou gráfica (usando Swing). Os módulos administrativo e de consultas podem ter interfaces diferentes (por exemplo: uma gráfica e a outra textual).

Descrição:
Foi utilizado o Power*Architect para modelar o banco de dados, o HSQLDB para gerência dos dados e JSP+JavaBeans para desenvolver uma interface para usuário interagir com o banco de dados.

Resultados:
Os resultados estão no arquivo T2.rar que segue abaixo para download. Nele consta o script SQL para a geração do banco de dados, a modelagem do banco no Power*Architect, e o projeto do trabalho no NetBeans.

Reflexão: Com este trabalho, pode-se execitar os acessos a um banco de dados relacional e também aprender um novo modo de programar (JSP + JavaBeans), parte esta que foi a mais trabalhosa no desenvolvimento do trabalho e creio eu, a menos relevante se formos analisar o objetivo da disciplina.

Download: arquivo.