O sistema CARLOCA é um projeto desenvolvido como parte do módulo de Banco de Dados da plataforma ADA. O projeto visa gerenciar veículos, clientes e locações em uma rede de franquias, abordando requisitos funcionais específicos sem adentrar em questões relacionadas a pagamentos.
-
Modelagem de Carro:
✅ Um carro possui modelo, montadora, cor e versão. -
Cores Disponíveis:
✅ As cores de carro disponiveis são apenas branco, preto e prata. -
Categorias de Veículos:
✅ Existem várias categorias de veiculos (hatch, sedam compacto, sedam médio, SUV, etc...). -
Modalidade de Locação:
✅ Um cliente pode alugar um carro somente na modalidade "diária". -
Restrição de Locação por Cliente:
✅ Um cliente não pode alugar mais de um carro por vez. -
Exclusividade de Locação:
✅ Enquanto um carro estiver locado por um cliente não pode ser ofertado para outro. -
Histórico de Locações por Cliente:
✅ O sistema deve manter o histórico dos clientes que locaram determinado carro. -
Registro de Quilometragem:
✅ O sistema deve manter o histórico de quantos quilometros o cliente rodou com o carro bem como a quilometragem atual de cada um dos carros. -
Rastreamento de Localização:
✅ Existem várias unidades da fraquia CARLOCA o sistema deve saber onde o carro foi locado e onde foi devolvido cada veículo.
O banco de dados foi projetado considerando os princípios de normalização de dados. As principais tabelas incluem:
carro
: Contém informações sobre os veiculos;endereco
: Essa tabela centraliza informações como 'rua', 'cidade', 'cep', sendo referenciada nas tabelascliente
efranquia
de forma que os dados fiquem mais consistentes;cliente
: Contém informações dos clientes, não inclui campos de endereço diretamente na tabela, visando a normalização dos dados.franquia
: Contém informações das franquias, não inclui campos de endereço diretamente na tabela, visando a normalização dos dados, diferente da tabela cliente a tabela franquia na coluna id_cliente recebe uma constraint de 'unique key' para que uma franquia não consiga repetir o mesmo endereço de outra, garantido o relacionamento um para um com a tabela endereço.aluguel
: Mantém todas as informações necessarias sobre um determinado aluguel.
- Para criar o banco de dados, execute os scripts SQL fornecidos no arquivo
create.sql
; - Para inserção de dados execute os scripts SQL fornecidos no arquivo
insert.sql
, esse arquivo inclue informações ficticias apenas para implementação prática; - Para validar cada requisito funcional utilize as consultas de exemplo fornecidas no arquivo
select.sql
.