Você está na página 1de 7

UNIVERSIDADE FEDERAL DE SANTA MARIA

FUNDAMENTOS DE BANCO DE DADOS

BANCO DE DADOS PARA UMA RODOVIÁRIA

Carlos Alberto; Ciência da computação

professor(a):João Carlos Damasceno Lima

Santa Maria, RS, Brasil


2019
INTRODUÇÃO

Neste trabalho será desenvolvido um modelo relacional de banco de


dados para uma rodoviária, seguindo os seguintes critérios:
“Você deverá modelar um sistema que satisfaça as necessidades de
informação de uma companhia de transportes rodoviários de passageiros no
tocante a emissão de passagens e o controle de bilhetes já emitidos. A
empresa realiza transportes entre diversas cidades do estado de Minas
Gerais. O sistema necessita de informações da origem e destino de cada
viagem, com seus horários de saída e chegada, e de informações das
localidades de paradas intermediárias. Os ônibus desta empresa possuem
número padronizado de cadeiras, de acordo com as leis vigentes no país,
mas via de regra, por marca/modelo de ônibus tem-se a informação do
número de poltronas disponíveis. Além disso, o modelo deverá prever
descontos por horários que serão informados para determinado prazo de
validade.”
Será utilizado o SGBD denominado PostgreSQL.

MODELO ENTIDADE-RELACIONAMENTO
MODELO LÓGICO

passageiro(idpassageiro, nome)

onibus(idonibus, marca, modelo)

poltrona(idpoltrona, idonibus, disponibilidade, num)


idonibus referencia onibus

local(idlocal, cidade)

origem(idorigem, idlocal)
idlocal referencia local

destino(iddestino, idlocal)
idlocal referencia local

parada(idparada, idlocal)
idlocal referencia local

viagem(idviagem, idorigem, iddestino)


idorigem referencia origem
iddestino referencia destino

viagem_parada(idviagem, idparada)
idviagem referencia viagem
idparada referencia parada
bilhete(idbilhete, idviagem, valor)
idviagem referencia viagem

viagem_onibus(idviagem, idonibus)
idviagem referencia viagem
idonibus referencia onibus

compra(idcompra, idpassageiro, idbilhete, valorpago)


idpassageiro referencia passageiro
idbilhete referencia bilhete

desconto(iddesconto, inicio_validade, fim_validade, valordesconto)

horario(idhorario, iddesconto, horario_saida, horario_chegada)


iddesconto referencia desconto
viagem_horario(idviagem, idhorario)
idviagem referencia viagem
idhorario referencia horario
CONSULTA

“Mostrar o nome do passageiro que fez mais viagens”

TABELA PASSAGEIROS

TABELA COMPRA
Observando a tabela, conclui-se que zenaide viajou 7 vezes, lucas 8 e pedro
5. Este resultado pode ser obtido pela seguinte consulta:

select passageiro.nome, count(passageiro.nome) AS


numeroviagens from passageiro, compra, bilhete where
passageiro.idpassageiro = compra.idpassageiro and
compra.idbilhete = bilhete.idbilhete
group by passageiro.nome order by
count(passageiro.nome) DESC

RESULTADO

OBS: utilizando limit 1, a tabela mostrará somente o


passageiro que mais viajou, que no caso é o lucas.

Vantagens do PostgreSQL
Uma das principais vantagens do PostgreSQL é o fato de ser
opensource e gratuito, mas existem outras, como:
*É multiplataforma
*Tem uma boa performance
*Integridade referencial e suporte a transações implementados nativamente,
diferente do MySQL
link do artigo: https://www.educacaoetecnologia.org/artigo/2011/06/09/quais-as-vantagens-de-
utilizar-postgresql/
FACILIDADES

*Interpretar a descrição do problema

DIFICULDADES
*Desenvolvimento do modelo ER
*Criação do modelo físico no banco de dados solicitado

Você também pode gostar